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


module px4_msgs {
  module msg {
    typedef uint8 uint8__9[9];
    typedef uint8 uint8__18[18];
    module TransponderReport_Constants {
      @verbatim (language="comment", text=
        "ADSB flags")
      const uint16 PX4_ADSB_FLAGS_VALID_COORDS = 1;
      const uint16 PX4_ADSB_FLAGS_VALID_ALTITUDE = 2;
      const uint16 PX4_ADSB_FLAGS_VALID_HEADING = 4;
      const uint16 PX4_ADSB_FLAGS_VALID_VELOCITY = 8;
      const uint16 PX4_ADSB_FLAGS_VALID_CALLSIGN = 16;
      const uint16 PX4_ADSB_FLAGS_VALID_SQUAWK = 32;
      const uint16 PX4_ADSB_FLAGS_RETRANSLATE = 256;
      @verbatim (language="comment", text=
        "ADSB Emitter Data:" "\n"        "from mavlink/v2.0/common/common.h")
      const uint16 ADSB_EMITTER_TYPE_NO_INFO = 0;
      const uint16 ADSB_EMITTER_TYPE_LIGHT = 1;
      const uint16 ADSB_EMITTER_TYPE_SMALL = 2;
      const uint16 ADSB_EMITTER_TYPE_LARGE = 3;
      const uint16 ADSB_EMITTER_TYPE_HIGH_VORTEX_LARGE = 4;
      const uint16 ADSB_EMITTER_TYPE_HEAVY = 5;
      const uint16 ADSB_EMITTER_TYPE_HIGHLY_MANUV = 6;
      const uint16 ADSB_EMITTER_TYPE_ROTOCRAFT = 7;
      const uint16 ADSB_EMITTER_TYPE_UNASSIGNED = 8;
      const uint16 ADSB_EMITTER_TYPE_GLIDER = 9;
      const uint16 ADSB_EMITTER_TYPE_LIGHTER_AIR = 10;
      const uint16 ADSB_EMITTER_TYPE_PARACHUTE = 11;
      const uint16 ADSB_EMITTER_TYPE_ULTRA_LIGHT = 12;
      const uint16 ADSB_EMITTER_TYPE_UNASSIGNED2 = 13;
      const uint16 ADSB_EMITTER_TYPE_UAV = 14;
      const uint16 ADSB_EMITTER_TYPE_SPACE = 15;
      const uint16 ADSB_EMITTER_TYPE_UNASSGINED3 = 16;
      const uint16 ADSB_EMITTER_TYPE_EMERGENCY_SURFACE = 17;
      const uint16 ADSB_EMITTER_TYPE_SERVICE_SURFACE = 18;
      const uint16 ADSB_EMITTER_TYPE_POINT_OBSTACLE = 19;
      const uint16 ADSB_EMITTER_TYPE_ENUM_END = 20;
      const uint8 ORB_QUEUE_LENGTH = 16;
    };
    struct TransponderReport {
      @verbatim (language="comment", text=
        "time since system start (microseconds)")
      uint64 timestamp;

      @verbatim (language="comment", text=
        "ICAO address")
      uint32 icao_address;

      @verbatim (language="comment", text=
        "Latitude, expressed as degrees")
      double lat;

      @verbatim (language="comment", text=
        "Longitude, expressed as degrees")
      double lon;

      @verbatim (language="comment", text=
        "Type from ADSB_ALTITUDE_TYPE enum")
      uint8 altitude_type;

      @verbatim (language="comment", text=
        "Altitude(ASL) in meters")
      float altitude;

      @verbatim (language="comment", text=
        "Course over ground in radians, -pi to +pi, 0 is north")
      float heading;

      @verbatim (language="comment", text=
        "The horizontal velocity in m/s")
      float hor_velocity;

      @verbatim (language="comment", text=
        "The vertical velocity in m/s, positive is up")
      float ver_velocity;

      @verbatim (language="comment", text=
        "The callsign, 8+null")
      uint8__9 callsign;

      @verbatim (language="comment", text=
        "Type from ADSB_EMITTER_TYPE enum")
      uint8 emitter_type;

      @verbatim (language="comment", text=
        "Time since last communication in seconds")
      uint8 tslc;

      @verbatim (language="comment", text=
        "Flags to indicate various statuses including valid data fields")
      uint16 flags;

      @verbatim (language="comment", text=
        "Squawk code")
      uint16 squawk;

      @verbatim (language="comment", text=
        "Unique UAS ID")
      uint8__18 uas_id;
    };
  };
};
