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


module px4_msgs {
  module msg {
    module PositionSetpoint_Constants {
      @verbatim (language="comment", text=
        "position setpoint")
      const uint8 SETPOINT_TYPE_POSITION = 0;
      @verbatim (language="comment", text=
        "velocity setpoint")
      const uint8 SETPOINT_TYPE_VELOCITY = 1;
      @verbatim (language="comment", text=
        "loiter setpoint")
      const uint8 SETPOINT_TYPE_LOITER = 2;
      @verbatim (language="comment", text=
        "takeoff setpoint")
      const uint8 SETPOINT_TYPE_TAKEOFF = 3;
      @verbatim (language="comment", text=
        "land setpoint, altitude must be ignored, descend until landing")
      const uint8 SETPOINT_TYPE_LAND = 4;
      @verbatim (language="comment", text=
        "do nothing, switch off motors or keep at idle speed (MC)")
      const uint8 SETPOINT_TYPE_IDLE = 5;
      @verbatim (language="comment", text=
        "Circular pattern")
      const uint8 LOITER_TYPE_ORBIT = 0;
      @verbatim (language="comment", text=
        "Pattern resembling an 8")
      const uint8 LOITER_TYPE_FIGUREEIGHT = 1;
    };
    @verbatim (language="comment", text=
      "this file is only used in the position_setpoint triple as a dependency")
    struct PositionSetpoint {
      @verbatim (language="comment", text=
        "time since system start (microseconds)")
      uint64 timestamp;

      @verbatim (language="comment", text=
        "true if setpoint is valid")
      boolean valid;

      @verbatim (language="comment", text=
        "setpoint type to adjust behavior of position controller")
      uint8 type;

      @verbatim (language="comment", text=
        "local velocity setpoint in m/s in NED")
      float vx;

      @verbatim (language="comment", text=
        "local velocity setpoint in m/s in NED")
      float vy;

      @verbatim (language="comment", text=
        "local velocity setpoint in m/s in NED")
      float vz;

      @verbatim (language="comment", text=
        "latitude, in deg")
      double lat;

      @verbatim (language="comment", text=
        "longitude, in deg")
      double lon;

      @verbatim (language="comment", text=
        "altitude AMSL, in m")
      float alt;

      @verbatim (language="comment", text=
        "yaw (only in hover), in rad [-PI..PI), NaN = leave to flight task")
      float yaw;

      @verbatim (language="comment", text=
        "loiter major axis radius in m")
      float loiter_radius;

      @verbatim (language="comment", text=
        "loiter minor axis radius (used for non-circular loiter shapes) in m")
      float loiter_minor_radius;

      @verbatim (language="comment", text=
        "loiter direction is clockwise by default and can be changed using this field")
      boolean loiter_direction_counter_clockwise;

      @verbatim (language="comment", text=
        "Orientation of the major axis with respect to true north in rad [-pi,pi)")
      float loiter_orientation;

      @verbatim (language="comment", text=
        "loitern pattern to follow")
      uint8 loiter_pattern;

      @verbatim (language="comment", text=
        "navigation acceptance_radius if we're doing waypoint navigation")
      float acceptance_radius;

      @verbatim (language="comment", text=
        "the generally desired cruising speed (not a hard constraint)")
      float cruising_speed;

      @verbatim (language="comment", text=
        "commands the vehicle to glide if the capability is available (fixed wing only)")
      boolean gliding_enabled;

      @verbatim (language="comment", text=
        "the generally desired cruising throttle (not a hard constraint), only has an effect for rover")
      float cruising_throttle;
    };
  };
};
