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


module px4_msgs {
  module msg {
    module VehicleCommand_Constants {
      @verbatim (language="comment", text=
        "test command")
      const uint16 VEHICLE_CMD_CUSTOM_0 = 0;
      @verbatim (language="comment", text=
        "test command")
      const uint16 VEHICLE_CMD_CUSTOM_1 = 1;
      @verbatim (language="comment", text=
        "test command")
      const uint16 VEHICLE_CMD_CUSTOM_2 = 2;
      @verbatim (language="comment", text=
        "Navigate to MISSION. |Hold time in decimal seconds. (ignored by fixed wing, time to stay at MISSION for rotary wing)| Acceptance radius in meters (if the sphere with this radius is hit, the MISSION counts as reached)| 0 to pass through the WP, if > 0 radius in meters to pass by WP. Positive value for clockwise orbit, negative value for counter-clockwise orbit. Allows trajectory control.| Desired yaw angle at MISSION (rotary wing)| Latitude| Longitude| Altitude|")
      const uint16 VEHICLE_CMD_NAV_WAYPOINT = 16;
      @verbatim (language="comment", text=
        "Loiter around this MISSION an unlimited amount of time |Empty| Empty| Radius around MISSION, in meters. If positive loiter clockwise, else counter-clockwise| Desired yaw angle.| Latitude| Longitude| Altitude|")
      const uint16 VEHICLE_CMD_NAV_LOITER_UNLIM = 17;
      @verbatim (language="comment", text=
        "Loiter around this MISSION for X turns |Turns| Empty| Radius around MISSION, in meters. If positive loiter clockwise, else counter-clockwise| Desired yaw angle.| Latitude| Longitude| Altitude|")
      const uint16 VEHICLE_CMD_NAV_LOITER_TURNS = 18;
      @verbatim (language="comment", text=
        "Loiter around this MISSION for X seconds |Seconds (decimal)| Empty| Radius around MISSION, in meters. If positive loiter clockwise, else counter-clockwise| Desired yaw angle.| Latitude| Longitude| Altitude|")
      const uint16 VEHICLE_CMD_NAV_LOITER_TIME = 19;
      @verbatim (language="comment", text=
        "Return to launch location |Empty| Empty| Empty| Empty| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_NAV_RETURN_TO_LAUNCH = 20;
      @verbatim (language="comment", text=
        "Land at location |Empty| Empty| Empty| Desired yaw angle.| Latitude| Longitude| Altitude|")
      const uint16 VEHICLE_CMD_NAV_LAND = 21;
      @verbatim (language="comment", text=
        "Takeoff from ground / hand |Minimum pitch (if airspeed sensor present), desired pitch without sensor| Empty| Empty| Yaw angle (if magnetometer present), ignored without magnetometer| Latitude| Longitude| Altitude|")
      const uint16 VEHICLE_CMD_NAV_TAKEOFF = 22;
      @verbatim (language="comment", text=
        "Attempt a precision landing")
      const uint16 VEHICLE_CMD_NAV_PRECLAND = 23;
      @verbatim (language="comment", text=
        "Start orbiting on the circumference of a circle defined by the parameters. |Radius [m] |Velocity [m/s] |Yaw behaviour |Empty |Latitude/X |Longitude/Y |Altitude/Z |")
      const uint16 VEHICLE_CMD_DO_ORBIT = 34;
      @verbatim (language="comment", text=
        "Start flying on the outline of a figure eight defined by the parameters. |Major Radius [m] |Minor Radius [m] |Velocity [m/s] |Orientation |Latitude/X |Longitude/Y |Altitude/Z |")
      const uint16 VEHICLE_CMD_DO_FIGUREEIGHT = 35;
      @verbatim (language="comment", text=
        "Sets the region of interest (ROI) for a sensor set or the vehicle itself. This can then be used by the vehicles control system to control the vehicle attitude and the attitude of various sensors such as cameras. |Region of interest mode. (see MAV_ROI enum)| MISSION index/ target ID. (see MAV_ROI enum)| ROI index (allows a vehicle to manage multiple ROI's)| Empty| x the location of the fixed ROI (see MAV_FRAME)| y| z|")
      const uint16 VEHICLE_CMD_NAV_ROI = 80;
      @verbatim (language="comment", text=
        "Control autonomous path planning on the MAV. |0: Disable local obstacle avoidance / local path planning (without resetting map), 1: Enable local path planning, 2: Enable and reset local path planning| 0: Disable full path planning (without resetting map), 1: Enable, 2: Enable and reset map/occupancy grid, 3: Enable and reset planned route, but not occupancy grid| Empty| Yaw angle at goal, in compass degrees,| Latitude/X of goal| Longitude/Y of goal| Altitude/Z of goal|")
      const uint16 VEHICLE_CMD_NAV_PATHPLANNING = 81;
      @verbatim (language="comment", text=
        "Takeoff from ground / hand and transition to fixed wing |Minimum pitch (if airspeed sensor present), desired pitch without sensor| Empty| Empty| Yaw angle (if magnetometer present), ignored without magnetometer| Latitude| Longitude| Altitude|")
      const uint16 VEHICLE_CMD_NAV_VTOL_TAKEOFF = 84;
      @verbatim (language="comment", text=
        "Transition to MC and land at location |Empty| Empty| Empty| Desired yaw angle.| Latitude| Longitude| Altitude|")
      const uint16 VEHICLE_CMD_NAV_VTOL_LAND = 85;
      @verbatim (language="comment", text=
        "set limits for external control |timeout - maximum time (in seconds) that external controller will be allowed to control vehicle. 0 means no timeout| absolute altitude min (in meters, AMSL) - if vehicle moves below this alt, the command will be aborted and the mission will continue.  0 means no lower altitude limit| absolute altitude max (in meters)- if vehicle moves above this alt, the command will be aborted and the mission will continue.  0 means no upper altitude limit| horizontal move limit (in meters, AMSL) - if vehicle moves more than this distance from it's location at the moment the command was executed, the command will be aborted and the mission will continue. 0 means no horizontal altitude limit| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_NAV_GUIDED_LIMITS = 90;
      @verbatim (language="comment", text=
        "set id of master controller |System ID| Component ID| Empty| Empty| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_NAV_GUIDED_MASTER = 91;
      @verbatim (language="comment", text=
        "Delay the next navigation command a number of seconds or until a specified time |Delay in seconds (decimal, -1 to enable time-of-day fields)| hour (24h format, UTC, -1 to ignore)| minute (24h format, UTC, -1 to ignore)| second (24h format, UTC)| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_NAV_DELAY = 93;
      @verbatim (language="comment", text=
        "NOP - This command is only used to mark the upper limit of the NAV/ACTION commands in the enumeration |Empty| Empty| Empty| Empty| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_NAV_LAST = 95;
      @verbatim (language="comment", text=
        "Delay mission state machine. |Delay in seconds (decimal)| Empty| Empty| Empty| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_CONDITION_DELAY = 112;
      @verbatim (language="comment", text=
        "Ascend/descend at rate.  Delay mission state machine until desired altitude reached. |Descent / Ascend rate (m/s)| Empty| Empty| Empty| Empty| Empty| Finish Altitude|")
      const uint16 VEHICLE_CMD_CONDITION_CHANGE_ALT = 113;
      @verbatim (language="comment", text=
        "Delay mission state machine until within desired distance of next NAV point. |Distance (meters)| Empty| Empty| Empty| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_CONDITION_DISTANCE = 114;
      @verbatim (language="comment", text=
        "Reach a certain target angle. |target angle: [0-360], 0 is north| speed during yaw change:[deg per second]| direction: negative: counter clockwise, positive: clockwise [-1,1]| relative offset or absolute angle: [ 1,0]| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_CONDITION_YAW = 115;
      @verbatim (language="comment", text=
        "NOP - This command is only used to mark the upper limit of the CONDITION commands in the enumeration |Empty| Empty| Empty| Empty| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_CONDITION_LAST = 159;
      @verbatim (language="comment", text=
        "Wait until passing a threshold |2D coord mode: 0: Orthogonal to planned route | Altitude mode: 0: Ignore altitude| Empty| Empty| Lat| Lon| Alt|")
      const uint16 VEHICLE_CMD_CONDITION_GATE = 4501;
      @verbatim (language="comment", text=
        "Set system mode. |Mode, as defined by ENUM MAV_MODE| Empty| Empty| Empty| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_DO_SET_MODE = 176;
      @verbatim (language="comment", text=
        "Jump to the desired command in the mission list.  Repeat this action only the specified number of times |Sequence number| Repeat count| Empty| Empty| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_DO_JUMP = 177;
      @verbatim (language="comment", text=
        "Change speed and/or throttle set points. |Speed type (0=Airspeed, 1=Ground Speed)| Speed  (m/s, -1 indicates no change)| Throttle  ( Percent, -1 indicates no change)| Empty| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_DO_CHANGE_SPEED = 178;
      @verbatim (language="comment", text=
        "Changes the home location either to the current location or a specified location. |Use current (1=use current location, 0=use specified location)| Empty| Empty| Empty| Latitude| Longitude| Altitude|")
      const uint16 VEHICLE_CMD_DO_SET_HOME = 179;
      @verbatim (language="comment", text=
        "Set a system parameter.  Caution!  Use of this command requires knowledge of the numeric enumeration value of the parameter. |Parameter number| Parameter value| Empty| Empty| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_DO_SET_PARAMETER = 180;
      @verbatim (language="comment", text=
        "Set a relay to a condition. |Relay number| Setting (1=on, 0=off, others possible depending on system hardware)| Empty| Empty| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_DO_SET_RELAY = 181;
      @verbatim (language="comment", text=
        "Cycle a relay on and off for a desired number of cycles with a desired period. |Relay number| Cycle count| Cycle time (seconds, decimal)| Empty| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_DO_REPEAT_RELAY = 182;
      @verbatim (language="comment", text=
        "Cycle a between its nominal setting and a desired PWM for a desired number of cycles with a desired period. |Servo number| PWM (microseconds, 1000 to 2000 typical)| Cycle count| Cycle time (seconds)| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_DO_REPEAT_SERVO = 184;
      @verbatim (language="comment", text=
        "Terminate flight immediately |Flight termination activated if > 0.5| Empty| Empty| Empty| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_DO_FLIGHTTERMINATION = 185;
      @verbatim (language="comment", text=
        "Set the vehicle to Loiter mode and change the altitude to specified value |Altitude| Frame of new altitude | Empty| Empty| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_DO_CHANGE_ALTITUDE = 186;
      @verbatim (language="comment", text=
        "Sets actuators (e.g. servos) to a desired value. |Actuator 1| Actuator 2| Actuator 3| Actuator 4| Actuator 5| Actuator 6| Index|")
      const uint16 VEHICLE_CMD_DO_SET_ACTUATOR = 187;
      @verbatim (language="comment", text=
        "Mission command to perform a landing. This is used as a marker in a mission to tell the autopilot where a sequence of mission items that represents a landing starts. It may also be sent via a COMMAND_LONG to trigger a landing, in which case the nearest (geographically) landing sequence in the mission will be used. The Latitude/Longitude is optional, and may be set to 0/0 if not needed. If specified then it will be used to help find the closest landing sequence. |Empty| Empty| Empty| Empty| Latitude| Longitude| Empty|")
      const uint16 VEHICLE_CMD_DO_LAND_START = 189;
      @verbatim (language="comment", text=
        "Mission command to safely abort an autonomous landing. |Altitude (meters)| Empty| Empty| Empty| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_DO_GO_AROUND = 191;
      @verbatim (language="comment", text=
        "Reposition to specific WGS84 GPS position. |Ground speed [m/s] |Bitmask |Loiter radius [m] for planes |Yaw [deg] |Latitude |Longitude |Altitude |")
      const uint16 VEHICLE_CMD_DO_REPOSITION = 192;
      const uint16 VEHICLE_CMD_DO_PAUSE_CONTINUE = 193;
      @verbatim (language="comment", text=
        "Sets the region of interest (ROI) to a location. This can then be used by the vehicles control system to control the vehicle attitude and the attitude of various sensors such as cameras. |Empty| Empty| Empty| Empty| Latitude| Longitude| Altitude|")
      const uint16 VEHICLE_CMD_DO_SET_ROI_LOCATION = 195;
      @verbatim (language="comment", text=
        "Sets the region of interest (ROI) to be toward next waypoint, with optional pitch/roll/yaw offset. This can then be used by the vehicles control system to control the vehicle attitude and the attitude of various sensors such as cameras. |Empty| Empty| Empty| Empty| pitch offset from next waypoint| roll offset from next waypoint| yaw offset from next waypoint|")
      const uint16 VEHICLE_CMD_DO_SET_ROI_WPNEXT_OFFSET = 196;
      @verbatim (language="comment", text=
        "Cancels any previous ROI command returning the vehicle/sensors to default flight characteristics. This can then be used by the vehicles control system to control the vehicle attitude and the attitude of various sensors such as cameras. |Empty| Empty| Empty| Empty| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_DO_SET_ROI_NONE = 197;
      @verbatim (language="comment", text=
        "Control onboard camera system. |Camera ID (-1 for all)| Transmission: 0: disabled, 1: enabled compressed, 2: enabled raw| Transmission mode: 0: video stream, >0: single images every n seconds (decimal)| Recording: 0: disabled, 1: enabled compressed, 2: enabled raw| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_DO_CONTROL_VIDEO = 200;
      @verbatim (language="comment", text=
        "Sets the region of interest (ROI) for a sensor set or the vehicle itself. This can then be used by the vehicles control system to control the vehicle attitude and the attitude of various sensors such as cameras. |Region of interest mode. (see MAV_ROI enum)| MISSION index/ target ID. (see MAV_ROI enum)| ROI index (allows a vehicle to manage multiple ROI's)| Empty| x the location of the fixed ROI (see MAV_FRAME)| y| z|")
      const uint16 VEHICLE_CMD_DO_SET_ROI = 201;
      const uint16 VEHICLE_CMD_DO_DIGICAM_CONTROL = 203;
      @verbatim (language="comment", text=
        "Mission command to configure a camera or antenna mount |Mount operation mode (see MAV_MOUNT_MODE enum)| stabilize roll? (1 = yes, 0 = no)| stabilize pitch? (1 = yes, 0 = no)| stabilize yaw? (1 = yes, 0 = no)| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_DO_MOUNT_CONFIGURE = 204;
      @verbatim (language="comment", text=
        "Mission command to control a camera or antenna mount |pitch or lat in degrees, depending on mount mode.| roll or lon in degrees depending on mount mode| yaw or alt (in meters) depending on mount mode| reserved| reserved| reserved| MAV_MOUNT_MODE enum value|")
      const uint16 VEHICLE_CMD_DO_MOUNT_CONTROL = 205;
      @verbatim (language="comment", text=
        "Mission command to set TRIG_DIST for this flight |Camera trigger distance (meters)| Shutter integration time (ms)| Empty| Empty| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_DO_SET_CAM_TRIGG_DIST = 206;
      @verbatim (language="comment", text=
        "Mission command to enable the geofence |enable? (0=disable, 1=enable)| Empty| Empty| Empty| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_DO_FENCE_ENABLE = 207;
      @verbatim (language="comment", text=
        "Mission command to trigger a parachute |action (0=disable, 1=enable, 2=release, for some systems see PARACHUTE_ACTION enum, not in general message set.)| Empty| Empty| Empty| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_DO_PARACHUTE = 208;
      @verbatim (language="comment", text=
        "motor test command |Instance (1, ...)| throttle type| throttle| timeout| Motor count | Test order| Empty|")
      const uint16 VEHICLE_CMD_DO_MOTOR_TEST = 209;
      @verbatim (language="comment", text=
        "Change to/from inverted flight |inverted (0=normal, 1=inverted)| Empty| Empty| Empty| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_DO_INVERTED_FLIGHT = 210;
      @verbatim (language="comment", text=
        "Command to operate a gripper")
      const uint16 VEHICLE_CMD_DO_GRIPPER = 211;
      @verbatim (language="comment", text=
        "Mission command to set TRIG_INTERVAL for this flight |Camera trigger distance (meters)| Shutter integration time (ms)| Empty| Empty| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_DO_SET_CAM_TRIGG_INTERVAL = 214;
      @verbatim (language="comment", text=
        "Mission command to control a camera or antenna mount, using a quaternion as reference. |q1 - quaternion param #1, w (1 in null-rotation)| q2 - quaternion param #2, x (0 in null-rotation)| q3 - quaternion param #3, y (0 in null-rotation)| q4 - quaternion param #4, z (0 in null-rotation)| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_DO_MOUNT_CONTROL_QUAT = 220;
      @verbatim (language="comment", text=
        "set id of master controller |System ID| Component ID| Empty| Empty| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_DO_GUIDED_MASTER = 221;
      @verbatim (language="comment", text=
        "set limits for external control |timeout - maximum time (in seconds) that external controller will be allowed to control vehicle. 0 means no timeout| absolute altitude min (in meters, AMSL) - if vehicle moves below this alt, the command will be aborted and the mission will continue.  0 means no lower altitude limit| absolute altitude max (in meters)- if vehicle moves above this alt, the command will be aborted and the mission will continue.  0 means no upper altitude limit| horizontal move limit (in meters, AMSL) - if vehicle moves more than this distance from it's location at the moment the command was executed, the command will be aborted and the mission will continue. 0 means no horizontal altitude limit| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_DO_GUIDED_LIMITS = 222;
      @verbatim (language="comment", text=
        "NOP - This command is only used to mark the upper limit of the DO commands in the enumeration |Empty| Empty| Empty| Empty| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_DO_LAST = 240;
      @verbatim (language="comment", text=
        "Trigger calibration. This command will be only accepted if in pre-flight mode. See mavlink spec MAV_CMD_PREFLIGHT_CALIBRATION")
      const uint16 VEHICLE_CMD_PREFLIGHT_CALIBRATION = 241;
      @verbatim (language="comment", text=
        "param value for VEHICLE_CMD_PREFLIGHT_CALIBRATION to start temperature calibration")
      const uint16 PREFLIGHT_CALIBRATION_TEMPERATURE_CALIBRATION = 3;
      @verbatim (language="comment", text=
        "Set sensor offsets. This command will be only accepted if in pre-flight mode. |Sensor to adjust the offsets for: 0: gyros, 1: accelerometer, 2: magnetometer, 3: barometer, 4: optical flow| X axis offset (or generic dimension 1), in the sensor's raw units| Y axis offset (or generic dimension 2), in the sensor's raw units| Z axis offset (or generic dimension 3), in the sensor's raw units| Generic dimension 4, in the sensor's raw units| Generic dimension 5, in the sensor's raw units| Generic dimension 6, in the sensor's raw units|")
      const uint16 VEHICLE_CMD_PREFLIGHT_SET_SENSOR_OFFSETS = 242;
      @verbatim (language="comment", text=
        "UAVCAN configuration. If param 1 == 1 actuator mapping and direction assignment should be started")
      const uint16 VEHICLE_CMD_PREFLIGHT_UAVCAN = 243;
      @verbatim (language="comment", text=
        "Request storage of different parameter values and logs. This command will be only accepted if in pre-flight mode. |Parameter storage: 0: READ FROM FLASH/EEPROM, 1: WRITE CURRENT TO FLASH/EEPROM| Mission storage: 0: READ FROM FLASH/EEPROM, 1: WRITE CURRENT TO FLASH/EEPROM| Reserved| Reserved| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_PREFLIGHT_STORAGE = 245;
      @verbatim (language="comment", text=
        "Request the reboot or shutdown of system components. |0: Do nothing for autopilot, 1: Reboot autopilot, 2: Shutdown autopilot.| 0: Do nothing for onboard computer, 1: Reboot onboard computer, 2: Shutdown onboard computer.| Reserved| Reserved| Empty| Empty| Empty|")
      const uint16 VEHICLE_CMD_PREFLIGHT_REBOOT_SHUTDOWN = 246;
      @verbatim (language="comment", text=
        "Mission command to set a Camera Auto Mount Pivoting Oblique Survey for this flight|Camera trigger distance (meters)| Shutter integration time (ms)| Camera minimum trigger interval| Number of positions| Roll| Pitch| Empty|")
      const uint16 VEHICLE_CMD_OBLIQUE_SURVEY = 260;
      @verbatim (language="comment", text=
        "Enable the specified standard MAVLink mode |MAV_STANDARD_MODE|")
      const uint16 VEHICLE_CMD_DO_SET_STANDARD_MODE = 262;
      @verbatim (language="comment", text=
        "Command to ask information about a low level gimbal")
      const uint16 VEHICLE_CMD_GIMBAL_DEVICE_INFORMATION = 283;
      @verbatim (language="comment", text=
        "start running a mission |first_item: the first mission item to run| last_item:  the last mission item to run (after this item is run, the mission ends)|")
      const uint16 VEHICLE_CMD_MISSION_START = 300;
      @verbatim (language="comment", text=
        "Actuator testing command|value [-1,1]|timeout|Empty|Empty|output function|")
      const uint16 VEHICLE_CMD_ACTUATOR_TEST = 310;
      @verbatim (language="comment", text=
        "Actuator configuration command|configuration|Empty|Empty|Empty|output function|")
      const uint16 VEHICLE_CMD_CONFIGURE_ACTUATOR = 311;
      @verbatim (language="comment", text=
        "Arms / Disarms a component |1 to arm, 0 to disarm")
      const uint16 VEHICLE_CMD_COMPONENT_ARM_DISARM = 400;
      @verbatim (language="comment", text=
        "Instructs a target system to run pre-arm checks.")
      const uint16 VEHICLE_CMD_RUN_PREARM_CHECKS = 401;
      @verbatim (language="comment", text=
        "Inject artificial failure for testing purposes")
      const uint16 VEHICLE_CMD_INJECT_FAILURE = 420;
      @verbatim (language="comment", text=
        "Starts receiver pairing |0:Spektrum| 0:Spektrum DSM2, 1:Spektrum DSMX|")
      const uint16 VEHICLE_CMD_START_RX_PAIR = 500;
      @verbatim (language="comment", text=
        "Request to send a single instance of the specified message")
      const uint16 VEHICLE_CMD_REQUEST_MESSAGE = 512;
      @verbatim (language="comment", text=
        "Request camera information (CAMERA_INFORMATION). |0: No action 1: Request camera capabilities| Reserved (all remaining params)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)| Reserved (default:0)|")
      const uint16 VEHICLE_CMD_REQUEST_CAMERA_INFORMATION = 521;
      @verbatim (language="comment", text=
        "Set camera capture mode (photo, video, etc.)")
      const uint16 VEHICLE_CMD_SET_CAMERA_MODE = 530;
      @verbatim (language="comment", text=
        "Set camera zoom")
      const uint16 VEHICLE_CMD_SET_CAMERA_ZOOM = 531;
      const uint16 VEHICLE_CMD_SET_CAMERA_FOCUS = 532;
      @verbatim (language="comment", text=
        "Setpoint to be sent to a gimbal manager to set a gimbal pitch and yaw")
      const uint16 VEHICLE_CMD_DO_GIMBAL_MANAGER_PITCHYAW = 1000;
      @verbatim (language="comment", text=
        "Gimbal configuration to set which sysid/compid is in primary and secondary control")
      const uint16 VEHICLE_CMD_DO_GIMBAL_MANAGER_CONFIGURE = 1001;
      @verbatim (language="comment", text=
        "Start image capture sequence.")
      const uint16 VEHICLE_CMD_IMAGE_START_CAPTURE = 2000;
      @verbatim (language="comment", text=
        "Enable or disable on-board camera triggering system")
      const uint16 VEHICLE_CMD_DO_TRIGGER_CONTROL = 2003;
      @verbatim (language="comment", text=
        "Start a video capture.")
      const uint16 VEHICLE_CMD_VIDEO_START_CAPTURE = 2500;
      @verbatim (language="comment", text=
        "Stop the current video capture.")
      const uint16 VEHICLE_CMD_VIDEO_STOP_CAPTURE = 2501;
      @verbatim (language="comment", text=
        "start streaming ULog data")
      const uint16 VEHICLE_CMD_LOGGING_START = 2510;
      @verbatim (language="comment", text=
        "stop streaming ULog data")
      const uint16 VEHICLE_CMD_LOGGING_STOP = 2511;
      @verbatim (language="comment", text=
        "control starting/stopping transmitting data over the high latency link")
      const uint16 VEHICLE_CMD_CONTROL_HIGH_LATENCY = 2600;
      @verbatim (language="comment", text=
        "Command VTOL transition")
      const uint16 VEHICLE_CMD_DO_VTOL_TRANSITION = 3000;
      @verbatim (language="comment", text=
        "Request arm authorization")
      const uint16 VEHICLE_CMD_ARM_AUTHORIZATION_REQUEST = 3001;
      @verbatim (language="comment", text=
        "Prepare a payload deployment in the flight plan")
      const uint16 VEHICLE_CMD_PAYLOAD_PREPARE_DEPLOY = 30001;
      @verbatim (language="comment", text=
        "Control a pre-programmed payload deployment")
      const uint16 VEHICLE_CMD_PAYLOAD_CONTROL_DEPLOY = 30002;
      @verbatim (language="comment", text=
        "Magnetometer calibration based on provided known yaw. This allows for fast calibration using WMM field tables in the vehicle, given only the known yaw of the vehicle. If Latitude and longitude are both zero then use the current vehicle location.")
      const uint16 VEHICLE_CMD_FIXED_MAG_CAL_YAW = 42006;
      @verbatim (language="comment", text=
        "Command to operate winch.")
      const uint16 VEHICLE_CMD_DO_WINCH = 42600;
      @verbatim (language="comment", text=
        "external reset of estimator global position when deadreckoning")
      const uint16 VEHICLE_CMD_EXTERNAL_POSITION_ESTIMATE = 43003;
      @verbatim (language="comment", text=
        "PX4 vehicle commands (beyond 16 bit mavlink commands)" "\n"        "start of PX4 internal only vehicle commands (> UINT16_MAX)")
      const uint32 VEHICLE_CMD_PX4_INTERNAL_START = 65537;
      @verbatim (language="comment", text=
        "Sets the GPS coordinates of the vehicle local origin (0,0,0) position. |Empty|Empty|Empty|Empty|Latitude|Longitude|Altitude|")
      const uint32 VEHICLE_CMD_SET_GPS_GLOBAL_ORIGIN = 100000;
      @verbatim (language="comment", text=
        "Change mode by specifying nav_state directly. |nav_state|Empty|Empty|Empty|Empty|Empty|Empty|")
      const uint32 VEHICLE_CMD_SET_NAV_STATE = 100001;
      @verbatim (language="comment", text=
        "Load and keep safe position (Roll,Pitch,Yaw) from permanent memory and stop stabilization |")
      const uint8 VEHICLE_MOUNT_MODE_RETRACT = 0;
      @verbatim (language="comment", text=
        "Load and keep neutral position (Roll,Pitch,Yaw) from permanent memory. |")
      const uint8 VEHICLE_MOUNT_MODE_NEUTRAL = 1;
      @verbatim (language="comment", text=
        "Load neutral position and start MAVLink Roll,Pitch,Yaw control with stabilization |")
      const uint8 VEHICLE_MOUNT_MODE_MAVLINK_TARGETING = 2;
      @verbatim (language="comment", text=
        "Load neutral position and start RC Roll,Pitch,Yaw control with stabilization |")
      const uint8 VEHICLE_MOUNT_MODE_RC_TARGETING = 3;
      @verbatim (language="comment", text=
        "Load neutral position and start to point to Lat,Lon,Alt |")
      const uint8 VEHICLE_MOUNT_MODE_GPS_POINT = 4;
      const uint8 VEHICLE_MOUNT_MODE_ENUM_END = 5;
      @verbatim (language="comment", text=
        "No region of interest |")
      const uint8 VEHICLE_ROI_NONE = 0;
      @verbatim (language="comment", text=
        "Point toward next MISSION |")
      const uint8 VEHICLE_ROI_WPNEXT = 1;
      @verbatim (language="comment", text=
        "Point toward given MISSION |")
      const uint8 VEHICLE_ROI_WPINDEX = 2;
      @verbatim (language="comment", text=
        "Point toward fixed location |")
      const uint8 VEHICLE_ROI_LOCATION = 3;
      @verbatim (language="comment", text=
        "Point toward target")
      const uint8 VEHICLE_ROI_TARGET = 4;
      const uint8 VEHICLE_ROI_ENUM_END = 5;
      const uint8 PARACHUTE_ACTION_DISABLE = 0;
      const uint8 PARACHUTE_ACTION_ENABLE = 1;
      const uint8 PARACHUTE_ACTION_RELEASE = 2;
      const uint8 FAILURE_UNIT_SENSOR_GYRO = 0;
      const uint8 FAILURE_UNIT_SENSOR_ACCEL = 1;
      const uint8 FAILURE_UNIT_SENSOR_MAG = 2;
      const uint8 FAILURE_UNIT_SENSOR_BARO = 3;
      const uint8 FAILURE_UNIT_SENSOR_GPS = 4;
      const uint8 FAILURE_UNIT_SENSOR_OPTICAL_FLOW = 5;
      const uint8 FAILURE_UNIT_SENSOR_VIO = 6;
      const uint8 FAILURE_UNIT_SENSOR_DISTANCE_SENSOR = 7;
      const uint8 FAILURE_UNIT_SENSOR_AIRSPEED = 8;
      const uint8 FAILURE_UNIT_SYSTEM_BATTERY = 100;
      const uint8 FAILURE_UNIT_SYSTEM_MOTOR = 101;
      const uint8 FAILURE_UNIT_SYSTEM_SERVO = 102;
      const uint8 FAILURE_UNIT_SYSTEM_AVOIDANCE = 103;
      const uint8 FAILURE_UNIT_SYSTEM_RC_SIGNAL = 104;
      const uint8 FAILURE_UNIT_SYSTEM_MAVLINK_SIGNAL = 105;
      const uint8 FAILURE_TYPE_OK = 0;
      const uint8 FAILURE_TYPE_OFF = 1;
      const uint8 FAILURE_TYPE_STUCK = 2;
      const uint8 FAILURE_TYPE_GARBAGE = 3;
      const uint8 FAILURE_TYPE_WRONG = 4;
      const uint8 FAILURE_TYPE_SLOW = 5;
      const uint8 FAILURE_TYPE_DELAYED = 6;
      const uint8 FAILURE_TYPE_INTERMITTENT = 7;
      @verbatim (language="comment", text=
        "used as param1 in DO_CHANGE_SPEED command")
      const uint8 SPEED_TYPE_AIRSPEED = 0;
      const uint8 SPEED_TYPE_GROUNDSPEED = 1;
      const uint8 SPEED_TYPE_CLIMB_SPEED = 2;
      const uint8 SPEED_TYPE_DESCEND_SPEED = 3;
      @verbatim (language="comment", text=
        "used as param1 in ARM_DISARM command")
      const int8 ARMING_ACTION_DISARM = 0;
      const int8 ARMING_ACTION_ARM = 1;
      @verbatim (language="comment", text=
        "param2 in VEHICLE_CMD_DO_GRIPPER")
      const uint8 GRIPPER_ACTION_RELEASE = 0;
      const uint8 GRIPPER_ACTION_GRAB = 1;
      const uint8 ORB_QUEUE_LENGTH = 8;
      const uint16 COMPONENT_MODE_EXECUTOR_START = 1000;
    };
    @verbatim (language="comment", text=
      "Vehicle Command uORB message. Used for commanding a mission / action / etc." "\n"
      "Follows the MAVLink COMMAND_INT / COMMAND_LONG definition")
    struct VehicleCommand {
      @verbatim (language="comment", text=
        "time since system start (microseconds)")
      uint64 timestamp;

      @verbatim (language="comment", text=
        "Parameter 1, as defined by MAVLink uint16 VEHICLE_CMD enum.")
      float param1;

      @verbatim (language="comment", text=
        "Parameter 2, as defined by MAVLink uint16 VEHICLE_CMD enum.")
      float param2;

      @verbatim (language="comment", text=
        "Parameter 3, as defined by MAVLink uint16 VEHICLE_CMD enum.")
      float param3;

      @verbatim (language="comment", text=
        "Parameter 4, as defined by MAVLink uint16 VEHICLE_CMD enum.")
      float param4;

      @verbatim (language="comment", text=
        "Parameter 5, as defined by MAVLink uint16 VEHICLE_CMD enum.")
      double param5;

      @verbatim (language="comment", text=
        "Parameter 6, as defined by MAVLink uint16 VEHICLE_CMD enum.")
      double param6;

      @verbatim (language="comment", text=
        "Parameter 7, as defined by MAVLink uint16 VEHICLE_CMD enum.")
      float param7;

      @verbatim (language="comment", text=
        "Command ID")
      uint32 command;

      @verbatim (language="comment", text=
        "System which should execute the command")
      uint8 target_system;

      @verbatim (language="comment", text=
        "Component which should execute the command, 0 for all components")
      uint8 target_component;

      @verbatim (language="comment", text=
        "System sending the command")
      uint8 source_system;

      @verbatim (language="comment", text=
        "Component / mode executor sending the command")
      uint16 source_component;

      @verbatim (language="comment", text=
        "0: First transmission of this command. 1-255: Confirmation transmissions (e.g. for kill command)")
      uint8 confirmation;

      boolean from_external;
    };
  };
};
