Skip to content

Commit

Permalink
Update docs and changelog
Browse files Browse the repository at this point in the history
  • Loading branch information
Wetmelon committed Oct 24, 2022
1 parent f14caad commit 50f2692
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 6 deletions.
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
61 changes: 55 additions & 6 deletions docs/can-protocol.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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`.


Expand Down

0 comments on commit 50f2692

Please sign in to comment.