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


module px4_msgs {
  module msg {
    typedef float float__4[4];
    typedef float float__3[3];
    struct VehicleAttitudeSetpoint {
      @verbatim (language="comment", text=
        "time since system start (microseconds)")
      uint64 timestamp;

      @verbatim (language="comment", text=
        "body angle in NED frame (can be NaN for FW)")
      float roll_body;

      @verbatim (language="comment", text=
        "body angle in NED frame (can be NaN for FW)")
      float pitch_body;

      @verbatim (language="comment", text=
        "body angle in NED frame (can be NaN for FW)")
      float yaw_body;

      @verbatim (language="comment", text=
        "rad/s (commanded by user)")
      float yaw_sp_move_rate;

      @verbatim (language="comment", text=
        "For quaternion-based attitude control" "\n"
        "Desired quaternion for quaternion control")
      float__4 q_d;

      @verbatim (language="comment", text=
        "For clarification: For multicopters thrust_body[0] and thrust[1] are usually 0 and thrust[2] is the negative throttle demand." "\n"
        "For fixed wings thrust_x is the throttle demand and thrust_y, thrust_z will usually be zero." "\n"
        "Normalized thrust command in body NED frame [-1,1]")
      float__3 thrust_body;

      @verbatim (language="comment", text=
        "Reset roll/pitch/yaw integrals (navigation logic change)")
      boolean reset_integral;

      @verbatim (language="comment", text=
        "control heading with steering wheel (used for auto takeoff on runway)")
      boolean fw_control_yaw_wheel;
    };
  };
};
