--- pageClass: is-wide-page --- # ActuatorMotors (UORB message) Motor control message. Normalised thrust setpoint for up to 12 motors. Published by the vehicle's allocation and consumed by the ESC protocol drivers e.g. PWM, DSHOT, UAVCAN. **TOPICS:** actuator_motors ## Fields | Name | Type | Unit [Frame] | Range/Enum | Description | | ---------------- | ------------- | ------------ | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | timestamp | `uint64` | us | | Time since system start | | timestamp_sample | `uint64` | us | | Sampling timestamp of the data this control response is based on | | reversible_flags | `uint16` | | | Bitset indicating which motors are configured to be reversible | | control | `float32[12]` | | [-1 : 1] | Normalized thrust. Where 1 means maximum positive thrust, -1 maximum negative (if not supported by the output, <0 maps to NaN). NaN maps to disarmed (stop the motors) | ## Constants | Name | Type | Value | Description | | --------------------------------------------------------------- | -------- | ----- | --------------------------------- | | MESSAGE_VERSION | `uint32` | 0 | | ACTUATOR_FUNCTION_MOTOR1 | `uint8` | 101 | output_functions.yaml Motor.start | | NUM_CONTROLS | `uint8` | 12 | output_functions.yaml Motor.count | ## Source Message [Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/versioned/ActuatorMotors.msg) ::: details Click here to see original file ```c # Motor control message # # Normalised thrust setpoint for up to 12 motors. # Published by the vehicle's allocation and consumed by the ESC protocol drivers e.g. PWM, DSHOT, UAVCAN. uint32 MESSAGE_VERSION = 0 uint64 timestamp # [us] Time since system start uint64 timestamp_sample # [us] Sampling timestamp of the data this control response is based on uint16 reversible_flags # [-] Bitset indicating which motors are configured to be reversible uint8 ACTUATOR_FUNCTION_MOTOR1 = 101 # output_functions.yaml Motor.start uint8 NUM_CONTROLS = 12 # output_functions.yaml Motor.count float32[12] control # [@range -1, 1] Normalized thrust. Where 1 means maximum positive thrust, -1 maximum negative (if not supported by the output, <0 maps to NaN). NaN maps to disarmed (stop the motors) ``` :::