2023-12-04
Required moteus_tool: >= 0.3.65 (python -m pip install --upgrade moteus
)
Major Changes
- Resolve robustness issues that prevented I2C encoders from being used as the commutation or output encoder. Their use for output disambiguation worked reliably before and still does.
- Switch I2C encoder polling rate configuration to be measured in microseconds rather than milliseconds. An up-to-date
moteus_tool
is required to flash this firmware as a result. It will properly migrate configuration on upgrade. - When in position-timeout mode, ignore user commands completely. This was always the intended behavior, but became broken with the addition of acceleration and velocity limits. As a result of the defect, commands that resulted in non-zero control velocities could result in user initiated torque.
Minor Changes
- Configure AS5600 encoders to disable their internal filters.
- Improve robustness of the encoder filter by preventing velocities from becoming too large.
- If a hard-fault is triggered, perform a 2-flash pattern on the red LED
- If firmware errors cause data to be written to the 0 page, report the fault as an incrementing counter
system_info.mem_fault
rather than as a error when attempting to performconf write
. - Ensure that
motor_position
configuration is updated to match auxiliary port configuration changes. This mostly means that encoder filter bandwidth limits are properly lowered if the polling rate of auxiliary sensors is decreased.