From f713f5ab5f3e80a95cfa726f22a4954e73289b01 Mon Sep 17 00:00:00 2001 From: Paul Guenette Date: Wed, 21 Jul 2021 12:28:56 -0400 Subject: [PATCH] Change CAN protocols from Flags to Values --- Arduino/ODriveArduino/ODriveEnums.h | 2 +- Firmware/odrive-interface.yaml | 18 ++++++++++-------- tools/odrive/enums.py | 2 +- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/Arduino/ODriveArduino/ODriveEnums.h b/Arduino/ODriveArduino/ODriveEnums.h index f196ecbd..759cc2d9 100644 --- a/Arduino/ODriveArduino/ODriveEnums.h +++ b/Arduino/ODriveArduino/ODriveEnums.h @@ -37,7 +37,7 @@ enum StreamProtocolType { // ODrive.Can.Protocol enum Protocol { - PROTOCOL_SIMPLE = 0x00000001, + PROTOCOL_SIMPLE = 0, }; // ODrive.Axis.AxisState diff --git a/Firmware/odrive-interface.yaml b/Firmware/odrive-interface.yaml index a0d0d00d..fd741784 100644 --- a/Firmware/odrive-interface.yaml +++ b/Firmware/odrive-interface.yaml @@ -986,14 +986,14 @@ interfaces: unit: Watt autotuning: c_is_class: False + doc: Automatically generate sine waves for frequency-domain response tuning attributes: - frequency: float32 - pos_amplitude: float32 - vel_amplitude: float32 - torque_amplitude: float32 - # pos_phase: float32 - # vel_phase: float32 - # torque_phase: float32 + frequency: {type: float32, unit: Hz} + pos_amplitude: {type: float32, unit: turns} + vel_amplitude: {type: float32, unit: turns/sec} + torque_amplitude: {type: float32, unit: N-m} + measured_phase: readonly float32 + measured_amplitude: readonly float32 mechanical_power: type: readonly float32 unit: Watt @@ -1292,7 +1292,9 @@ valuetypes: AsciiAndStdout: {doc: Combination of `Ascii` and `Stdout`.} ODrive.Can.Protocol: - flags: {SIMPLE: } + values: + SIMPLE: + doc: CANSimple, an ODrive-specific protocol for basic functionality ODrive.Axis.AxisState: # TODO: remove redundant "Axis" in name values: diff --git a/tools/odrive/enums.py b/tools/odrive/enums.py index 292ee3be..af2920df 100644 --- a/tools/odrive/enums.py +++ b/tools/odrive/enums.py @@ -28,7 +28,7 @@ STREAM_PROTOCOL_TYPE_STDOUT = 2 STREAM_PROTOCOL_TYPE_ASCII_AND_STDOUT = 3 # ODrive.Can.Protocol -PROTOCOL_SIMPLE = 0x00000001 +PROTOCOL_SIMPLE = 0 # ODrive.Axis.AxisState AXIS_STATE_UNDEFINED = 0