Moteus

Latest version: v0.3.76

Safety actively analyzes 682457 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 7

0.120231215

* Resolve an issue that resulted in fault 33 always being reported on r4.5 and earlier boards

0.120231214

* Fix a problem that triggered fault 37 if a configured I2C device was disconnected or had an intermittent failure

0.120231204

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.

0.120230926

* Fault if a stop position is commanded along with velocity or acceleration limits. This never did anything useful, but was often accidentally commanded when using old videos that recommend stop position along with new firmware that has acceleration or velocity limits configured.
* Support CUI AMT21 series RS485 encoders. These can be directly connected to the RS422 port on the moteus-n1, and can be connected to moteus-r4 with an adapter circuit similar to that needed for the AksIM-2.
* Support MA732 SPI encoders on any SPI capable auxiliary port.
* Fix stay within mode when velocity or acceleration limits are enabled. If either were enabled, then the commanded limits were not obeyed.
* Define "target velocity == NaN" to mean "target_velocity == 0.0". Previously NaN here was undefined behavior, and would result in the controller becoming non-functional. Most (maybe all) users who commanded NaN actually wanted to be commanding 0.0 anyways.
* "Index" inputs on auxiliary ports are now handled using an interrupt instead of polling at the control rate. This decreases the minimum required index pulse width from 1/PWM_RATE (~33us for a typical 30kHz pwm rate) to ~1us.

0.120230725

* Ensure the drive stage is off when entering the bootloader
* A new timeout mode, "10" is now added. This will remain in control mode, come to a controlled stop, then hold position
* Fix AS5048 encoders... previously the low 6 bits were not aligned properly, leaving them effectively as 8 bit sensors
* `moteus_tool --zero-offset` was broken when applied repeatedly, this now should work
* Fix motor_position reference sources when an output offset or sign is configured
* When an output offset or sign was configured, it was possible to start outside of +- 0.5 * rotor_to_output_ratio, no longer

0.120230622

* Make motor_position.output.sign=-1 actually work. This has been broken since release 2023-05-31
* The bootloader will now respond with BRS off if the query was sent with BRS off
* The bootloader will attempt to automatically recover from busoff events

Page 2 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.