shvel-param.h
Go to the documentation of this file.
1 // Copyright (c) 2010-2016 The YP-Spur Authors, except where otherwise indicated.
2 //
3 // Permission is hereby granted, free of charge, to any person obtaining a copy
4 // of this software and associated documentation files (the "Software"), to
5 // deal in the Software without restriction, including without limitation the
6 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7 // sell copies of the Software, and to permit persons to whom the Software is
8 // furnished to do so, subject to the following conditions:
9 //
10 // The above copyright notice and this permission notice shall be included in
11 // all copies or substantial portions of the Software.
12 //
13 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
16 // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19 // SOFTWARE.
20 
21 #ifndef SHVEL_PARAM_H
22 #define SHVEL_PARAM_H
23 
24 #include <assert.h>
25 
26 typedef union
27 {
28  int integer;
29  char byte[4];
30 } Int_4Char;
31 
32 typedef union _short_2char
33 {
34  short integer;
35  char byte[2];
36 } Short_2Char;
37 
38 // typedef
39 enum
40 {
45  SERVO_LEVEL_POSITION, // not used
47 };
48 
49 typedef enum
50 {
101 
102 #ifdef static_assert
103 static_assert(PARAM_BLOCK0_END <= PARAM_servo, "Parameter enum overwrapped");
104 static_assert(PARAM_BLOCK1_END <= PARAM_io_dir, "Parameter enum overwrapped");
105 static_assert(PARAM_BLOCK2_END <= 255, "Parameter enum overflow");
106 #endif
107 
108 typedef enum
109 {
116 
117 typedef enum
118 {
121  ERROR_HALL_SEQ = 0x0002,
122  ERROR_HALL_ENC = 0x0004,
123  ERROR_WATCHDOG = 0x0008,
124  ERROR_EEPROM = 0x0010,
125  ERROR_INTERNAL = 0x0020,
127 
128 #define MOTOR_ID_BROADCAST 0x7E
129 
130 #endif // SHVEL_PARAM_H
PARAM_p_toq_offset
@ PARAM_p_toq_offset
Definition: shvel-param.h:73
INT_enc_index_rise
@ INT_enc_index_rise
Definition: shvel-param.h:110
PARAM_io_dir
@ PARAM_io_dir
Definition: shvel-param.h:92
PARAM_p_E
@ PARAM_p_E
Definition: shvel-param.h:63
PARAM_io_data
@ PARAM_io_data
Definition: shvel-param.h:93
PARAM_toq_max
@ PARAM_toq_max
Definition: shvel-param.h:69
PARAM_toq_min
@ PARAM_toq_min
Definition: shvel-param.h:70
YPSpur_shvel_param
YPSpur_shvel_param
Definition: shvel-param.h:49
PARAM_enc_div
@ PARAM_enc_div
Definition: shvel-param.h:82
PARAM_heartbeat
@ PARAM_heartbeat
Definition: shvel-param.h:90
ERROR_NONE
@ ERROR_NONE
Definition: shvel-param.h:119
PARAM_enc_type
@ PARAM_enc_type
Definition: shvel-param.h:80
INT_error_state
@ INT_error_state
Definition: shvel-param.h:112
PARAM_ad_mask
@ PARAM_ad_mask
Definition: shvel-param.h:94
SERVO_LEVEL_OPENFREE
@ SERVO_LEVEL_OPENFREE
Definition: shvel-param.h:46
PARAM_dump
@ PARAM_dump
Definition: shvel-param.h:98
PARAM_p_ki
@ PARAM_p_ki
Definition: shvel-param.h:53
PARAM_ping
@ PARAM_ping
Definition: shvel-param.h:97
PARAM_enc_denominator
@ PARAM_enc_denominator
Definition: shvel-param.h:83
PARAM_phase_offset
@ PARAM_phase_offset
Definition: shvel-param.h:95
PARAM_p_fr_wminus
@ PARAM_p_fr_wminus
Definition: shvel-param.h:58
Int_4Char
Definition: shvel-param.h:26
INT_ping_response
@ INT_ping_response
Definition: shvel-param.h:113
PARAM_w_ref_highprec
@ PARAM_w_ref_highprec
Definition: shvel-param.h:52
PARAM_p_B
@ PARAM_p_B
Definition: shvel-param.h:60
PARAM_lr_cutoff_vel
@ PARAM_lr_cutoff_vel
Definition: shvel-param.h:85
ERROR_INTERNAL
@ ERROR_INTERNAL
Definition: shvel-param.h:125
ERROR_LOW_VOLTAGE
@ ERROR_LOW_VOLTAGE
Definition: shvel-param.h:120
PARAM_BLOCK2_END
@ PARAM_BLOCK2_END
Definition: shvel-param.h:99
PARAM_p_pi_ki
@ PARAM_p_pi_ki
Definition: shvel-param.h:66
PARAM_pwm_max
@ PARAM_pwm_max
Definition: shvel-param.h:67
PARAM_int_min
@ PARAM_int_min
Definition: shvel-param.h:72
ERROR_HALL_ENC
@ ERROR_HALL_ENC
Definition: shvel-param.h:122
PARAM_p_D
@ PARAM_p_D
Definition: shvel-param.h:62
PARAM_p_fr_minus
@ PARAM_p_fr_minus
Definition: shvel-param.h:57
INT_debug_dump
@ INT_debug_dump
Definition: shvel-param.h:114
ERROR_HALL_SEQ
@ ERROR_HALL_SEQ
Definition: shvel-param.h:121
SERVO_LEVEL_TORQUE
@ SERVO_LEVEL_TORQUE
Definition: shvel-param.h:43
Short_2Char
union _short_2char Short_2Char
INT_enc_index_fall
@ INT_enc_index_fall
Definition: shvel-param.h:111
PARAM_BLOCK0_END
@ PARAM_BLOCK0_END
Definition: shvel-param.h:87
_short_2char::integer
short integer
Definition: shvel-param.h:34
PARAM_p_fr_plus
@ PARAM_p_fr_plus
Definition: shvel-param.h:55
PARAM_w_ref
@ PARAM_w_ref
Definition: shvel-param.h:51
PARAM_protocol_version
@ PARAM_protocol_version
Definition: shvel-param.h:96
PARAM_p_A
@ PARAM_p_A
Definition: shvel-param.h:59
PARAM_p_inertia_cross
@ PARAM_p_inertia_cross
Definition: shvel-param.h:79
PARAM_toq_limit
@ PARAM_toq_limit
Definition: shvel-param.h:74
YPSpur_shvel_interrupt
YPSpur_shvel_interrupt
Definition: shvel-param.h:108
SERVO_LEVEL_COUNTER
@ SERVO_LEVEL_COUNTER
Definition: shvel-param.h:42
SERVO_LEVEL_STOP
@ SERVO_LEVEL_STOP
Definition: shvel-param.h:41
SERVO_LEVEL_POSITION
@ SERVO_LEVEL_POSITION
Definition: shvel-param.h:45
_short_2char
Definition: shvel-param.h:32
PARAM_p_fr_wplus
@ PARAM_p_fr_wplus
Definition: shvel-param.h:56
ERROR_EEPROM
@ ERROR_EEPROM
Definition: shvel-param.h:124
PARAM_control_cycle
@ PARAM_control_cycle
Definition: shvel-param.h:81
PARAM_enc_rev
@ PARAM_enc_rev
Definition: shvel-param.h:75
PARAM_pwm_min
@ PARAM_pwm_min
Definition: shvel-param.h:68
PARAM_vsrc
@ PARAM_vsrc
Definition: shvel-param.h:77
PARAM_p_kv
@ PARAM_p_kv
Definition: shvel-param.h:54
PARAM_servo
@ PARAM_servo
Definition: shvel-param.h:88
Int_4Char::integer
int integer
Definition: shvel-param.h:28
PARAM_vmin
@ PARAM_vmin
Definition: shvel-param.h:86
SERVO_LEVEL_VELOCITY
@ SERVO_LEVEL_VELOCITY
Definition: shvel-param.h:44
PARAM_p_C
@ PARAM_p_C
Definition: shvel-param.h:61
ERROR_WATCHDOG
@ ERROR_WATCHDOG
Definition: shvel-param.h:123
PARAM_p_pi_kp
@ PARAM_p_pi_kp
Definition: shvel-param.h:65
PARAM_p_F
@ PARAM_p_F
Definition: shvel-param.h:64
PARAM_hall_delay_factor
@ PARAM_hall_delay_factor
Definition: shvel-param.h:84
PARAM_p_inertia_self
@ PARAM_p_inertia_self
Definition: shvel-param.h:78
PARAM_BLOCK1_END
@ PARAM_BLOCK1_END
Definition: shvel-param.h:91
PARAM_watch_dog_limit
@ PARAM_watch_dog_limit
Definition: shvel-param.h:89
PARAM_motor_phase
@ PARAM_motor_phase
Definition: shvel-param.h:76
PARAM_int_max
@ PARAM_int_max
Definition: shvel-param.h:71
YPSpur_shvel_error_state
YPSpur_shvel_error_state
Definition: shvel-param.h:117


yp-spur
Author(s):
autogenerated on Fri Oct 20 2023 03:02:42