- overcurrent error during motor calibration (this is caused by
overshoot. For now we just ignore the current limit during motor
calibration as we did before)
- factor 2 error at encoder calibration
- set error flag if Motor::arm() is called while the brake resistor is
enabled but disarmed.
- only arm brake resistor if enabled
- auto-arm brake resistor on clear_errors()
Where viable, customizations in the CubeMX code (mostly the USER
CODE sections) are moved to our own files (primarily main.cpp and
board.cpp).
This will minimize code duplication when adding a new, completely
separate instance of the CubeMX files. The USB code still contains a
large amount of customization which is not touched by this commit and
should be refactored separately later on.
The entry point is now in main.cpp (moved from the CubeMX-generated
main.c). This increases control over the boot process while also
improving code organization.
This new method is more flexible in the sense of what timers to
synchronize and also provides clearer guarantees with respect to
the repetition counter and prescaler.
- 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.
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.
- cleaner implementaiton of the overvoltage ramp with config variables separate from other functions
- explicit enable flag for overvoltage ramp (disabled by default)
- reinstate brake duty cycle NaN error
- add informational flag for brake resistor saturation