Odrive cansimple interface
See also original odrive docs:
# Example on how to use the DBC file to encode and decode messages
import can
from odrive_can import get_dbc
from odrive_can.odrive import CanMsg
db = get_dbc() # load default DBC
# get message
db_msg = db.get_message_by_name("Axis0_Heartbeat")
print("Message:", db_msg)
# Both numeric and string values are accepted, choices are converted to integers
data = db_msg.encode(
{
"Axis_Error": "NONE",
"Axis_State": 11,
"Motor_Error_Flag": 0,
"Encoder_Error_Flag": 0,
"Controller_Error_Flag": 0,
"Trajectory_Done_Flag": 0,
}
)
print("Data:", data)
# decode message to dict
data_dict = db_msg.decode(data)
print("Decoded:", data_dict)
print("Frame ID:", db_msg.frame_id)
# get numeric value for "Axis_Error"
axis_error_value = data_dict["Axis_Error"]
# create CanMsg
msg = can.Message(arbitration_id=db_msg.frame_id, data=data)
print(f"{msg=}")
can_msg = CanMsg(msg)
print(f"{can_msg=}")
output:
Message: message('Axis0_Heartbeat', 0x1, False, 8, None)
Encoded: b'\x01\x00\x00\x00\x0b\x00\x00\x00'
Decoded: {'Axis_Error': 'INVALID_STATE', 'Axis_State': 'HOMING', 'Motor_Error_Flag': 0, 'Encoder_Error_Flag': 0, 'Controller_Error_Flag': 0, 'Trajectory_Done_Flag': 0}
generated from dbc file by scripts/gen_dbc_docs.py
odrive-cansimple-0.5.6 interface
ID: 1 - Axis0_Heartbeat
- Name: Axis0_Heartbeat
- Length: 8 bytes
- Sender: ['ODrive_Axis0']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
Axis_Error |
0 |
32 |
1 |
0 |
None |
None |
|
Master |
0: NONE, 1: INVALID_STATE, 64: MOTOR_FAILED, 128: SENSORLESS_ESTIMATOR_FAILED, 256: ENCODER_FAILED, 512: CONTROLLER_FAILED, 2048: WATCHDOG_TIMER_EXPIRED, 4096: MIN_ENDSTOP_PRESSED, 8192: MAX_ENDSTOP_PRESSED, 16384: ESTOP_REQUESTED, 131072: HOMING_WITHOUT_ENDSTOP, 262144: OVER_TEMP, 524288: UNKNOWN_POSITION |
Axis_State |
32 |
8 |
1 |
0 |
None |
None |
|
Master |
0: UNDEFINED, 1: IDLE, 2: STARTUP_SEQUENCE, 3: FULL_CALIBRATION_SEQUENCE, 4: MOTOR_CALIBRATION, 6: ENCODER_INDEX_SEARCH, 7: ENCODER_OFFSET_CALIBRATION, 8: CLOSED_LOOP_CONTROL, 9: LOCKIN_SPIN, 10: ENCODER_DIR_FIND, 11: HOMING, 12: ENCODER_HALL_POLARITY_CALIBRATION, 13: ENCODER_HALL_PHASE_CALIBRATION |
Motor_Error_Flag |
40 |
1 |
1 |
0 |
None |
None |
|
Master |
|
Encoder_Error_Flag |
48 |
1 |
1 |
0 |
None |
None |
|
Master |
|
Controller_Error_Flag |
56 |
1 |
1 |
0 |
None |
None |
|
Master |
|
Trajectory_Done_Flag |
63 |
1 |
1 |
0 |
None |
None |
|
Master |
|
ID: 3 - Axis0_Get_Motor_Error
- Name: Axis0_Get_Motor_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis0']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
Motor_Error |
0 |
32 |
1 |
0 |
None |
None |
|
Master |
0: NONE, 1: PHASE_RESISTANCE_OUT_OF_RANGE, 2: PHASE_INDUCTANCE_OUT_OF_RANGE, 8: DRV_FAULT, 16: CONTROL_DEADLINE_MISSED, 128: MODULATION_MAGNITUDE, 1024: CURRENT_SENSE_SATURATION, 4096: CURRENT_LIMIT_VIOLATION, 65536: MODULATION_IS_NAN, 131072: MOTOR_THERMISTOR_OVER_TEMP, 262144: FET_THERMISTOR_OVER_TEMP, 524288: TIMER_UPDATE_MISSED, 1048576: CURRENT_MEASUREMENT_UNAVAILABLE, 2097152: CONTROLLER_FAILED, 4194304: I_BUS_OUT_OF_RANGE, 8388608: BRAKE_RESISTOR_DISARMED, 16777216: SYSTEM_LEVEL, 33554432: BAD_TIMING, 67108864: UNKNOWN_PHASE_ESTIMATE, 134217728: UNKNOWN_PHASE_VEL, 268435456: UNKNOWN_TORQUE, 536870912: UNKNOWN_CURRENT_COMMAND, 1073741824: UNKNOWN_CURRENT_MEASUREMENT, 2147483648: UNKNOWN_VBUS_VOLTAGE, 4294967296: UNKNOWN_VOLTAGE_COMMAND, 8589934592: UNKNOWN_GAINS, 17179869184: CONTROLLER_INITIALIZING, 34359738368: UNBALANCED_PHASES |
ID: 4 - Axis0_Get_Encoder_Error
- Name: Axis0_Get_Encoder_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis0']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
Encoder_Error |
0 |
32 |
1 |
0 |
None |
None |
|
Master |
0: NONE, 1: UNSTABLE_GAIN, 2: CPR_POLEPAIRS_MISMATCH, 4: NO_RESPONSE, 8: UNSUPPORTED_ENCODER_MODE, 16: ILLEGAL_HALL_STATE, 32: INDEX_NOT_FOUND_YET, 64: ABS_SPI_TIMEOUT, 128: ABS_SPI_COM_FAIL, 256: ABS_SPI_NOT_READY, 512: HALL_NOT_CALIBRATED_YET |
ID: 5 - Axis0_Get_Sensorless_Error
- Name: Axis0_Get_Sensorless_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis0']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
Sensorless_Error |
0 |
32 |
1 |
0 |
None |
None |
|
Master |
0: NONE, 1: UNSTABLE_GAIN, 2: UNKNOWN_CURRENT_MEASUREMENT |
ID: 6 - Axis0_Set_Axis_Node_ID
- Name: Axis0_Set_Axis_Node_ID
- Length: 8 bytes
- Sender: ['Master']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
Axis_Node_ID |
0 |
32 |
1 |
0 |
None |
None |
|
ODrive_Axis0 |
|
ID: 7 - Axis0_Set_Axis_State
- Name: Axis0_Set_Axis_State
- Length: 8 bytes
- Sender: ['Master']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
Axis_Requested_State |
0 |
32 |
1 |
0 |
None |
None |
|
ODrive_Axis0 |
0: UNDEFINED, 1: IDLE, 2: STARTUP_SEQUENCE, 3: FULL_CALIBRATION_SEQUENCE, 4: MOTOR_CALIBRATION, 6: ENCODER_INDEX_SEARCH, 7: ENCODER_OFFSET_CALIBRATION, 8: CLOSED_LOOP_CONTROL, 9: LOCKIN_SPIN, 10: ENCODER_DIR_FIND, 11: HOMING, 12: ENCODER_HALL_POLARITY_CALIBRATION, 13: ENCODER_HALL_PHASE_CALIBRATION |
ID: 9 - Axis0_Get_Encoder_Estimates
- Name: Axis0_Get_Encoder_Estimates
- Length: 8 bytes
- Sender: ['ODrive_Axis0']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
Pos_Estimate |
0 |
32 |
1 |
0 |
None |
None |
rev |
Master |
|
Vel_Estimate |
32 |
32 |
1 |
0 |
None |
None |
rev/s |
Master |
|
ID: 10 - Axis0_Get_Encoder_Count
- Name: Axis0_Get_Encoder_Count
- Length: 8 bytes
- Sender: ['ODrive_Axis0']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
Shadow_Count |
0 |
32 |
1 |
0 |
None |
None |
counts |
Master |
|
Count_in_CPR |
32 |
32 |
1 |
0 |
None |
None |
counts |
Master |
|
ID: 11 - Axis0_Set_Controller_Mode
- Name: Axis0_Set_Controller_Mode
- Length: 8 bytes
- Sender: ['Master']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
Control_Mode |
0 |
32 |
1 |
0 |
None |
None |
|
ODrive_Axis0 |
0: VOLTAGE_CONTROL, 1: TORQUE_CONTROL, 2: VELOCITY_CONTROL, 3: POSITION_CONTROL |
Input_Mode |
32 |
32 |
1 |
0 |
None |
None |
|
ODrive_Axis0 |
0: INACTIVE, 1: PASSTHROUGH, 2: VEL_RAMP, 3: POS_FILTER, 4: MIX_CHANNELS, 5: TRAP_TRAJ, 6: TORQUE_RAMP, 7: MIRROR, 8: TUNING |
- Name: Axis0_Set_Input_Pos
- Length: 8 bytes
- Sender: ['Master']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
Input_Pos |
0 |
32 |
1 |
0 |
None |
None |
rev |
ODrive_Axis0 |
|
Vel_FF |
32 |
16 |
0.001 |
0 |
None |
None |
rev/s |
ODrive_Axis0 |
|
Torque_FF |
48 |
16 |
0.001 |
0 |
None |
None |
Nm |
ODrive_Axis0 |
|
- Name: Axis0_Set_Input_Vel
- Length: 8 bytes
- Sender: ['Master']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
Input_Vel |
0 |
32 |
1 |
0 |
None |
None |
rev |
ODrive_Axis0 |
|
Input_Torque_FF |
32 |
32 |
1 |
0 |
None |
None |
rev/s |
ODrive_Axis0 |
|
- Name: Axis0_Set_Input_Torque
- Length: 8 bytes
- Sender: ['Master']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
Input_Torque |
0 |
32 |
1 |
0 |
None |
None |
Nm |
ODrive_Axis0 |
|
ID: 15 - Axis0_Set_Limits
- Name: Axis0_Set_Limits
- Length: 8 bytes
- Sender: ['Master']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
Velocity_Limit |
0 |
32 |
1 |
0 |
None |
None |
rev/s |
ODrive_Axis0 |
|
Current_Limit |
32 |
32 |
1 |
0 |
None |
None |
A |
ODrive_Axis0 |
|
ID: 16 - Axis0_Start_Anticogging
- Name: Axis0_Start_Anticogging
- Length: 0 bytes
- Sender: ['Master']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
|
|
|
|
|
|
|
|
|
|
ID: 17 - Axis0_Set_Traj_Vel_Limit
- Name: Axis0_Set_Traj_Vel_Limit
- Length: 8 bytes
- Sender: ['Master']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
Traj_Vel_Limit |
0 |
32 |
1 |
0 |
None |
None |
rev/s |
ODrive_Axis0 |
|
ID: 18 - Axis0_Set_Traj_Accel_Limits
- Name: Axis0_Set_Traj_Accel_Limits
- Length: 8 bytes
- Sender: ['Master']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
Traj_Accel_Limit |
0 |
32 |
1 |
0 |
None |
None |
rev/s^2 |
ODrive_Axis0 |
|
Traj_Decel_Limit |
32 |
32 |
1 |
0 |
None |
None |
rev/s^2 |
ODrive_Axis0 |
|
ID: 19 - Axis0_Set_Traj_Inertia
- Name: Axis0_Set_Traj_Inertia
- Length: 8 bytes
- Sender: ['Master']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
Traj_Inertia |
0 |
32 |
1 |
0 |
None |
None |
Nm / (rev/s^2) |
ODrive_Axis0 |
|
ID: 20 - Axis0_Get_Iq
- Name: Axis0_Get_Iq
- Length: 8 bytes
- Sender: ['ODrive_Axis0']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
Iq_Setpoint |
0 |
32 |
1 |
0 |
None |
None |
A |
Master |
|
Iq_Measured |
32 |
32 |
1 |
0 |
None |
None |
A |
Master |
|
ID: 21 - Axis0_Get_Sensorless_Estimates
- Name: Axis0_Get_Sensorless_Estimates
- Length: 8 bytes
- Sender: ['ODrive_Axis0']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
Sensorless_Pos_Estimate |
0 |
32 |
1 |
0 |
None |
None |
rev |
Master |
|
Sensorless_Vel_Estimate |
32 |
32 |
1 |
0 |
None |
None |
rev/s |
Master |
|
ID: 22 - Axis0_Reboot
- Name: Axis0_Reboot
- Length: 0 bytes
- Sender: ['Master']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
|
|
|
|
|
|
|
|
|
|
ID: 23 - Axis0_Get_Bus_Voltage_Current
- Name: Axis0_Get_Bus_Voltage_Current
- Length: 8 bytes
- Sender: ['ODrive_Axis0']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
Bus_Voltage |
0 |
32 |
1 |
0 |
None |
None |
V |
Master |
|
Bus_Current |
32 |
32 |
1 |
0 |
None |
None |
A |
Master |
|
ID: 24 - Axis0_Clear_Errors
- Name: Axis0_Clear_Errors
- Length: 0 bytes
- Sender: ['Master']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
|
|
|
|
|
|
|
|
|
|
ID: 25 - Axis0_Set_Linear_Count
- Name: Axis0_Set_Linear_Count
- Length: 8 bytes
- Sender: ['Master']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
Position |
0 |
32 |
1 |
0 |
None |
None |
counts |
ODrive_Axis0 |
|
ID: 26 - Axis0_Set_Pos_Gain
- Name: Axis0_Set_Pos_Gain
- Length: 8 bytes
- Sender: ['Master']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
Pos_Gain |
0 |
32 |
1 |
0 |
None |
None |
(rev/s) / rev |
ODrive_Axis0 |
|
ID: 27 - Axis0_Set_Vel_Gains
- Name: Axis0_Set_Vel_Gains
- Length: 8 bytes
- Sender: ['Master']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
Vel_Gain |
0 |
32 |
1 |
0 |
None |
None |
Nm / (rev/s) |
ODrive_Axis0 |
|
Vel_Integrator_Gain |
32 |
32 |
1 |
0 |
None |
None |
(Nm / (rev/s)) / s |
ODrive_Axis0 |
|
ID: 28 - Axis0_Get_ADC_Voltage
- Name: Axis0_Get_ADC_Voltage
- Length: 8 bytes
- Sender: ['ODrive_Axis0']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
ADC_Voltage |
0 |
32 |
1 |
0 |
None |
None |
V |
Master |
|
ID: 29 - Axis0_Get_Controller_Error
- Name: Axis0_Get_Controller_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis0']
Signal Name |
Start Bit |
Length |
Factor |
Offset |
Min Value |
Max Value |
Unit |
Receiver |
Choices |
Controller_Error |
0 |
32 |
1 |
0 |
None |
None |
|
Master |
0: NONE, 1: OVERSPEED, 2: INVALID_INPUT_MODE, 4: UNSTABLE_GAIN, 8: INVALID_MIRROR_AXIS, 16: INVALID_LOAD_ENCODER, 32: INVALID_ESTIMATE, 64: INVALID_CIRCULAR_RANGE, 128: SPINOUT_DETECTED |
ID: 33 - Axis1_Heartbeat
- Name: Axis1_Heartbeat
- Length: 8 bytes
- Sender: ['ODrive_Axis1']
ID: 35 - Axis1_Get_Motor_Error
- Name: Axis1_Get_Motor_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis1']
ID: 36 - Axis1_Get_Encoder_Error
- Name: Axis1_Get_Encoder_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis1']
ID: 37 - Axis1_Get_Sensorless_Error
- Name: Axis1_Get_Sensorless_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis1']
ID: 38 - Axis1_Set_Axis_Node_ID
- Name: Axis1_Set_Axis_Node_ID
- Length: 8 bytes
- Sender: ['Master']
ID: 39 - Axis1_Set_Axis_State
- Name: Axis1_Set_Axis_State
- Length: 8 bytes
- Sender: ['Master']
ID: 41 - Axis1_Get_Encoder_Estimates
- Name: Axis1_Get_Encoder_Estimates
- Length: 8 bytes
- Sender: ['ODrive_Axis1']
ID: 42 - Axis1_Get_Encoder_Count
- Name: Axis1_Get_Encoder_Count
- Length: 8 bytes
- Sender: ['ODrive_Axis1']
ID: 43 - Axis1_Set_Controller_Mode
- Name: Axis1_Set_Controller_Mode
- Length: 8 bytes
- Sender: ['Master']
- Name: Axis1_Set_Input_Pos
- Length: 8 bytes
- Sender: ['Master']
- Name: Axis1_Set_Input_Vel
- Length: 8 bytes
- Sender: ['Master']
- Name: Axis1_Set_Input_Torque
- Length: 8 bytes
- Sender: ['Master']
ID: 47 - Axis1_Set_Limits
- Name: Axis1_Set_Limits
- Length: 8 bytes
- Sender: ['Master']
ID: 48 - Axis1_Start_Anticogging
- Name: Axis1_Start_Anticogging
- Length: 0 bytes
- Sender: ['Master']
ID: 49 - Axis1_Set_Traj_Vel_Limit
- Name: Axis1_Set_Traj_Vel_Limit
- Length: 8 bytes
- Sender: ['Master']
ID: 50 - Axis1_Set_Traj_Accel_Limits
- Name: Axis1_Set_Traj_Accel_Limits
- Length: 8 bytes
- Sender: ['Master']
ID: 51 - Axis1_Set_Traj_Inertia
- Name: Axis1_Set_Traj_Inertia
- Length: 8 bytes
- Sender: ['Master']
ID: 52 - Axis1_Get_Iq
- Name: Axis1_Get_Iq
- Length: 8 bytes
- Sender: ['ODrive_Axis1']
ID: 53 - Axis1_Get_Sensorless_Estimates
- Name: Axis1_Get_Sensorless_Estimates
- Length: 8 bytes
- Sender: ['ODrive_Axis1']
ID: 54 - Axis1_Reboot
- Name: Axis1_Reboot
- Length: 0 bytes
- Sender: ['Master']
ID: 55 - Axis1_Get_Bus_Voltage_Current
- Name: Axis1_Get_Bus_Voltage_Current
- Length: 8 bytes
- Sender: ['ODrive_Axis1']
ID: 56 - Axis1_Clear_Errors
- Name: Axis1_Clear_Errors
- Length: 0 bytes
- Sender: ['Master']
ID: 57 - Axis1_Set_Linear_Count
- Name: Axis1_Set_Linear_Count
- Length: 8 bytes
- Sender: ['Master']
ID: 58 - Axis1_Set_Pos_Gain
- Name: Axis1_Set_Pos_Gain
- Length: 8 bytes
- Sender: ['Master']
ID: 59 - Axis1_Set_Vel_Gains
- Name: Axis1_Set_Vel_Gains
- Length: 8 bytes
- Sender: ['Master']
ID: 60 - Axis1_Get_ADC_Voltage
- Name: Axis1_Get_ADC_Voltage
- Length: 8 bytes
- Sender: ['ODrive_Axis1']
ID: 61 - Axis1_Get_Controller_Error
- Name: Axis1_Get_Controller_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis1']
ID: 65 - Axis2_Heartbeat
- Name: Axis2_Heartbeat
- Length: 8 bytes
- Sender: ['ODrive_Axis2']
ID: 67 - Axis2_Get_Motor_Error
- Name: Axis2_Get_Motor_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis2']
ID: 68 - Axis2_Get_Encoder_Error
- Name: Axis2_Get_Encoder_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis2']
ID: 69 - Axis2_Get_Sensorless_Error
- Name: Axis2_Get_Sensorless_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis2']
ID: 70 - Axis2_Set_Axis_Node_ID
- Name: Axis2_Set_Axis_Node_ID
- Length: 8 bytes
- Sender: ['Master']
ID: 71 - Axis2_Set_Axis_State
- Name: Axis2_Set_Axis_State
- Length: 8 bytes
- Sender: ['Master']
ID: 73 - Axis2_Get_Encoder_Estimates
- Name: Axis2_Get_Encoder_Estimates
- Length: 8 bytes
- Sender: ['ODrive_Axis2']
ID: 74 - Axis2_Get_Encoder_Count
- Name: Axis2_Get_Encoder_Count
- Length: 8 bytes
- Sender: ['ODrive_Axis2']
ID: 75 - Axis2_Set_Controller_Mode
- Name: Axis2_Set_Controller_Mode
- Length: 8 bytes
- Sender: ['Master']
- Name: Axis2_Set_Input_Pos
- Length: 8 bytes
- Sender: ['Master']
- Name: Axis2_Set_Input_Vel
- Length: 8 bytes
- Sender: ['Master']
- Name: Axis2_Set_Input_Torque
- Length: 8 bytes
- Sender: ['Master']
ID: 79 - Axis2_Set_Limits
- Name: Axis2_Set_Limits
- Length: 8 bytes
- Sender: ['Master']
ID: 80 - Axis2_Start_Anticogging
- Name: Axis2_Start_Anticogging
- Length: 0 bytes
- Sender: ['Master']
ID: 81 - Axis2_Set_Traj_Vel_Limit
- Name: Axis2_Set_Traj_Vel_Limit
- Length: 8 bytes
- Sender: ['Master']
ID: 82 - Axis2_Set_Traj_Accel_Limits
- Name: Axis2_Set_Traj_Accel_Limits
- Length: 8 bytes
- Sender: ['Master']
ID: 83 - Axis2_Set_Traj_Inertia
- Name: Axis2_Set_Traj_Inertia
- Length: 8 bytes
- Sender: ['Master']
ID: 84 - Axis2_Get_Iq
- Name: Axis2_Get_Iq
- Length: 8 bytes
- Sender: ['ODrive_Axis2']
ID: 85 - Axis2_Get_Sensorless_Estimates
- Name: Axis2_Get_Sensorless_Estimates
- Length: 8 bytes
- Sender: ['ODrive_Axis2']
ID: 86 - Axis2_Reboot
- Name: Axis2_Reboot
- Length: 0 bytes
- Sender: ['Master']
ID: 87 - Axis2_Get_Bus_Voltage_Current
- Name: Axis2_Get_Bus_Voltage_Current
- Length: 8 bytes
- Sender: ['ODrive_Axis2']
ID: 88 - Axis2_Clear_Errors
- Name: Axis2_Clear_Errors
- Length: 0 bytes
- Sender: ['Master']
ID: 89 - Axis2_Set_Linear_Count
- Name: Axis2_Set_Linear_Count
- Length: 8 bytes
- Sender: ['Master']
ID: 90 - Axis2_Set_Pos_Gain
- Name: Axis2_Set_Pos_Gain
- Length: 8 bytes
- Sender: ['Master']
ID: 91 - Axis2_Set_Vel_Gains
- Name: Axis2_Set_Vel_Gains
- Length: 8 bytes
- Sender: ['Master']
ID: 92 - Axis2_Get_ADC_Voltage
- Name: Axis2_Get_ADC_Voltage
- Length: 8 bytes
- Sender: ['ODrive_Axis2']
ID: 93 - Axis2_Get_Controller_Error
- Name: Axis2_Get_Controller_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis2']
ID: 97 - Axis3_Heartbeat
- Name: Axis3_Heartbeat
- Length: 8 bytes
- Sender: ['ODrive_Axis3']
ID: 99 - Axis3_Get_Motor_Error
- Name: Axis3_Get_Motor_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis3']
ID: 100 - Axis3_Get_Encoder_Error
- Name: Axis3_Get_Encoder_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis3']
ID: 101 - Axis3_Get_Sensorless_Error
- Name: Axis3_Get_Sensorless_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis3']
ID: 102 - Axis3_Set_Axis_Node_ID
- Name: Axis3_Set_Axis_Node_ID
- Length: 8 bytes
- Sender: ['Master']
ID: 103 - Axis3_Set_Axis_State
- Name: Axis3_Set_Axis_State
- Length: 8 bytes
- Sender: ['Master']
ID: 105 - Axis3_Get_Encoder_Estimates
- Name: Axis3_Get_Encoder_Estimates
- Length: 8 bytes
- Sender: ['ODrive_Axis3']
ID: 106 - Axis3_Get_Encoder_Count
- Name: Axis3_Get_Encoder_Count
- Length: 8 bytes
- Sender: ['ODrive_Axis3']
ID: 107 - Axis3_Set_Controller_Mode
- Name: Axis3_Set_Controller_Mode
- Length: 8 bytes
- Sender: ['Master']
- Name: Axis3_Set_Input_Pos
- Length: 8 bytes
- Sender: ['Master']
- Name: Axis3_Set_Input_Vel
- Length: 8 bytes
- Sender: ['Master']
- Name: Axis3_Set_Input_Torque
- Length: 8 bytes
- Sender: ['Master']
ID: 111 - Axis3_Set_Limits
- Name: Axis3_Set_Limits
- Length: 8 bytes
- Sender: ['Master']
ID: 112 - Axis3_Start_Anticogging
- Name: Axis3_Start_Anticogging
- Length: 0 bytes
- Sender: ['Master']
ID: 113 - Axis3_Set_Traj_Vel_Limit
- Name: Axis3_Set_Traj_Vel_Limit
- Length: 8 bytes
- Sender: ['Master']
ID: 114 - Axis3_Set_Traj_Accel_Limits
- Name: Axis3_Set_Traj_Accel_Limits
- Length: 8 bytes
- Sender: ['Master']
ID: 115 - Axis3_Set_Traj_Inertia
- Name: Axis3_Set_Traj_Inertia
- Length: 8 bytes
- Sender: ['Master']
ID: 116 - Axis3_Get_Iq
- Name: Axis3_Get_Iq
- Length: 8 bytes
- Sender: ['ODrive_Axis3']
ID: 117 - Axis3_Get_Sensorless_Estimates
- Name: Axis3_Get_Sensorless_Estimates
- Length: 8 bytes
- Sender: ['ODrive_Axis3']
ID: 118 - Axis3_Reboot
- Name: Axis3_Reboot
- Length: 0 bytes
- Sender: ['Master']
ID: 119 - Axis3_Get_Bus_Voltage_Current
- Name: Axis3_Get_Bus_Voltage_Current
- Length: 8 bytes
- Sender: ['ODrive_Axis3']
ID: 120 - Axis3_Clear_Errors
- Name: Axis3_Clear_Errors
- Length: 0 bytes
- Sender: ['Master']
ID: 121 - Axis3_Set_Linear_Count
- Name: Axis3_Set_Linear_Count
- Length: 8 bytes
- Sender: ['Master']
ID: 122 - Axis3_Set_Pos_Gain
- Name: Axis3_Set_Pos_Gain
- Length: 8 bytes
- Sender: ['Master']
ID: 123 - Axis3_Set_Vel_Gains
- Name: Axis3_Set_Vel_Gains
- Length: 8 bytes
- Sender: ['Master']
ID: 124 - Axis3_Get_ADC_Voltage
- Name: Axis3_Get_ADC_Voltage
- Length: 8 bytes
- Sender: ['ODrive_Axis3']
ID: 125 - Axis3_Get_Controller_Error
- Name: Axis3_Get_Controller_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis3']
ID: 129 - Axis4_Heartbeat
- Name: Axis4_Heartbeat
- Length: 8 bytes
- Sender: ['ODrive_Axis4']
ID: 131 - Axis4_Get_Motor_Error
- Name: Axis4_Get_Motor_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis4']
ID: 132 - Axis4_Get_Encoder_Error
- Name: Axis4_Get_Encoder_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis4']
ID: 133 - Axis4_Get_Sensorless_Error
- Name: Axis4_Get_Sensorless_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis4']
ID: 134 - Axis4_Set_Axis_Node_ID
- Name: Axis4_Set_Axis_Node_ID
- Length: 8 bytes
- Sender: ['Master']
ID: 135 - Axis4_Set_Axis_State
- Name: Axis4_Set_Axis_State
- Length: 8 bytes
- Sender: ['Master']
ID: 137 - Axis4_Get_Encoder_Estimates
- Name: Axis4_Get_Encoder_Estimates
- Length: 8 bytes
- Sender: ['ODrive_Axis4']
ID: 138 - Axis4_Get_Encoder_Count
- Name: Axis4_Get_Encoder_Count
- Length: 8 bytes
- Sender: ['ODrive_Axis4']
ID: 139 - Axis4_Set_Controller_Mode
- Name: Axis4_Set_Controller_Mode
- Length: 8 bytes
- Sender: ['Master']
- Name: Axis4_Set_Input_Pos
- Length: 8 bytes
- Sender: ['Master']
- Name: Axis4_Set_Input_Vel
- Length: 8 bytes
- Sender: ['Master']
- Name: Axis4_Set_Input_Torque
- Length: 8 bytes
- Sender: ['Master']
ID: 143 - Axis4_Set_Limits
- Name: Axis4_Set_Limits
- Length: 8 bytes
- Sender: ['Master']
ID: 144 - Axis4_Start_Anticogging
- Name: Axis4_Start_Anticogging
- Length: 0 bytes
- Sender: ['Master']
ID: 145 - Axis4_Set_Traj_Vel_Limit
- Name: Axis4_Set_Traj_Vel_Limit
- Length: 8 bytes
- Sender: ['Master']
ID: 146 - Axis4_Set_Traj_Accel_Limits
- Name: Axis4_Set_Traj_Accel_Limits
- Length: 8 bytes
- Sender: ['Master']
ID: 147 - Axis4_Set_Traj_Inertia
- Name: Axis4_Set_Traj_Inertia
- Length: 8 bytes
- Sender: ['Master']
ID: 148 - Axis4_Get_Iq
- Name: Axis4_Get_Iq
- Length: 8 bytes
- Sender: ['ODrive_Axis4']
ID: 149 - Axis4_Get_Sensorless_Estimates
- Name: Axis4_Get_Sensorless_Estimates
- Length: 8 bytes
- Sender: ['ODrive_Axis4']
ID: 150 - Axis4_Reboot
- Name: Axis4_Reboot
- Length: 0 bytes
- Sender: ['Master']
ID: 151 - Axis4_Get_Bus_Voltage_Current
- Name: Axis4_Get_Bus_Voltage_Current
- Length: 8 bytes
- Sender: ['ODrive_Axis4']
ID: 152 - Axis4_Clear_Errors
- Name: Axis4_Clear_Errors
- Length: 0 bytes
- Sender: ['Master']
ID: 153 - Axis4_Set_Linear_Count
- Name: Axis4_Set_Linear_Count
- Length: 8 bytes
- Sender: ['Master']
ID: 154 - Axis4_Set_Pos_Gain
- Name: Axis4_Set_Pos_Gain
- Length: 8 bytes
- Sender: ['Master']
ID: 155 - Axis4_Set_Vel_Gains
- Name: Axis4_Set_Vel_Gains
- Length: 8 bytes
- Sender: ['Master']
ID: 156 - Axis4_Get_ADC_Voltage
- Name: Axis4_Get_ADC_Voltage
- Length: 8 bytes
- Sender: ['ODrive_Axis4']
ID: 157 - Axis4_Get_Controller_Error
- Name: Axis4_Get_Controller_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis4']
ID: 161 - Axis5_Heartbeat
- Name: Axis5_Heartbeat
- Length: 8 bytes
- Sender: ['ODrive_Axis5']
ID: 163 - Axis5_Get_Motor_Error
- Name: Axis5_Get_Motor_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis5']
ID: 164 - Axis5_Get_Encoder_Error
- Name: Axis5_Get_Encoder_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis5']
ID: 165 - Axis5_Get_Sensorless_Error
- Name: Axis5_Get_Sensorless_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis5']
ID: 166 - Axis5_Set_Axis_Node_ID
- Name: Axis5_Set_Axis_Node_ID
- Length: 8 bytes
- Sender: ['Master']
ID: 167 - Axis5_Set_Axis_State
- Name: Axis5_Set_Axis_State
- Length: 8 bytes
- Sender: ['Master']
ID: 169 - Axis5_Get_Encoder_Estimates
- Name: Axis5_Get_Encoder_Estimates
- Length: 8 bytes
- Sender: ['ODrive_Axis5']
ID: 170 - Axis5_Get_Encoder_Count
- Name: Axis5_Get_Encoder_Count
- Length: 8 bytes
- Sender: ['ODrive_Axis5']
ID: 171 - Axis5_Set_Controller_Mode
- Name: Axis5_Set_Controller_Mode
- Length: 8 bytes
- Sender: ['Master']
- Name: Axis5_Set_Input_Pos
- Length: 8 bytes
- Sender: ['Master']
- Name: Axis5_Set_Input_Vel
- Length: 8 bytes
- Sender: ['Master']
- Name: Axis5_Set_Input_Torque
- Length: 8 bytes
- Sender: ['Master']
ID: 175 - Axis5_Set_Limits
- Name: Axis5_Set_Limits
- Length: 8 bytes
- Sender: ['Master']
ID: 176 - Axis5_Start_Anticogging
- Name: Axis5_Start_Anticogging
- Length: 0 bytes
- Sender: ['Master']
ID: 177 - Axis5_Set_Traj_Vel_Limit
- Name: Axis5_Set_Traj_Vel_Limit
- Length: 8 bytes
- Sender: ['Master']
ID: 178 - Axis5_Set_Traj_Accel_Limits
- Name: Axis5_Set_Traj_Accel_Limits
- Length: 8 bytes
- Sender: ['Master']
ID: 179 - Axis5_Set_Traj_Inertia
- Name: Axis5_Set_Traj_Inertia
- Length: 8 bytes
- Sender: ['Master']
ID: 180 - Axis5_Get_Iq
- Name: Axis5_Get_Iq
- Length: 8 bytes
- Sender: ['ODrive_Axis5']
ID: 181 - Axis5_Get_Sensorless_Estimates
- Name: Axis5_Get_Sensorless_Estimates
- Length: 8 bytes
- Sender: ['ODrive_Axis5']
ID: 182 - Axis5_Reboot
- Name: Axis5_Reboot
- Length: 0 bytes
- Sender: ['Master']
ID: 183 - Axis5_Get_Bus_Voltage_Current
- Name: Axis5_Get_Bus_Voltage_Current
- Length: 8 bytes
- Sender: ['ODrive_Axis5']
ID: 184 - Axis5_Clear_Errors
- Name: Axis5_Clear_Errors
- Length: 0 bytes
- Sender: ['Master']
ID: 185 - Axis5_Set_Linear_Count
- Name: Axis5_Set_Linear_Count
- Length: 8 bytes
- Sender: ['Master']
ID: 186 - Axis5_Set_Pos_Gain
- Name: Axis5_Set_Pos_Gain
- Length: 8 bytes
- Sender: ['Master']
ID: 187 - Axis5_Set_Vel_Gains
- Name: Axis5_Set_Vel_Gains
- Length: 8 bytes
- Sender: ['Master']
ID: 188 - Axis5_Get_ADC_Voltage
- Name: Axis5_Get_ADC_Voltage
- Length: 8 bytes
- Sender: ['ODrive_Axis5']
ID: 189 - Axis5_Get_Controller_Error
- Name: Axis5_Get_Controller_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis5']
ID: 193 - Axis6_Heartbeat
- Name: Axis6_Heartbeat
- Length: 8 bytes
- Sender: ['ODrive_Axis6']
ID: 195 - Axis6_Get_Motor_Error
- Name: Axis6_Get_Motor_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis6']
ID: 196 - Axis6_Get_Encoder_Error
- Name: Axis6_Get_Encoder_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis6']
ID: 197 - Axis6_Get_Sensorless_Error
- Name: Axis6_Get_Sensorless_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis6']
ID: 198 - Axis6_Set_Axis_Node_ID
- Name: Axis6_Set_Axis_Node_ID
- Length: 8 bytes
- Sender: ['Master']
ID: 199 - Axis6_Set_Axis_State
- Name: Axis6_Set_Axis_State
- Length: 8 bytes
- Sender: ['Master']
ID: 201 - Axis6_Get_Encoder_Estimates
- Name: Axis6_Get_Encoder_Estimates
- Length: 8 bytes
- Sender: ['ODrive_Axis6']
ID: 202 - Axis6_Get_Encoder_Count
- Name: Axis6_Get_Encoder_Count
- Length: 8 bytes
- Sender: ['ODrive_Axis6']
ID: 203 - Axis6_Set_Controller_Mode
- Name: Axis6_Set_Controller_Mode
- Length: 8 bytes
- Sender: ['Master']
- Name: Axis6_Set_Input_Pos
- Length: 8 bytes
- Sender: ['Master']
- Name: Axis6_Set_Input_Vel
- Length: 8 bytes
- Sender: ['Master']
- Name: Axis6_Set_Input_Torque
- Length: 8 bytes
- Sender: ['Master']
ID: 207 - Axis6_Set_Limits
- Name: Axis6_Set_Limits
- Length: 8 bytes
- Sender: ['Master']
ID: 208 - Axis6_Start_Anticogging
- Name: Axis6_Start_Anticogging
- Length: 0 bytes
- Sender: ['Master']
ID: 209 - Axis6_Set_Traj_Vel_Limit
- Name: Axis6_Set_Traj_Vel_Limit
- Length: 8 bytes
- Sender: ['Master']
ID: 210 - Axis6_Set_Traj_Accel_Limits
- Name: Axis6_Set_Traj_Accel_Limits
- Length: 8 bytes
- Sender: ['Master']
ID: 211 - Axis6_Set_Traj_Inertia
- Name: Axis6_Set_Traj_Inertia
- Length: 8 bytes
- Sender: ['Master']
ID: 212 - Axis6_Get_Iq
- Name: Axis6_Get_Iq
- Length: 8 bytes
- Sender: ['ODrive_Axis6']
ID: 213 - Axis6_Get_Sensorless_Estimates
- Name: Axis6_Get_Sensorless_Estimates
- Length: 8 bytes
- Sender: ['ODrive_Axis6']
ID: 214 - Axis6_Reboot
- Name: Axis6_Reboot
- Length: 0 bytes
- Sender: ['Master']
ID: 215 - Axis6_Get_Bus_Voltage_Current
- Name: Axis6_Get_Bus_Voltage_Current
- Length: 8 bytes
- Sender: ['ODrive_Axis6']
ID: 216 - Axis6_Clear_Errors
- Name: Axis6_Clear_Errors
- Length: 0 bytes
- Sender: ['Master']
ID: 217 - Axis6_Set_Linear_Count
- Name: Axis6_Set_Linear_Count
- Length: 8 bytes
- Sender: ['Master']
ID: 218 - Axis6_Set_Pos_Gain
- Name: Axis6_Set_Pos_Gain
- Length: 8 bytes
- Sender: ['Master']
ID: 219 - Axis6_Set_Vel_Gains
- Name: Axis6_Set_Vel_Gains
- Length: 8 bytes
- Sender: ['Master']
ID: 220 - Axis6_Get_ADC_Voltage
- Name: Axis6_Get_ADC_Voltage
- Length: 8 bytes
- Sender: ['ODrive_Axis6']
ID: 221 - Axis6_Get_Controller_Error
- Name: Axis6_Get_Controller_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis6']
ID: 225 - Axis7_Heartbeat
- Name: Axis7_Heartbeat
- Length: 8 bytes
- Sender: ['ODrive_Axis7']
ID: 227 - Axis7_Get_Motor_Error
- Name: Axis7_Get_Motor_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis7']
ID: 228 - Axis7_Get_Encoder_Error
- Name: Axis7_Get_Encoder_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis7']
ID: 229 - Axis7_Get_Sensorless_Error
- Name: Axis7_Get_Sensorless_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis7']
ID: 230 - Axis7_Set_Axis_Node_ID
- Name: Axis7_Set_Axis_Node_ID
- Length: 8 bytes
- Sender: ['Master']
ID: 231 - Axis7_Set_Axis_State
- Name: Axis7_Set_Axis_State
- Length: 8 bytes
- Sender: ['Master']
ID: 233 - Axis7_Get_Encoder_Estimates
- Name: Axis7_Get_Encoder_Estimates
- Length: 8 bytes
- Sender: ['ODrive_Axis7']
ID: 234 - Axis7_Get_Encoder_Count
- Name: Axis7_Get_Encoder_Count
- Length: 8 bytes
- Sender: ['ODrive_Axis7']
ID: 235 - Axis7_Set_Controller_Mode
- Name: Axis7_Set_Controller_Mode
- Length: 8 bytes
- Sender: ['Master']
- Name: Axis7_Set_Input_Pos
- Length: 8 bytes
- Sender: ['Master']
- Name: Axis7_Set_Input_Vel
- Length: 8 bytes
- Sender: ['Master']
- Name: Axis7_Set_Input_Torque
- Length: 8 bytes
- Sender: ['Master']
ID: 239 - Axis7_Set_Limits
- Name: Axis7_Set_Limits
- Length: 8 bytes
- Sender: ['Master']
ID: 240 - Axis7_Start_Anticogging
- Name: Axis7_Start_Anticogging
- Length: 0 bytes
- Sender: ['Master']
ID: 241 - Axis7_Set_Traj_Vel_Limit
- Name: Axis7_Set_Traj_Vel_Limit
- Length: 8 bytes
- Sender: ['Master']
ID: 242 - Axis7_Set_Traj_Accel_Limits
- Name: Axis7_Set_Traj_Accel_Limits
- Length: 8 bytes
- Sender: ['Master']
ID: 243 - Axis7_Set_Traj_Inertia
- Name: Axis7_Set_Traj_Inertia
- Length: 8 bytes
- Sender: ['Master']
ID: 244 - Axis7_Get_Iq
- Name: Axis7_Get_Iq
- Length: 8 bytes
- Sender: ['ODrive_Axis7']
ID: 245 - Axis7_Get_Sensorless_Estimates
- Name: Axis7_Get_Sensorless_Estimates
- Length: 8 bytes
- Sender: ['ODrive_Axis7']
ID: 246 - Axis7_Reboot
- Name: Axis7_Reboot
- Length: 0 bytes
- Sender: ['Master']
ID: 247 - Axis7_Get_Bus_Voltage_Current
- Name: Axis7_Get_Bus_Voltage_Current
- Length: 8 bytes
- Sender: ['ODrive_Axis7']
ID: 248 - Axis7_Clear_Errors
- Name: Axis7_Clear_Errors
- Length: 0 bytes
- Sender: ['Master']
ID: 249 - Axis7_Set_Linear_Count
- Name: Axis7_Set_Linear_Count
- Length: 8 bytes
- Sender: ['Master']
ID: 250 - Axis7_Set_Pos_Gain
- Name: Axis7_Set_Pos_Gain
- Length: 8 bytes
- Sender: ['Master']
ID: 251 - Axis7_Set_Vel_Gains
- Name: Axis7_Set_Vel_Gains
- Length: 8 bytes
- Sender: ['Master']
ID: 252 - Axis7_Get_ADC_Voltage
- Name: Axis7_Get_ADC_Voltage
- Length: 8 bytes
- Sender: ['ODrive_Axis7']
ID: 253 - Axis7_Get_Controller_Error
- Name: Axis7_Get_Controller_Error
- Length: 8 bytes
- Sender: ['ODrive_Axis7']