Fixed formatting in trapTraj.hpp
Fixed how pos_setpoint is set in axis.cpp to avoid transients on startup so that it will handle circular position setpoints
More unit corrections in the docs: radians -> turns
- Added thermal errors to dump_errors call in odrivetool.
- Added function in odrivetool to set thermistor coefficients based on thermistor specs.
- Added documentation for users on how to connect and configure their own thermistors.
Corrected docs as they relate to unit changes
Added pos_estimate_linear and pos_estimate_circular to Controller and eliminated pointer switching logic in Controller::select_encoder()
Added torque_ramp_rate to controller config.
Changed INPUT_MODE_CURRENT_RAMP to INPUT_MODE_TORQUE_RAMP for controller input mode enum.
Torque limits and current limits are now observed seperately. Torque limit is in the controller, current limit is in the motor object.
Fixed torque -> current calculation in motor_update to handle ACIM motors.
The following documentation is moved to odrive-interfaces.yaml:
- Error flag documentation from troubleshooting.md
- Axis state documentation from commands.md
- Input mode documentation from input_modes.md
This adds a jinja template to generate markdown files
(with lots of HTML mixed in) from YAML using the existing
interface_generator.py script.
The docs website layout files are modified to incorporate the
new documentation.
While previously Github Pages was automatically running
Jekyll on the docs folder, this commit adds a custom Github
workflow to compile and deploy the website to facilitate
the custom markdown generation step before Jekyll runs.
Windows 10 includes since version 1903 a python stub which is supposed
to open the MS Store if python is invoked but not installed. However
when invoked from tup, the stub simply hangs without output.
With this change we first check the python version (something that the
Windows stub does not interer with) before we invoke it.
Previously, coexistence with devices that use extended CAN IDs was not
possible since the ODrive would simply clip the 18 upper bits of an
extended message ID.
This adds proper support for extended CAN IDs by changing
`can_node_id` from 8 to 32 bit and introducing the new option
`can_node_id_extended`.
Consistent naming makes code autogeneration easier.
This commit does not claim that the exported names of the variables were
more sensible than the in-code names. However changing the exported
names can break external tools and needs to happen in a controlled and
documented way.