Main Page
Classes
Files
File List
File Members
include
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
{
41
SERVO_LEVEL_STOP
= 0,
42
SERVO_LEVEL_COUNTER
,
43
SERVO_LEVEL_TORQUE
,
44
SERVO_LEVEL_VELOCITY
,
45
SERVO_LEVEL_POSITION
,
// not used
46
SERVO_LEVEL_OPENFREE
,
47
};
48
49
typedef
enum
50
{
51
PARAM_w_ref
= 0,
52
PARAM_w_ref_highprec
,
53
PARAM_p_ki
,
54
PARAM_p_kv
,
55
PARAM_p_fr_plus
,
56
PARAM_p_fr_wplus
,
57
PARAM_p_fr_minus
,
58
PARAM_p_fr_wminus
,
59
PARAM_p_A
,
60
PARAM_p_B
,
61
PARAM_p_C
,
62
PARAM_p_D
,
63
PARAM_p_E
,
64
PARAM_p_F
,
65
PARAM_p_pi_kp
,
66
PARAM_p_pi_ki
,
67
PARAM_pwm_max
,
68
PARAM_pwm_min
,
69
PARAM_toq_max
,
70
PARAM_toq_min
,
71
PARAM_int_max
,
72
PARAM_int_min
,
73
PARAM_p_toq_offset
,
74
PARAM_toq_limit
,
75
PARAM_enc_rev
,
76
PARAM_motor_phase
,
77
PARAM_vsrc
,
78
PARAM_p_inertia_self
,
79
PARAM_p_inertia_cross
,
80
PARAM_enc_type
,
81
PARAM_control_cycle
,
82
PARAM_enc_div
,
83
PARAM_enc_denominator
,
84
PARAM_hall_delay_factor
,
85
PARAM_lr_cutoff_vel
,
86
PARAM_vmin
,
87
PARAM_BLOCK0_END
,
88
PARAM_servo
= 64,
89
PARAM_watch_dog_limit
,
90
PARAM_heartbeat
,
91
PARAM_BLOCK1_END
,
92
PARAM_io_dir
= 96,
93
PARAM_io_data
,
94
PARAM_ad_mask
,
95
PARAM_phase_offset
,
96
PARAM_protocol_version
,
97
PARAM_ping
,
98
PARAM_dump
,
99
PARAM_BLOCK2_END
,
100
}
YPSpur_shvel_param
;
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
{
110
INT_enc_index_rise
= 0,
111
INT_enc_index_fall
,
112
INT_error_state
,
113
INT_ping_response
,
114
INT_debug_dump
,
115
}
YPSpur_shvel_interrupt
;
116
117
typedef
enum
118
{
119
ERROR_NONE
= 0,
120
ERROR_LOW_VOLTAGE
= 0x0001,
121
ERROR_HALL_SEQ
= 0x0002,
122
ERROR_HALL_ENC
= 0x0004,
123
ERROR_WATCHDOG
= 0x0008,
124
ERROR_EEPROM
= 0x0010,
125
ERROR_INTERNAL
= 0x0020,
126
}
YPSpur_shvel_error_state
;
127
128
#define MOTOR_ID_BROADCAST 0x7E
129
130
#endif // SHVEL_PARAM_H
INT_error_state
Definition:
shvel-param.h:112
PARAM_dump
Definition:
shvel-param.h:98
SERVO_LEVEL_STOP
Definition:
shvel-param.h:41
PARAM_lr_cutoff_vel
Definition:
shvel-param.h:85
INT_enc_index_fall
Definition:
shvel-param.h:111
SERVO_LEVEL_TORQUE
Definition:
shvel-param.h:43
PARAM_motor_phase
Definition:
shvel-param.h:76
PARAM_p_F
Definition:
shvel-param.h:64
SERVO_LEVEL_OPENFREE
Definition:
shvel-param.h:46
INT_debug_dump
Definition:
shvel-param.h:114
PARAM_p_fr_wminus
Definition:
shvel-param.h:58
PARAM_p_kv
Definition:
shvel-param.h:54
PARAM_ping
Definition:
shvel-param.h:97
PARAM_enc_denominator
Definition:
shvel-param.h:83
_short_2char::integer
short integer
Definition:
shvel-param.h:34
PARAM_ad_mask
Definition:
shvel-param.h:94
PARAM_p_ki
Definition:
shvel-param.h:53
PARAM_p_C
Definition:
shvel-param.h:61
PARAM_toq_max
Definition:
shvel-param.h:69
Int_4Char::integer
int integer
Definition:
shvel-param.h:28
PARAM_p_pi_kp
Definition:
shvel-param.h:65
PARAM_w_ref_highprec
Definition:
shvel-param.h:52
PARAM_p_B
Definition:
shvel-param.h:60
PARAM_BLOCK0_END
Definition:
shvel-param.h:87
PARAM_io_data
Definition:
shvel-param.h:93
PARAM_BLOCK1_END
Definition:
shvel-param.h:91
PARAM_p_fr_wplus
Definition:
shvel-param.h:56
Short_2Char
union _short_2char Short_2Char
YPSpur_shvel_param
YPSpur_shvel_param
Definition:
shvel-param.h:49
_short_2char::byte
char byte[2]
Definition:
shvel-param.h:35
PARAM_p_inertia_cross
Definition:
shvel-param.h:79
YPSpur_shvel_interrupt
YPSpur_shvel_interrupt
Definition:
shvel-param.h:108
PARAM_p_fr_plus
Definition:
shvel-param.h:55
PARAM_p_pi_ki
Definition:
shvel-param.h:66
YPSpur_shvel_error_state
YPSpur_shvel_error_state
Definition:
shvel-param.h:117
PARAM_p_A
Definition:
shvel-param.h:59
SERVO_LEVEL_POSITION
Definition:
shvel-param.h:45
PARAM_phase_offset
Definition:
shvel-param.h:95
PARAM_watch_dog_limit
Definition:
shvel-param.h:89
PARAM_p_D
Definition:
shvel-param.h:62
INT_ping_response
Definition:
shvel-param.h:113
ERROR_LOW_VOLTAGE
Definition:
shvel-param.h:120
PARAM_io_dir
Definition:
shvel-param.h:92
PARAM_control_cycle
Definition:
shvel-param.h:81
PARAM_vmin
Definition:
shvel-param.h:86
SERVO_LEVEL_COUNTER
Definition:
shvel-param.h:42
INT_enc_index_rise
Definition:
shvel-param.h:110
PARAM_BLOCK2_END
Definition:
shvel-param.h:99
PARAM_w_ref
Definition:
shvel-param.h:51
PARAM_enc_rev
Definition:
shvel-param.h:75
ERROR_NONE
Definition:
shvel-param.h:119
PARAM_pwm_min
Definition:
shvel-param.h:68
PARAM_enc_type
Definition:
shvel-param.h:80
PARAM_heartbeat
Definition:
shvel-param.h:90
PARAM_vsrc
Definition:
shvel-param.h:77
PARAM_protocol_version
Definition:
shvel-param.h:96
PARAM_servo
Definition:
shvel-param.h:88
ERROR_HALL_SEQ
Definition:
shvel-param.h:121
PARAM_p_toq_offset
Definition:
shvel-param.h:73
ERROR_INTERNAL
Definition:
shvel-param.h:125
_short_2char
Definition:
shvel-param.h:32
PARAM_int_max
Definition:
shvel-param.h:71
PARAM_p_inertia_self
Definition:
shvel-param.h:78
ERROR_EEPROM
Definition:
shvel-param.h:124
PARAM_hall_delay_factor
Definition:
shvel-param.h:84
PARAM_pwm_max
Definition:
shvel-param.h:67
PARAM_int_min
Definition:
shvel-param.h:72
PARAM_toq_limit
Definition:
shvel-param.h:74
ERROR_HALL_ENC
Definition:
shvel-param.h:122
PARAM_p_fr_minus
Definition:
shvel-param.h:57
SERVO_LEVEL_VELOCITY
Definition:
shvel-param.h:44
PARAM_p_E
Definition:
shvel-param.h:63
ERROR_WATCHDOG
Definition:
shvel-param.h:123
PARAM_toq_min
Definition:
shvel-param.h:70
PARAM_enc_div
Definition:
shvel-param.h:82
Int_4Char
Definition:
shvel-param.h:26
yp-spur
Author(s):
autogenerated on Fri May 7 2021 02:12:17