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 perform `conf 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.