// generated from rosidl_adapter/resource/msg.idl.em
// with input from px4_msgs/msg/ActuatorTest.msg
// generated code does not contain a copyright notice


module px4_msgs {
  module msg {
    module ActuatorTest_Constants {
      @verbatim (language="comment", text=
        "Topic to test individual actuator output functions" "\n"        "exit test mode for the given function")
      const uint8 ACTION_RELEASE_CONTROL = 0;
      @verbatim (language="comment", text=
        "enable actuator test mode")
      const uint8 ACTION_DO_CONTROL = 1;
      const uint8 FUNCTION_MOTOR1 = 101;
      const uint8 MAX_NUM_MOTORS = 12;
      const uint8 FUNCTION_SERVO1 = 201;
      const uint8 MAX_NUM_SERVOS = 8;
      @verbatim (language="comment", text=
        ">= MAX_NUM_MOTORS to support code in esc_calibration")
      const uint8 ORB_QUEUE_LENGTH = 16;
    };
    struct ActuatorTest {
      @verbatim (language="comment", text=
        "time since system start (microseconds)")
      uint64 timestamp;

      @verbatim (language="comment", text=
        "one of ACTION_*")
      uint8 action;

      @verbatim (language="comment", text=
        "actuator output function")
      uint16 function;

      @verbatim (language="comment", text=
        "range: [-1, 1], where 1 means maximum positive output," "\n"
        "0 to center servos or minimum motor thrust," "\n"
        "-1 maximum negative (if not supported by the motors, <0 maps to NaN)," "\n"
        "and NaN maps to disarmed (stop the motors)")
      float value;

      @verbatim (language="comment", text=
        "timeout in ms after which to exit test mode (if 0, do not time out)")
      uint32 timeout_ms;
    };
  };
};
