Update docs and changelog

This commit is contained in:
Paul Guenette
2022-10-23 22:31:34 -07:00
parent f14caadcb8
commit 50f26925bc
2 changed files with 70 additions and 6 deletions

View File

@@ -9,12 +9,27 @@
* Implemented CAN controller error message, which was previously defined but not actually implemented.
* Get Vbus Voltage message updated to match ODrive Pro's CANSimple implementation.
* `vel_setpoint` and `torque_setpoint` will be clamped to `vel_limit` and the active torque limit. Fixes [#647](https://github.com/odriverobotics/ODrive/issues/647)
### Added
* Added public `controller.get_anticogging_value(uint32)` fibre function to index into the the cogging map. Fixes [#690](https://github.com/odriverobotics/ODrive/issues/690)
* Added Get ADC Voltage message to CAN (0x1C). Send the desired GPIO number in byte 1, and the ODrive will respond with the ADC voltage from that pin (if previously configured for analog)
* Added CAN heartbeat message flags for motor, controller, and encoder error. If flag is true, fetch the corresponding error with the respective message.
* Added scoped enums, e.g. `CONTROL_MODE_POSITION_CONTROL` can be used as `ControlMode.POSITION_CONTROL`
* Added more cyclic messages to can. Use the `rate_ms` values in `<odrv>.<axis>.config.can` to set the cycle rate of the message in milliseconds. Set a rate to 0 to disable sending. The following variables are avaialble:
Command ID | Rate Variable | Message Name
:-- | :-- | :--
0x01 | `heartbeat_rate_ms` | Heartbeat
0x09 | `encoder_rate_ms` | Get Encoder Estimates
0x03 | `motor_error_rate_ms` | Get Motor Error
0x04 | `encoder_error_rate_ms` | Get Encoder Error
0x1D | `controller_error_rate_ms` | Get Controller Error
0x05 | `sensorless_error_rate_ms` | Get Sensorless Error
0x0A | `encoder_count_rate_ms` | Get Encoder Count
0x14 | `iq_rate_ms` | Get Iq
0x15 | `sensorless_rate_ms` | Get Sensorless Estimates
0x17 | `bus_vi_rate_ms` | Get Bus Voltage Current
### Changed

View File

@@ -83,24 +83,73 @@ Cyclic Messages
Cyclic messages are sent by ODrive on a timer without a request. As of firmware verion `0.5.4`, the Cyclic messsages are:
.. list-table::
:widths: 25 25 50
:widths: 25 25 25 50
:header-rows: 1
* - ID
- Name
- Rate (ms)
* - 0x001
- ODrive Heartbeat Message
- Config Variable
- Default Rate (ms)
* - 0x01
- Heartbeat
- `heartbeat_rate_ms`
- 100
* - 0x009
- Encoder Estimates
* - 0x09
- Get Encoder Estimates
- `encoder_rate_ms`
- 10
* - 0x03
- Get Motor Error
- `motor_error_rate_ms`
- 0
* - 0x04
- Get Encoder Error
- `encoder_error_rate_ms`
- 0
* - 0x1D
- Get Controller Error
- `controller_error_rate_ms`
- 0
* - 0x05
- Get Sensorless Error
- `sensorless_error_rate_ms`
- 0
* - 0x0A
- Get Encoder Count
- `encoder_count_rate_ms`
- 0
* - 0x14
- Get Iq
- `iq_rate_ms`
- 0
* - 0x15
- Get Sensorless Estimates
- `sensorless_rate_ms`
- 0
* - 0x17
- Get Bus Voltage Current
- `bus_vi_rate_ms`
- 0
.. ID | Name | Rate (ms)
.. --: | :-- | :--
.. 0x001 | ODrive Heartbeat Message | 100
.. 0x009 | Encoder Estimates | 10
.. Command ID | Message Name
.. :-- | :-- | :--
.. 0x01 | `heartbeat_rate_ms` | Heartbeat
.. 0x09 | `encoder_rate_ms` | Get Encoder Estimates
.. 0x03 | `motor_error_rate_ms` | Get Motor Error
.. 0x04 | `encoder_error_rate_ms` | Get Encoder Error
.. 0x1D | `controller_error_rate_ms` | Get Controller Error
.. 0x05 | `sensorless_error_rate_ms` | Get Sensorless Error
.. 0x0A | `encoder_count_rate_ms` | Get Encoder Count
.. 0x14 | `iq_rate_ms` | Get Iq
.. 0x15 | `sensorless_rate_ms` | Get Sensorless Estimates
.. 0x17 | `bus_vi_rate_ms` | Get Bus Voltage Current
These can be configured for each axis, see e.g. :code:`axis.config.can`.