API REFERENCE¶
protocol_hash¶
ID: 0
Type: uint32
The Avlos protocol hash.
uid¶
ID: 1
Type: uint32
The unique device ID, unique to each PAC55xx chip produced.
fw_version¶
ID: 2
Type: str
The firmware version.
hw_revision¶
ID: 3
Type: uint32
The hardware revision.
Vbus¶
ID: 4
Type: float
Units: volt
The measured bus voltage.
Ibus¶
ID: 5
Type: float
Units: ampere
The estimated bus current. Only estimates current drawn by motor.
power¶
ID: 6
Type: float
Units: watt
The estimated power. Only estimates power drawn by motor.
temp¶
ID: 7
Type: float
Units: degree_Celsius
The internal temperature of the PAC55xx MCU.
calibrated¶
ID: 8
Type: bool
Whether the system has been calibrated.
errors¶
ID: 9
Type: uint8
Any system errors, as a bitmask
Flags:
UNDERVOLTAGE
warnings¶
ID: 10
Type: uint8
Any system warnings, as a bitmask
Flags:
DRIVER_FAULT
CHARGE_PUMP_FAULT_STAT
CHARGE_PUMP_FAULT
DRV10_DISABLE
DRV32_DISABLE
DRV54_DISABLE
save_config() -> void¶
ID: 11
Return Type: void
Save configuration to non-volatile memory.
erase_config() -> void¶
ID: 12
Return Type: void
Erase the config stored in non-volatile memory and reset the device.
reset() -> void¶
ID: 13
Return Type: void
Reset the device.
enter_dfu() -> void¶
ID: 14
Return Type: void
Enter DFU mode.
config_size¶
ID: 15
Type: uint32
Size (in bytes) of the configuration object.
scheduler.load¶
ID: 16
Type: uint32
Processor load in ticks per PWM cycle.
scheduler.warnings¶
ID: 17
Type: uint8
Any scheduler warnings, as a bitmask
Flags:
CONTROL_BLOCK_REENTERED
controller.state¶
ID: 18
Type: uint8
The state of the controller.
Options:
IDLE
CALIBRATE
CL_CONTROL
controller.mode¶
ID: 19
Type: uint8
The control mode of the controller.
Options:
CURRENT
VELOCITY
POSITION
TRAJECTORY
HOMING
controller.warnings¶
ID: 20
Type: uint8
Any controller warnings, as a bitmask
Flags:
VELOCITY_LIMITED
CURRENT_LIMITED
MODULATION_LIMITED
controller.errors¶
ID: 21
Type: uint8
Any controller errors, as a bitmask
Flags:
CURRENT_LIMIT_EXCEEDED
PRE_CL_I_SD_EXCEEDED
controller.position.setpoint¶
ID: 22
Type: float
Units: tick
The position setpoint in the user reference frame.
controller.position.p_gain¶
ID: 23
Type: float
The proportional gain of the position controller.
controller.velocity.setpoint¶
ID: 24
Type: float
Units: tick / second
The velocity setpoint in the user reference frame.
controller.velocity.limit¶
ID: 25
Type: float
Units: tick / second
The velocity limit.
controller.velocity.p_gain¶
ID: 26
Type: float
The proportional gain of the velocity controller.
controller.velocity.i_gain¶
ID: 27
Type: float
The integral gain of the velocity controller.
controller.velocity.deadband¶
ID: 28
Type: float
Units: tick
The deadband of the velocity integrator. A region around the position setpoint where the velocity integrator is not updated.
controller.velocity.increment¶
ID: 29
Type: float
Max velocity setpoint increment (ramping) rate. Set to 0 to disable.
controller.current.Iq_setpoint¶
ID: 30
Type: float
Units: ampere
The Iq setpoint in the user reference frame.
controller.current.Id_setpoint¶
ID: 31
Type: float
Units: ampere
The Id setpoint in the user reference frame.
controller.current.Iq_limit¶
ID: 32
Type: float
Units: ampere
The Iq limit.
controller.current.Iq_estimate¶
ID: 33
Type: float
Units: ampere
The Iq estimate in the user reference frame.
controller.current.bandwidth¶
ID: 34
Type: float
Units: hertz
The current controller bandwidth.
controller.current.Iq_p_gain¶
ID: 35
Type: float
The current controller proportional gain.
controller.current.max_Ibus_regen¶
ID: 36
Type: float
Units: ampere
The max current allowed to be fed back to the power source before flux braking activates.
controller.current.max_Ibrake¶
ID: 37
Type: float
Units: ampere
The max current allowed to be dumped to the motor windings during flux braking. Set to zero to deactivate flux braking.
controller.voltage.Vq_setpoint¶
ID: 38
Type: float
Units: volt
The Vq setpoint.
calibrate() -> void¶
ID: 39
Return Type: void
Calibrate the device.
idle() -> void¶
ID: 40
Return Type: void
Set idle mode, disabling the driver.
position_mode() -> void¶
ID: 41
Return Type: void
Set position control mode.
velocity_mode() -> void¶
ID: 42
Return Type: void
Set velocity control mode.
current_mode() -> void¶
ID: 43
Return Type: void
Set current control mode.
set_pos_vel_setpoints(float pos_setpoint, float vel_setpoint) -> float¶
ID: 44
Return Type: float
Set the position and velocity setpoints in the user reference frame in one go, and retrieve the position estimate
comms.can.rate¶
ID: 45
Type: uint32
The baud rate of the CAN interface.
comms.can.id¶
ID: 46
Type: uint32
The ID of the CAN interface.
comms.can.heartbeat¶
ID: 47
Type: bool
Toggle sending of heartbeat messages.
motor.R¶
ID: 48
Type: float
Units: ohm
The motor Resistance value.
motor.L¶
ID: 49
Type: float
Units: henry
The motor Inductance value.
motor.pole_pairs¶
ID: 50
Type: uint8
The motor pole pair count.
motor.type¶
ID: 51
Type: uint8
The type of the motor. Either high current or gimbal.
Options:
HIGH_CURRENT
GIMBAL
motor.calibrated¶
ID: 52
Type: bool
Whether the motor has been calibrated.
motor.I_cal¶
ID: 53
Type: float
Units: ampere
The calibration current.
motor.errors¶
ID: 54
Type: uint8
Any motor/calibration errors, as a bitmask
Flags:
PHASE_RESISTANCE_OUT_OF_RANGE
PHASE_INDUCTANCE_OUT_OF_RANGE
POLE_PAIRS_CALCULATION_DID_NOT_CONVERGE
POLE_PAIRS_OUT_OF_RANGE
ABNORMAL_CALIBRATION_VOLTAGE
sensors.user_frame.position_estimate¶
ID: 55
Type: float
Units: tick
The filtered position estimate in the user reference frame.
sensors.user_frame.velocity_estimate¶
ID: 56
Type: float
Units: tick / second
The filtered velocity estimate in the user reference frame.
sensors.user_frame.offset¶
ID: 57
Type: float
Units: tick
The user defined offset.
sensors.user_frame.multiplier¶
ID: 58
Type: float
The user defined multipler.
sensors.setup.onboard.calibrated¶
ID: 59
Type: bool
Whether the sensor has been calibrated.
sensors.setup.onboard.errors¶
ID: 60
Type: uint8
Any sensor errors, as a bitmask
Flags:
CALIBRATION_FAILED
READING_UNSTABLE
sensors.setup.external_spi.type¶
ID: 61
Type: uint8
The type of the external sensor.
Options:
MA7XX
AS5047
AMT22
sensors.setup.external_spi.rate¶
ID: 62
Type: uint8
The rate of the external sensor.
Options:
1_5Mbps
3Mbps
6Mbps
8Mbps
12Mbps
sensors.setup.external_spi.calibrated¶
ID: 63
Type: bool
Whether the sensor has been calibrated.
sensors.setup.external_spi.errors¶
ID: 64
Type: uint8
Any sensor errors, as a bitmask
Flags:
CALIBRATION_FAILED
READING_UNSTABLE
sensors.setup.hall.calibrated¶
ID: 65
Type: bool
Whether the sensor has been calibrated.
sensors.setup.hall.errors¶
ID: 66
Type: uint8
Any sensor errors, as a bitmask
Flags:
CALIBRATION_FAILED
READING_UNSTABLE
sensors.select.position_sensor.connection¶
ID: 67
Type: uint8
The position sensor connection. Either ONBOARD, EXTERNAL_SPI or HALL.
Options:
ONBOARD
EXTERNAL_SPI
HALL
sensors.select.position_sensor.bandwidth¶
ID: 68
Type: float
Units: hertz
The position sensor observer bandwidth.
sensors.select.position_sensor.raw_angle¶
ID: 69
Type: int32
The raw position sensor angle.
sensors.select.position_sensor.position_estimate¶
ID: 70
Type: float
Units: tick
The filtered position estimate in the position sensor reference frame.
sensors.select.position_sensor.velocity_estimate¶
ID: 71
Type: float
Units: tick / second
The filtered velocity estimate in the position sensor reference frame.
sensors.select.commutation_sensor.connection¶
ID: 72
Type: uint8
The commutation sensor connection. Either ONBOARD, EXTERNAL_SPI or HALL.
Options:
ONBOARD
EXTERNAL_SPI
HALL
sensors.select.commutation_sensor.bandwidth¶
ID: 73
Type: float
Units: hertz
The commutation sensor observer bandwidth.
sensors.select.commutation_sensor.raw_angle¶
ID: 74
Type: int32
The raw commutation sensor angle.
sensors.select.commutation_sensor.position_estimate¶
ID: 75
Type: float
Units: tick
The filtered position estimate in the commutation sensor reference frame.
sensors.select.commutation_sensor.velocity_estimate¶
ID: 76
Type: float
Units: tick / second
The filtered velocity estimate in the commutation sensor reference frame.
traj_planner.max_accel¶
ID: 77
Type: float
Units: tick / second
The max allowed acceleration of the generated trajectory.
traj_planner.max_decel¶
ID: 78
Type: float
Units: tick / second ** 2
The max allowed deceleration of the generated trajectory.
traj_planner.max_vel¶
ID: 79
Type: float
Units: tick / second
The max allowed cruise velocity of the generated trajectory.
traj_planner.t_accel¶
ID: 80
Type: float
Units: second
In time mode, the acceleration time of the generated trajectory.
traj_planner.t_decel¶
ID: 81
Type: float
Units: second
In time mode, the deceleration time of the generated trajectory.
traj_planner.t_total¶
ID: 82
Type: float
Units: second
In time mode, the total time of the generated trajectory.
move_to(float pos_setpoint) -> void¶
ID: 83
Return Type: void
Move to target position in the user reference frame respecting velocity and acceleration limits.
move_to_tlimit(float pos_setpoint) -> void¶
ID: 84
Return Type: void
Move to target position in the user reference frame respecting time limits for each sector.
traj_planner.errors¶
ID: 85
Type: uint8
Any errors in the trajectory planner, as a bitmask
Flags:
INVALID_INPUT
VCRUISE_OVER_LIMIT
homing.velocity¶
ID: 86
Type: float
Units: tick / second
The velocity at which the motor performs homing.
homing.max_homing_t¶
ID: 87
Type: float
Units: second
The maximum time the motor is allowed to travel before homing times out and aborts.
homing.retract_dist¶
ID: 88
Type: float
Units: tick
The retraction distance the motor travels after the endstop has been found.
homing.warnings¶
ID: 89
Type: uint8
Any homing warnings, as a bitmask
Flags:
HOMING_TIMEOUT
homing.stall_detect.velocity¶
ID: 90
Type: float
Units: tick / second
The velocity below which (and together with stall_detect.delta_pos) stall detection mode is triggered.
homing.stall_detect.delta_pos¶
ID: 91
Type: float
Units: tick
The velocity below which (and together with stall_detect.delta_pos) stall detection mode is triggered.
homing.stall_detect.t¶
ID: 92
Type: float
Units: second
The time to remain in stall detection mode before the motor is considered stalled.
home() -> void¶
ID: 93
Return Type: void
Perform the homing operation.
watchdog.enabled¶
ID: 94
Type: bool
Whether the watchdog is enabled or not.
watchdog.triggered¶
ID: 95
Type: bool
Whether the watchdog has been triggered or not.
watchdog.timeout¶
ID: 96
Type: float
Units: second
The watchdog timeout period.