diff --git a/uavcan/equipment/esc/1030.RawCommand.uavcan b/uavcan/equipment/esc/1030.RawCommand.uavcan index 08c7a64..29ae0b8 100644 --- a/uavcan/equipment/esc/1030.RawCommand.uavcan +++ b/uavcan/equipment/esc/1030.RawCommand.uavcan @@ -1,7 +1,9 @@ # -# Raw ESC command normalized into [-8192, 8191]; negative values indicate reverse rotation. -# The ESC should normalize the setpoint into its effective input range. -# Non-zero setpoint value below minimum should be interpreted as min valid setpoint for the given motor. +# Raw ESC command normalized into [-8192, 8191]. The ESC should normalize the setpoint into its effective input range. +# Non-zero setpoint value below minimum should be interpreted as min valid setpoint for the given motor. Positive +# values indicate forward rotation, negative values indicate reverse rotation, and zero indicates no rotation. For example, +# a typical quadcopter always commands non-negative values for all four motors, independent of ESC configuration, +# motor wiring, or propeller direction. ESCs which do not allow reverse rotation shall clamp negative commands to zero. # int14[<=20] cmd diff --git a/uavcan/equipment/esc/1031.RPMCommand.uavcan b/uavcan/equipment/esc/1031.RPMCommand.uavcan index 28a19df..2dfaea5 100644 --- a/uavcan/equipment/esc/1031.RPMCommand.uavcan +++ b/uavcan/equipment/esc/1031.RPMCommand.uavcan @@ -2,7 +2,9 @@ # Simple RPM setpoint. # The ESC should automatically clamp the setpoint according to the minimum and maximum supported RPM; # for example, given a ESC that operates in the range 100 to 10000 RPM, a setpoint of 1 RPM will be clamped to 100 RPM. -# Negative values indicate reverse rotation. +# Positive values indicate forward rotation, negative values indicate reverse rotation, and zero indicates no rotation. +# For example, a typical quadcopter always commands non-negative values for all four motors, independent of ESC configuration, +# motor wiring, or propeller direction. ESCs which do not allow reverse rotation shall clamp negative RPMs to zero. # int18[<=20] rpm diff --git a/uavcan/equipment/esc/1034.Status.uavcan b/uavcan/equipment/esc/1034.Status.uavcan index b15947b..f7054de 100644 --- a/uavcan/equipment/esc/1034.Status.uavcan +++ b/uavcan/equipment/esc/1034.Status.uavcan @@ -9,7 +9,10 @@ float16 voltage # Volt float16 current # Ampere. Can be negative in case of a regenerative braking. float16 temperature # Kelvin -int18 rpm # Negative value indicates reverse rotation +int18 rpm # Current value, with the same sign convention as RPMCommand. For example, a typical + # quadcopter reports non-negative values for all four motors, independent of ESC + # configuration, motor wiring, or propeller direction. ESCs are expected to report + # negative values if currently spinning in reverse. uint7 power_rating_pct # Instant demand factor in percent (percent of maximum power); range 0% to 127%.