Commit 6bcdf8bc authored by PX4BuildBot's avatar PX4BuildBot

autogenerated headers for rev...

autogenerated headers for rev https://github.com/mavlink/mavlink/tree/e1fbf838c2951732c84efca903474e77011a029f
parent 2e532ee2
......@@ -5,7 +5,7 @@
#ifndef MAVLINK_VERSION_H
#define MAVLINK_VERSION_H
#define MAVLINK_BUILD_DATE "Tue Jan 5 20:06:58 2016"
#define MAVLINK_BUILD_DATE "Tue Jan 5 20:38:54 2016"
#define MAVLINK_WIRE_PROTOCOL_VERSION "1.0"
#define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 255
......
......@@ -5,7 +5,7 @@
#ifndef MAVLINK_VERSION_H
#define MAVLINK_VERSION_H
#define MAVLINK_BUILD_DATE "Tue Jan 5 20:06:40 2016"
#define MAVLINK_BUILD_DATE "Tue Jan 5 20:38:35 2016"
#define MAVLINK_WIRE_PROTOCOL_VERSION "1.0"
#define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 255
......
......@@ -5,7 +5,7 @@
#ifndef MAVLINK_VERSION_H
#define MAVLINK_VERSION_H
#define MAVLINK_BUILD_DATE "Tue Jan 5 20:06:43 2016"
#define MAVLINK_BUILD_DATE "Tue Jan 5 20:38:39 2016"
#define MAVLINK_WIRE_PROTOCOL_VERSION "1.0"
#define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 255
......
......@@ -5,7 +5,7 @@
#ifndef MAVLINK_VERSION_H
#define MAVLINK_VERSION_H
#define MAVLINK_BUILD_DATE "Tue Jan 5 20:07:04 2016"
#define MAVLINK_BUILD_DATE "Tue Jan 5 20:39:00 2016"
#define MAVLINK_WIRE_PROTOCOL_VERSION "1.0"
#define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 255
......
......@@ -5,7 +5,7 @@
#ifndef MAVLINK_VERSION_H
#define MAVLINK_VERSION_H
#define MAVLINK_BUILD_DATE "Tue Jan 5 20:06:47 2016"
#define MAVLINK_BUILD_DATE "Tue Jan 5 20:38:42 2016"
#define MAVLINK_WIRE_PROTOCOL_VERSION "1.0"
#define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 255
......
<?xml version='1.0'?>
<!-- ASLUAV Mavlink Message Definition File -->
<!-- Used for the ASLUAV fixed-wing autopilot (www.asl.ethz.ch), which implements extensions to the Pixhawk (www.pixhawk.org) autopilot -->
<mavlink>
<include>common.xml</include>
<enums>
<enum name="MAV_CMD">
<!-- ASLUAV specific MAV_CMD_* commands -->
<entry name="MAV_CMD_RESET_MPPT" value="40001">
<description>Mission command to reset Maximum Power Point Tracker (MPPT)</description>
<param index="1">MPPT number</param>
<param index="2">Empty</param>
<param index="3">Empty</param>
<param index="4">Empty</param>
<param index="5">Empty</param>
<param index="6">Empty</param>
<param index="7">Empty</param>
</entry>
<entry name="MAV_CMD_PAYLOAD_CONTROL" value="40002">
<description>Mission command to perform a power cycle on payload</description>
<param index="1">Complete power cycle</param>
<param index="2">VISensor power cycle</param>
<param index="3">Empty</param>
<param index="4">Empty</param>
<param index="5">Empty</param>
<param index="6">Empty</param>
<param index="7">Empty</param>
</entry>
</enum>
</enums>
<messages>
<message id="201" name="SENS_POWER">
<description>Voltage and current sensor data</description>
<field type="float" name="adc121_vspb_volt"> Power board voltage sensor reading in volts</field>
<field type="float" name="adc121_cspb_amp"> Power board current sensor reading in amps</field>
<field type="float" name="adc121_cs1_amp"> Board current sensor 1 reading in amps</field>
<field type="float" name="adc121_cs2_amp"> Board current sensor 2 reading in amps</field>
</message>
<message id="202" name="SENS_MPPT">
<description>Maximum Power Point Tracker (MPPT) sensor data for solar module power performance tracking</description>
<field type="uint64_t" name="mppt_timestamp"> MPPT last timestamp </field>
<field type="float" name="mppt1_volt"> MPPT1 voltage </field>
<field type="float" name="mppt1_amp"> MPPT1 current </field>
<field type="uint16_t" name="mppt1_pwm"> MPPT1 pwm </field>
<field type="uint8_t" name="mppt1_status"> MPPT1 status </field>
<field type="float" name="mppt2_volt"> MPPT2 voltage </field>
<field type="float" name="mppt2_amp"> MPPT2 current </field>
<field type="uint16_t" name="mppt2_pwm"> MPPT2 pwm </field>
<field type="uint8_t" name="mppt2_status"> MPPT2 status </field>
<field type="float" name="mppt3_volt"> MPPT3 voltage </field>
<field type="float" name="mppt3_amp"> MPPT3 current </field>
<field type="uint16_t" name="mppt3_pwm"> MPPT3 pwm </field>
<field type="uint8_t" name="mppt3_status"> MPPT3 status </field>
</message>
<message id="203" name="ASLCTRL_DATA">
<description>ASL-fixed-wing controller data</description>
<field type="uint64_t" name="timestamp"> Timestamp</field>
<field type="uint8_t" name="aslctrl_mode"> ASLCTRL control-mode (manual, stabilized, auto, etc...)</field>
<field type="float" name="h"> See sourcecode for a description of these values... </field>
<field type="float" name="hRef"> </field>
<field type="float" name="hRef_t"> </field>
<field type="float" name="PitchAngle">Pitch angle [deg]</field>
<field type="float" name="PitchAngleRef">Pitch angle reference[deg] </field>
<field type="float" name="q"> </field>
<field type="float" name="qRef"> </field>
<field type="float" name="uElev"> </field>
<field type="float" name="uThrot"> </field>
<field type="float" name="uThrot2"> </field>
<field type="float" name="aZ"> </field>
<field type="float" name="AirspeedRef">Airspeed reference [m/s]</field>
<field type="uint8_t" name="SpoilersEngaged"> </field>
<field type="float" name="YawAngle">Yaw angle [deg]</field>
<field type="float" name="YawAngleRef">Yaw angle reference[deg]</field>
<field type="float" name="RollAngle">Roll angle [deg]</field>
<field type="float" name="RollAngleRef">Roll angle reference[deg]</field>
<field type="float" name="p"> </field>
<field type="float" name="pRef"> </field>
<field type="float" name="r"> </field>
<field type="float" name="rRef"> </field>
<field type="float" name="uAil"> </field>
<field type="float" name="uRud"> </field>
</message>
<message id="204" name="ASLCTRL_DEBUG">
<description>ASL-fixed-wing controller debug data</description>
<field type="uint32_t" name="i32_1"> Debug data</field>
<field type="uint8_t" name="i8_1"> Debug data</field>
<field type="uint8_t" name="i8_2"> Debug data</field>
<field type="float" name="f_1"> Debug data </field>
<field type="float" name="f_2"> Debug data</field>
<field type="float" name="f_3"> Debug data</field>
<field type="float" name="f_4"> Debug data</field>
<field type="float" name="f_5"> Debug data</field>
<field type="float" name="f_6"> Debug data</field>
<field type="float" name="f_7"> Debug data</field>
<field type="float" name="f_8"> Debug data</field>
</message>
<message id="205" name="ASLUAV_STATUS">
<description>Extended state information for ASLUAVs</description>
<field type="uint8_t" name="LED_status"> Status of the position-indicator LEDs</field>
<field type="uint8_t" name="SATCOM_status"> Status of the IRIDIUM satellite communication system</field>
<field type="uint8_t[8]" name="Servo_status"> Status vector for up to 8 servos</field>
<field type="float" name="Motor_rpm"> Motor RPM </field>
<!-- to be extended-->
</message>
<message id="206" name="EKF_EXT">
<description>Extended EKF state estimates for ASLUAVs</description>
<field type="uint64_t" name="timestamp"> Time since system start [us]</field>
<field type="float" name="Windspeed"> Magnitude of wind velocity (in lateral inertial plane) [m/s]</field>
<field type="float" name="WindDir"> Wind heading angle from North [rad]</field>
<field type="float" name="WindZ"> Z (Down) component of inertial wind velocity [m/s]</field>
<field type="float" name="Airspeed"> Magnitude of air velocity [m/s]</field>
<field type="float" name="beta"> Sideslip angle [rad]</field>
<field type="float" name="alpha"> Angle of attack [rad]</field>
</message>
<message id="207" name="ASL_OBCTRL">
<description>Off-board controls/commands for ASLUAVs</description>
<field type="uint64_t" name="timestamp"> Time since system start [us]</field>
<field type="float" name="uElev"> Elevator command [~]</field>
<field type="float" name="uThrot"> Throttle command [~]</field>
<field type="float" name="uThrot2"> Throttle 2 command [~]</field>
<field type="float" name="uAilL"> Left aileron command [~]</field>
<field type="float" name="uAilR"> Right aileron command [~]</field>
<field type="float" name="uRud"> Rudder command [~]</field>
<field type="uint8_t" name="obctrl_status"> Off-board computer status</field>
</message>
<message id="208" name="SENS_ATMOS">
<description>Atmospheric sensors (temperature, humidity, ...) </description>
<field type="float" name="TempAmbient"> Ambient temperature [degrees Celsius]</field>
<field type="float" name="Humidity"> Relative humidity [%]</field>
</message>
<message id="209" name="SENS_BATMON">
<description>Battery pack monitoring data for Li-Ion batteries</description>
<field type="float" name="temperature">Battery pack temperature in [deg C]</field>
<field type="uint16_t" name="voltage">Battery pack voltage in [mV]</field>
<field type="int16_t" name="current">Battery pack current in [mA]</field>
<field type="uint8_t" name="SoC">Battery pack state-of-charge</field>
<field type="uint16_t" name="batterystatus">Battery monitor status report bits in Hex</field>
<field type="uint16_t" name="serialnumber">Battery monitor serial number in Hex</field>
<field type="uint16_t" name="hostfetcontrol">Battery monitor sensor host FET control in Hex</field>
<field type="uint16_t" name="cellvoltage1">Battery pack cell 1 voltage in [mV]</field>
<field type="uint16_t" name="cellvoltage2">Battery pack cell 2 voltage in [mV]</field>
<field type="uint16_t" name="cellvoltage3">Battery pack cell 3 voltage in [mV]</field>
<field type="uint16_t" name="cellvoltage4">Battery pack cell 4 voltage in [mV]</field>
<field type="uint16_t" name="cellvoltage5">Battery pack cell 5 voltage in [mV]</field>
<field type="uint16_t" name="cellvoltage6">Battery pack cell 6 voltage in [mV]</field>
</message>
<message id="210" name="FW_SOARING_DATA">
<description>Fixed-wing soaring (i.e. thermal seeking) data</description>
<field type="uint64_t" name="timestamp">Timestamp [ms]</field>
<field type="uint64_t" name="timestampModeChanged">Timestamp since last mode change[ms]</field>
<field type="float" name="CurrentUpdraftSpeed">Updraft speed at current/local airplane position [m/s]</field>
<field type="float" name="xW">Thermal core updraft strength [m/s]</field>
<field type="float" name="xR">Thermal radius [m]</field>
<field type="float" name="xLat">Thermal center latitude [deg]</field>
<field type="float" name="xLon">Thermal center longitude [deg]</field>
<field type="float" name="VarW">Variance W</field>
<field type="float" name="VarR">Variance R</field>
<field type="float" name="VarLat">Variance Lat</field>
<field type="float" name="VarLon">Variance Lon </field>
<field type="float" name="LoiterRadius">Suggested loiter radius [m]</field>
<field type="uint8_t" name="ControlMode">Control Mode [-]</field>
<field type="uint8_t" name="valid">Data valid [-]</field>
</message>
<message id="211" name="SENSORPOD_STATUS">
<description>Monitoring of sensorpod status</description>
<field type="uint64_t" name="timestamp">Timestamp in linuxtime [ms] (since 1.1.1970)</field>
<field type="uint8_t" name="visensor_rate_1">Rate of ROS topic 1</field>
<field type="uint8_t" name="visensor_rate_2">Rate of ROS topic 2</field>
<field type="uint8_t" name="visensor_rate_3">Rate of ROS topic 3</field>
<field type="uint8_t" name="visensor_rate_4">Rate of ROS topic 4</field>
<field type="uint8_t" name="recording_nodes_count">Number of recording nodes</field>
<field type="uint8_t" name="cpu_temp">Temperature of sensorpod CPU in [deg C]</field>
<field type="uint16_t" name="free_space">Free space available in recordings directory in [Gb] * 1e2</field>
</message>
</messages>
</mavlink>
<?xml version='1.0'?>
<mavlink>
<include>common.xml</include>
<!-- note that APM specific messages should use the command id
range from 150 to 250, to leave plenty of room for growth
of common.xml
If you prototype a message here, then you should consider if it
is general enough to move into common.xml later
-->
<enums>
<!-- ardupilot specific MAV_CMD_* commands -->
<enum name="MAV_CMD">
<entry name="MAV_CMD_DO_MOTOR_TEST" value="209">
<description>Mission command to perform motor test</description>
<param index="1">motor sequence number (a number from 1 to max number of motors on the vehicle)</param>
<param index="2">throttle type (0=throttle percentage, 1=PWM, 2=pilot throttle channel pass-through. See MOTOR_TEST_THROTTLE_TYPE enum)</param>
<param index="3">throttle</param>
<param index="4">timeout (in seconds)</param>
<param index="5">Empty</param>
<param index="6">Empty</param>
<param index="7">Empty</param>
</entry>
<entry name="MAV_CMD_DO_GRIPPER" value="211">
<description>Mission command to operate EPM gripper</description>
<param index="1">gripper number (a number from 1 to max number of grippers on the vehicle)</param>
<param index="2">gripper action (0=release, 1=grab. See GRIPPER_ACTIONS enum)</param>
<param index="3">Empty</param>
<param index="4">Empty</param>
<param index="5">Empty</param>
<param index="6">Empty</param>
<param index="7">Empty</param>
</entry>
<entry name="MAV_CMD_DO_AUTOTUNE_ENABLE" value="212">
<description>Enable/disable autotune</description>
<param index="1">enable (1: enable, 0:disable)</param>
<param index="2">Empty</param>
<param index="3">Empty</param>
<param index="4">Empty</param>
<param index="5">Empty</param>
<param index="6">Empty</param>
<param index="7">Empty</param>
</entry>
<entry name="MAV_CMD_NAV_ALTITUDE_WAIT" value="83">
<description>Mission command to wait for an altitude or downwards vertical speed. This is meant for high altitude balloon launches, allowing the aircraft to be idle until either an altitude is reached or a negative vertical speed is reached (indicating early balloon burst). The wiggle time is how often to wiggle the control surfaces to prevent them seizing up.</description>
<param index="1">altitude (m)</param>
<param index="2">descent speed (m/s)</param>
<param index="3">Wiggle Time (s)</param>
<param index="4">Empty</param>
<param index="5">Empty</param>
<param index="6">Empty</param>
<param index="7">Empty</param>
</entry>
<entry name="MAV_CMD_DO_START_MAG_CAL" value="42424">
<description>Initiate a magnetometer calibration</description>
<param index="1">uint8_t bitmask of magnetometers (0 means all)</param>
<param index="2">Automatically retry on failure (0=no retry, 1=retry).</param>
<param index="3">Save without user input (0=require input, 1=autosave).</param>
<param index="4">Delay (seconds)</param>
<param index="5">Empty</param>
<param index="6">Empty</param>
<param index="7">Empty</param>
</entry>
<entry name="MAV_CMD_DO_ACCEPT_MAG_CAL" value="42425">
<description>Initiate a magnetometer calibration</description>
<param index="1">uint8_t bitmask of magnetometers (0 means all)</param>
<param index="2">Empty</param>
<param index="3">Empty</param>
<param index="4">Empty</param>
<param index="5">Empty</param>
<param index="6">Empty</param>
<param index="7">Empty</param>
</entry>
<entry name="MAV_CMD_DO_CANCEL_MAG_CAL" value="42426">
<description>Cancel a running magnetometer calibration</description>
<param index="1">uint8_t bitmask of magnetometers (0 means all)</param>
<param index="2">Empty</param>
<param index="3">Empty</param>
<param index="4">Empty</param>
<param index="5">Empty</param>
<param index="6">Empty</param>
<param index="7">Empty</param>
</entry>
<entry name="MAV_CMD_DO_SEND_BANNER" value="42428">
<description>Reply with the version banner</description>
<param index="1">Empty</param>
<param index="2">Empty</param>
<param index="3">Empty</param>
<param index="4">Empty</param>
<param index="5">Empty</param>
<param index="6">Empty</param>
<param index="7">Empty</param>
</entry>
</enum>
<!-- AP_Limits Enums -->
<enum name="LIMITS_STATE">
<entry name="LIMITS_INIT" value="0"> <description> pre-initialization</description></entry>
<entry name="LIMITS_DISABLED" value="1"> <description> disabled</description></entry>
<entry name="LIMITS_ENABLED" value="2"> <description> checking limits</description></entry>
<entry name="LIMITS_TRIGGERED" value="3"> <description> a limit has been breached</description></entry>
<entry name="LIMITS_RECOVERING" value="4"> <description> taking action eg. RTL</description></entry>
<entry name="LIMITS_RECOVERED" value="5"> <description> we're no longer in breach of a limit</description></entry>
</enum>
<!-- AP_Limits Modules - power of 2 (1,2,4,8,16,32 etc) so we can send as bitfield -->
<enum name="LIMIT_MODULE">
<entry name="LIMIT_GPSLOCK" value="1"> <description> pre-initialization</description></entry>
<entry name="LIMIT_GEOFENCE" value="2"> <description> disabled</description></entry>
<entry name="LIMIT_ALTITUDE" value="4"> <description> checking limits</description></entry>
</enum>
<!-- RALLY flags - power of 2 (1,2,4,8,16,32,64,128) so we can send as a bitfield -->
<enum name="RALLY_FLAGS">
<description>Flags in RALLY_POINT message</description>
<entry name="FAVORABLE_WIND" value="1"> <description>Flag set when requiring favorable winds for landing. </description></entry>
<entry name="LAND_IMMEDIATELY" value="2"> <description>Flag set when plane is to immediately descend to break altitude and land without GCS intervention. Flag not set when plane is to loiter at Rally point until commanded to land.</description></entry>
</enum>
<!-- parachute action enum -->
<enum name="PARACHUTE_ACTION">
<entry name="PARACHUTE_DISABLE" value="0">
<description>Disable parachute release</description>
</entry>
<entry name="PARACHUTE_ENABLE" value="1">
<description>Enable parachute release</description>
</entry>
<entry name="PARACHUTE_RELEASE" value="2">
<description>Release parachute</description>
</entry>
</enum>
<!-- motor test type enum -->
<enum name="MOTOR_TEST_THROTTLE_TYPE">
<entry name="MOTOR_TEST_THROTTLE_PERCENT" value="0">
<description>throttle as a percentage from 0 ~ 100</description>
</entry>
<entry name="MOTOR_TEST_THROTTLE_PWM" value="1">
<description>throttle as an absolute PWM value (normally in range of 1000~2000)</description>
</entry>
<entry name="MOTOR_TEST_THROTTLE_PILOT" value="2">
<description>throttle pass-through from pilot's transmitter</description>
</entry>
</enum>
<!-- gripper action enum -->
<enum name="GRIPPER_ACTIONS">
<description>Gripper actions.</description>
<entry name="GRIPPER_ACTION_RELEASE" value="0">
<description>gripper release of cargo</description>
</entry>
<entry name="GRIPPER_ACTION_GRAB" value="1">
<description>gripper grabs onto cargo</description>
</entry>
</enum>
<!-- Camera event types -->
<enum name="CAMERA_STATUS_TYPES">
<entry name="CAMERA_STATUS_TYPE_HEARTBEAT" value="0"><description>Camera heartbeat, announce camera component ID at 1hz</description></entry>
<entry name="CAMERA_STATUS_TYPE_TRIGGER" value="1"><description>Camera image triggered</description></entry>
<entry name="CAMERA_STATUS_TYPE_DISCONNECT" value="2"><description>Camera connection lost</description></entry>
<entry name="CAMERA_STATUS_TYPE_ERROR" value="3"><description>Camera unknown error</description></entry>
<entry name="CAMERA_STATUS_TYPE_LOWBATT" value="4"><description>Camera battery low. Parameter p1 shows reported voltage</description></entry>
<entry name="CAMERA_STATUS_TYPE_LOWSTORE" value="5"><description>Camera storage low. Parameter p1 shows reported shots remaining</description></entry>
<entry name="CAMERA_STATUS_TYPE_LOWSTOREV" value="6"><description>Camera storage low. Parameter p1 shows reported video minutes remaining</description></entry>
</enum>
<!-- camera feedback flags, a little bit of future-proofing -->
<enum name="CAMERA_FEEDBACK_FLAGS">
<entry name="CAMERA_FEEDBACK_PHOTO" value="0"> <description>Shooting photos, not video</description></entry>
<entry name="CAMERA_FEEDBACK_VIDEO" value="1"> <description>Shooting video, not stills</description></entry>
<entry name="CAMERA_FEEDBACK_BADEXPOSURE" value="2"> <description>Unable to achieve requested exposure (e.g. shutter speed too low)</description></entry>
<entry name="CAMERA_FEEDBACK_CLOSEDLOOP" value="3"> <description>Closed loop feedback from camera, we know for sure it has successfully taken a picture</description></entry>
<entry name="CAMERA_FEEDBACK_OPENLOOP" value="4"> <description>Open loop camera, an image trigger has been requested but we can't know for sure it has successfully taken a picture</description></entry>
</enum>
<!-- Gimbal payload enumerations -->
<enum name="MAV_MODE_GIMBAL">
<entry name="MAV_MODE_GIMBAL_UNINITIALIZED" value="0">
<description>Gimbal is powered on but has not started initializing yet</description>
</entry>
<entry name="MAV_MODE_GIMBAL_CALIBRATING_PITCH" value="1">
<description>Gimbal is currently running calibration on the pitch axis</description>
</entry>
<entry name="MAV_MODE_GIMBAL_CALIBRATING_ROLL" value="2">
<description>Gimbal is currently running calibration on the roll axis</description>
</entry>
<entry name="MAV_MODE_GIMBAL_CALIBRATING_YAW" value="3">
<description>Gimbal is currently running calibration on the yaw axis</description>
</entry>
<entry name="MAV_MODE_GIMBAL_INITIALIZED" value="4">
<description>Gimbal has finished calibrating and initializing, but is relaxed pending reception of first rate command from copter</description>
</entry>
<entry name="MAV_MODE_GIMBAL_ACTIVE" value="5">
<description>Gimbal is actively stabilizing</description>
</entry>
<entry name="MAV_MODE_GIMBAL_RATE_CMD_TIMEOUT" value="6">
<description>Gimbal is relaxed because it missed more than 10 expected rate command messages in a row. Gimbal will move back to active mode when it receives a new rate command</description>
</entry>
</enum>
<enum name="GIMBAL_AXIS">
<entry name="GIMBAL_AXIS_YAW" value="0">
<description>Gimbal yaw axis</description>
</entry>
<entry name="GIMBAL_AXIS_PITCH" value="1">
<description>Gimbal pitch axis</description>
</entry>
<entry name="GIMBAL_AXIS_ROLL" value="2">
<description>Gimbal roll axis</description>
</entry>
</enum>
<enum name="GIMBAL_AXIS_CALIBRATION_STATUS">
<entry name="GIMBAL_AXIS_CALIBRATION_STATUS_IN_PROGRESS" value="0">
<description>Axis calibration is in progress</description>
</entry>
<entry name="GIMBAL_AXIS_CALIBRATION_STATUS_SUCCEEDED" value="1">
<description>Axis calibration succeeded</description>
</entry>
<entry name="GIMBAL_AXIS_CALIBRATION_STATUS_FAILED" value="2">
<description>Axis calibration failed</description>
</entry>
</enum>
<enum name="FACTORY_TEST">
<entry name="FACTORY_TEST_AXIS_RANGE_LIMITS" value="0">
<description>Tests to make sure each axis can move to its mechanical limits</description>
</entry>
</enum>
<!-- GoPro command result enumeration -->
<enum name="GOPRO_CMD_RESULT">
<entry name="GOPRO_CMD_RESULT_UNKNOWN" value="0">
<description>The result of the command is unknown</description>
</entry>
<entry name="GOPRO_CMD_RESULT_SUCCESSFUL" value="1">
<description>The command was successfully sent, and a response was successfully received</description>
</entry>
<entry name="GOPRO_CMD_RESULT_SEND_CMD_START_TIMEOUT" value="2">
<description>Timed out waiting for the GoPro to acknowledge our request to send a command</description>
</entry>
<entry name="GOPRO_CMD_RESULT_SEND_CMD_COMPLETE_TIMEOUT" value="3">
<description>Timed out waiting for the GoPro to read the command</description>
</entry>
<entry name="GOPRO_CMD_RESULT_GET_RESPONSE_START_TIMEOUT" value="4">
<description>Timed out waiting for the GoPro to begin transmitting a response to the command</description>
</entry>
<entry name="GOPRO_CMD_RESULT_GET_RESPONSE_COMPLETE_TIMEOUT" value="5">
<description>Timed out waiting for the GoPro to finish transmitting a response to the command</description>
</entry>
<entry name="GOPRO_CMD_RESULT_GET_CMD_COMPLETE_TIMEOUT" value="6">
<description>Timed out waiting for the GoPro to finish transmitting its own command</description>
</entry>
<entry name="GOPRO_CMD_RESULT_SEND_RESPONSE_START_TIMEOUT" value="7">
<description>Timed out waiting for the GoPro to start reading a response to its own command</description>
</entry>
<entry name="GOPRO_CMD_RESULT_SEND_RESPONSE_COMPLETE_TIMEOUT" value="8">
<description>Timed out waiting for the GoPro to finish reading a response to its own command</description>
</entry>
<entry name="GOPRO_CMD_RESULT_PREEMPTED" value="9">
<description>Command to the GoPro was preempted by the GoPro sending its own command</description>
</entry>
<entry name="GOPRO_CMD_RECEIVED_DATA_OVERFLOW" value="10">
<description>More data than expected received in response to the command</description>
</entry>
<entry name="GOPRO_CMD_RECEIVED_DATA_UNDERFLOW" value="11">
<description>Less data than expected received in response to the command</description>
</entry>
</enum>
<!-- led control pattern enums (enumeration of specific patterns) -->
<enum name="LED_CONTROL_PATTERN">
<entry name="LED_CONTROL_PATTERN_OFF" value="0"> <description>LED patterns off (return control to regular vehicle control)</description></entry>
<entry name="LED_CONTROL_PATTERN_FIRMWAREUPDATE" value="1"> <description>LEDs show pattern during firmware update</description></entry>
<entry name="LED_CONTROL_PATTERN_CUSTOM" value="255"> <description>Custom Pattern using custom bytes fields</description></entry>
</enum>
<!-- EKF_STATUS_FLAGS - these values should be bit-and with the messages flags field to know if flag has been set -->
<enum name="EKF_STATUS_FLAGS">
<description>Flags in EKF_STATUS message</description>
<entry name="EKF_ATTITUDE" value="1"> <description>set if EKF's attitude estimate is good</description></entry>
<entry name="EKF_VELOCITY_HORIZ" value="2"> <description>set if EKF's horizontal velocity estimate is good</description></entry>
<entry name="EKF_VELOCITY_VERT" value="4"> <description>set if EKF's vertical velocity estimate is good</description></entry>
<entry name="EKF_POS_HORIZ_REL" value="8"> <description>set if EKF's horizontal position (relative) estimate is good</description></entry>
<entry name="EKF_POS_HORIZ_ABS" value="16"> <description>set if EKF's horizontal position (absolute) estimate is good</description></entry>
<entry name="EKF_POS_VERT_ABS" value="32"> <description>set if EKF's vertical position (absolute) estimate is good</description></entry>
<entry name="EKF_POS_VERT_AGL" value="64"> <description>set if EKF's vertical position (above ground) estimate is good</description></entry>
<entry name="EKF_CONST_POS_MODE" value="128"> <description>EKF is in constant position mode and does not know it's absolute or relative position</description></entry>
<entry name="EKF_PRED_POS_HORIZ_REL" value="256"> <description>set if EKF's predicted horizontal position (relative) estimate is good</description></entry>
<entry name="EKF_PRED_POS_HORIZ_ABS" value="512"> <description>set if EKF's predicted horizontal position (absolute) estimate is good</description></entry>
</enum>
<enum name="MAG_CAL_STATUS">
<entry name="MAG_CAL_NOT_STARTED" value="0"></entry>
<entry name="MAG_CAL_WAITING_TO_START" value="1"></entry>
<entry name="MAG_CAL_RUNNING_STEP_ONE" value="2"></entry>
<entry name="MAG_CAL_RUNNING_STEP_TWO" value="3"></entry>
<entry name="MAG_CAL_SUCCESS" value="4"></entry>
<entry name="MAG_CAL_FAILED" value="5"></entry>
</enum>
<enum name="MAV_REMOTE_LOG_DATA_BLOCK_COMMANDS">
<description>Special ACK block numbers control activation of dataflash log streaming</description>
<!-- C uses signed integers for enumerations; these constants
start at MAX_INT32_T and go down -->
<!-- 2^31-3 == 2147483645 -->
<entry value="2147483645" name="MAV_REMOTE_LOG_DATA_BLOCK_STOP">
<description>UAV to stop sending DataFlash blocks</description>
</entry>
<!-- 2^31-2 == 2147483646 -->
<entry value="2147483646" name="MAV_REMOTE_LOG_DATA_BLOCK_START">
<description>UAV to start sending DataFlash blocks</description>
</entry>
<!-- MAV_REMOTE_LOG_DATA_BLOCK_COMMANDS_ENUM_END will be 2^31-1 == 2147483647 -->
</enum>
<enum name="MAV_REMOTE_LOG_DATA_BLOCK_STATUSES">
<description>Possible remote log data block statuses</description>
<entry value="0" name="MAV_REMOTE_LOG_DATA_BLOCK_NACK">
<description>This block has NOT been received</description>
</entry>
<entry value="1" name="MAV_REMOTE_LOG_DATA_BLOCK_ACK">
<description>This block has been received</description>
</entry>
</enum>
<enum name="PID_TUNING_AXIS">
<entry name="PID_TUNING_ROLL" value="1"></entry>
<entry name="PID_TUNING_PITCH" value="2"></entry>
<entry name="PID_TUNING_YAW" value="3"></entry>
<entry name="PID_TUNING_ACCZ" value="4"></entry>
<entry name="PID_TUNING_STEER" value="5"></entry>
</enum>
</enums>
<messages>
<message id="150" name="SENSOR_OFFSETS">
<description>Offsets and calibrations values for hardware
sensors. This makes it easier to debug the calibration process.</description>
<field type="int16_t" name="mag_ofs_x">magnetometer X offset</field>
<field type="int16_t" name="mag_ofs_y">magnetometer Y offset</field>
<field type="int16_t" name="mag_ofs_z">magnetometer Z offset</field>
<field type="float" name="mag_declination">magnetic declination (radians)</field>
<field type="int32_t" name="raw_press">raw pressure from barometer</field>
<field type="int32_t" name="raw_temp">raw temperature from barometer</field>
<field type="float" name="gyro_cal_x">gyro X calibration</field>
<field type="float" name="gyro_cal_y">gyro Y calibration</field>
<field type="float" name="gyro_cal_z">gyro Z calibration</field>
<field type="float" name="accel_cal_x">accel X calibration</field>
<field type="float" name="accel_cal_y">accel Y calibration</field>
<field type="float" name="accel_cal_z">accel Z calibration</field>
</message>
<message id="151" name="SET_MAG_OFFSETS">
<description>Deprecated. Use MAV_CMD_PREFLIGHT_SET_SENSOR_OFFSETS instead. Set the magnetometer offsets</description>
<field type="uint8_t" name="target_system">System ID</field>
<field type="uint8_t" name="target_component">Component ID</field>
<field type="int16_t" name="mag_ofs_x">magnetometer X offset</field>
<field type="int16_t" name="mag_ofs_y">magnetometer Y offset</field>
<field type="int16_t" name="mag_ofs_z">magnetometer Z offset</field>
</message>
<message id="152" name="MEMINFO">
<description>state of APM memory</description>
<field type="uint16_t" name="brkval">heap top</field>
<field type="uint16_t" name="freemem">free memory</field>
</message>
<message id="153" name="AP_ADC">
<description>raw ADC output</description>
<field type="uint16_t" name="adc1">ADC output 1</field>
<field type="uint16_t" name="adc2">ADC output 2</field>
<field type="uint16_t" name="adc3">ADC output 3</field>
<field type="uint16_t" name="adc4">ADC output 4</field>
<field type="uint16_t" name="adc5">ADC output 5</field>
<field type="uint16_t" name="adc6">ADC output 6</field>
</message>
<!-- Camera Controller Messages -->
<message name="DIGICAM_CONFIGURE" id="154">
<description>Configure on-board Camera Control System.</description>
<field name="target_system" type="uint8_t">System ID</field>
<field name="target_component" type="uint8_t">Component ID</field>
<field name="mode" type="uint8_t">Mode enumeration from 1 to N //P, TV, AV, M, Etc (0 means ignore)</field>
<field name="shutter_speed" type="uint16_t">Divisor number //e.g. 1000 means 1/1000 (0 means ignore)</field>
<field name="aperture" type="uint8_t">F stop number x 10 //e.g. 28 means 2.8 (0 means ignore)</field>
<field name="iso" type="uint8_t">ISO enumeration from 1 to N //e.g. 80, 100, 200, Etc (0 means ignore)</field>
<field name="exposure_type" type="uint8_t">Exposure type enumeration from 1 to N (0 means ignore)</field>
<field name="command_id" type="uint8_t">Command Identity (incremental loop: 0 to 255)//A command sent multiple times will be executed or pooled just once</field>
<field name="engine_cut_off" type="uint8_t">Main engine cut-off time before camera trigger in seconds/10 (0 means no cut-off)</field>
<field name="extra_param" type="uint8_t">Extra parameters enumeration (0 means ignore)</field>
<field name="extra_value" type="float">Correspondent value to given extra_param</field>
</message>
<message name="DIGICAM_CONTROL" id="155">
<description>Control on-board Camera Control System to take shots.</description>
<field name="target_system" type="uint8_t">System ID</field>
<field name="target_component" type="uint8_t">Component ID</field>
<field name="session" type="uint8_t">0: stop, 1: start or keep it up //Session control e.g. show/hide lens</field>
<field name="zoom_pos" type="uint8_t">1 to N //Zoom's absolute position (0 means ignore)</field>
<field name="zoom_step" type="int8_t">-100 to 100 //Zooming step value to offset zoom from the current position</field>
<field name="focus_lock" type="uint8_t">0: unlock focus or keep unlocked, 1: lock focus or keep locked, 3: re-lock focus</field>
<field name="shot" type="uint8_t">0: ignore, 1: shot or start filming</field>
<field name="command_id" type="uint8_t">Command Identity (incremental loop: 0 to 255)//A command sent multiple times will be executed or pooled just once</field>
<field name="extra_param" type="uint8_t">Extra parameters enumeration (0 means ignore)</field>
<field name="extra_value" type="float">Correspondent value to given extra_param</field>
</message>
<!-- Camera Mount Messages -->
<message name="MOUNT_CONFIGURE" id="156">
<description>Message to configure a camera mount, directional antenna, etc.</description>
<field name="target_system" type="uint8_t">System ID</field>
<field name="target_component" type="uint8_t">Component ID</field>
<field name="mount_mode" type="uint8_t" enum="MAV_MOUNT_MODE">mount operating mode (see MAV_MOUNT_MODE enum)</field>
<field name="stab_roll" type="uint8_t">(1 = yes, 0 = no)</field>
<field name="stab_pitch" type="uint8_t">(1 = yes, 0 = no)</field>
<field name="stab_yaw" type="uint8_t">(1 = yes, 0 = no)</field>
</message>
<message name="MOUNT_CONTROL" id="157">
<description>Message to control a camera mount, directional antenna, etc.</description>
<field name="target_system" type="uint8_t">System ID</field>
<field name="target_component" type="uint8_t">Component ID</field>
<field name="input_a" type="int32_t">pitch(deg*100) or lat, depending on mount mode</field>
<field name="input_b" type="int32_t">roll(deg*100) or lon depending on mount mode</field>
<field name="input_c" type="int32_t">yaw(deg*100) or alt (in cm) depending on mount mode</field>
<field name="save_position" type="uint8_t">if "1" it will save current trimmed position on EEPROM (just valid for NEUTRAL and LANDING)</field>
</message>
<message name="MOUNT_STATUS" id="158">
<description>Message with some status from APM to GCS about camera or antenna mount</description>
<field name="target_system" type="uint8_t">System ID</field>
<field name="target_component" type="uint8_t">Component ID</field>
<field name="pointing_a" type="int32_t">pitch(deg*100)</field>
<field name="pointing_b" type="int32_t">roll(deg*100)</field>
<field name="pointing_c" type="int32_t">yaw(deg*100)</field>
</message>
<!-- geo-fence messages -->
<message name="FENCE_POINT" id="160">
<description>A fence point. Used to set a point when from
GCS -> MAV. Also used to return a point from MAV -> GCS</description>
<field name="target_system" type="uint8_t">System ID</field>
<field name="target_component" type="uint8_t">Component ID</field>
<field name="idx" type="uint8_t">point index (first point is 1, 0 is for return point)</field>
<field name="count" type="uint8_t">total number of points (for sanity checking)</field>
<field name="lat" type="float">Latitude of point</field>
<field name="lng" type="float">Longitude of point</field>
</message>
<message name="FENCE_FETCH_POINT" id="161">
<description>Request a current fence point from MAV</description>
<field name="target_system" type="uint8_t">System ID</field>
<field name="target_component" type="uint8_t">Component ID</field>
<field name="idx" type="uint8_t">point index (first point is 1, 0 is for return point)</field>
</message>
<message name="FENCE_STATUS" id="162">
<description>Status of geo-fencing. Sent in extended
status stream when fencing enabled</description>
<field name="breach_status" type="uint8_t">0 if currently inside fence, 1 if outside</field>
<field name="breach_count" type="uint16_t">number of fence breaches</field>
<field name="breach_type" type="uint8_t" enum="FENCE_BREACH">last breach type (see FENCE_BREACH_* enum)</field>
<field name="breach_time" type="uint32_t">time of last breach in milliseconds since boot</field>
</message>
<message name="AHRS" id="163">
<description>Status of DCM attitude estimator</description>
<field type="float" name="omegaIx">X gyro drift estimate rad/s</field>
<field type="float" name="omegaIy">Y gyro drift estimate rad/s</field>
<field type="float" name="omegaIz">Z gyro drift estimate rad/s</field>
<field type="float" name="accel_weight">average accel_weight</field>
<field type="float" name="renorm_val">average renormalisation value</field>
<field type="float" name="error_rp">average error_roll_pitch value</field>
<field type="float" name="error_yaw">average error_yaw value</field>
</message>
<message name="SIMSTATE" id="164">
<description>Status of simulation environment, if used</description>
<field type="float" name="roll">Roll angle (rad)</field>
<field type="float" name="pitch">Pitch angle (rad)</field>
<field type="float" name="yaw">Yaw angle (rad)</field>
<field type="float" name="xacc">X acceleration m/s/s</field>
<field type="float" name="yacc">Y acceleration m/s/s</field>
<field type="float" name="zacc">Z acceleration m/s/s</field>
<field type="float" name="xgyro">Angular speed around X axis rad/s</field>
<field type="float" name="ygyro">Angular speed around Y axis rad/s</field>
<field type="float" name="zgyro">Angular speed around Z axis rad/s</field>
<field type="int32_t" name="lat">Latitude in degrees * 1E7</field>
<field type="int32_t" name="lng">Longitude in degrees * 1E7</field>
</message>
<message name="HWSTATUS" id="165">
<description>Status of key hardware</description>
<field type="uint16_t" name="Vcc">board voltage (mV)</field>
<field type="uint8_t" name="I2Cerr">I2C error count</field>
</message>
<message name="RADIO" id="166">
<description>Status generated by radio</description>
<field type="uint8_t" name="rssi">local signal strength</field>
<field type="uint8_t" name="remrssi">remote signal strength</field>
<field type="uint8_t" name="txbuf">how full the tx buffer is as a percentage</field>
<field type="uint8_t" name="noise">background noise level</field>
<field type="uint8_t" name="remnoise">remote background noise level</field>
<field type="uint16_t" name="rxerrors">receive errors</field>
<field type="uint16_t" name="fixed">count of error corrected packets</field>
</message>
<!-- AP_Limits status -->
<message name="LIMITS_STATUS" id="167">
<description>Status of AP_Limits. Sent in extended
status stream when AP_Limits is enabled</description>
<field name="limits_state" type="uint8_t" enum="LIMITS_STATE">state of AP_Limits, (see enum LimitState, LIMITS_STATE)</field>
<field name="last_trigger" type="uint32_t">time of last breach in milliseconds since boot</field>
<field name="last_action" type="uint32_t">time of last recovery action in milliseconds since boot</field>
<field name="last_recovery" type="uint32_t">time of last successful recovery in milliseconds since boot</field>
<field name="last_clear" type="uint32_t">time of last all-clear in milliseconds since boot</field>
<field name="breach_count" type="uint16_t">number of fence breaches</field>
<field name="mods_enabled" type="uint8_t">AP_Limit_Module bitfield of enabled modules, (see enum moduleid or LIMIT_MODULE)</field>
<field name="mods_required" type="uint8_t">AP_Limit_Module bitfield of required modules, (see enum moduleid or LIMIT_MODULE)</field>
<field name="mods_triggered" type="uint8_t">AP_Limit_Module bitfield of triggered modules, (see enum moduleid or LIMIT_MODULE)</field>
</message>
<message name="WIND" id="168">
<description>Wind estimation</description>
<field type="float" name="direction">wind direction that wind is coming from (degrees)</field>
<field type="float" name="speed">wind speed in ground plane (m/s)</field>
<field type="float" name="speed_z">vertical wind speed (m/s)</field>
</message>
<message name="DATA16" id="169">
<description>Data packet, size 16</description>
<field type="uint8_t" name="type">data type</field>
<field type="uint8_t" name="len">data length</field>
<field type="uint8_t[16]" name="data">raw data</field>
</message>
<message name="DATA32" id="170">
<description>Data packet, size 32</description>
<field type="uint8_t" name="type">data type</field>
<field type="uint8_t" name="len">data length</field>
<field type="uint8_t[32]" name="data">raw data</field>
</message>
<message name="DATA64" id="171">
<description>Data packet, size 64</description>
<field type="uint8_t" name="type">data type</field>
<field type="uint8_t" name="len">data length</field>
<field type="uint8_t[64]" name="data">raw data</field>
</message>
<message name="DATA96" id="172">
<description>Data packet, size 96</description>
<field type="uint8_t" name="type">data type</field>
<field type="uint8_t" name="len">data length</field>
<field type="uint8_t[96]" name="data">raw data</field>
</message>
<message name="RANGEFINDER" id="173">
<description>Rangefinder reporting</description>
<field type="float" name="distance">distance in meters</field>
<field type="float" name="voltage">raw voltage if available, zero otherwise</field>
</message>
<message name="AIRSPEED_AUTOCAL" id="174">
<description>Airspeed auto-calibration</description>
<field type="float" name="vx">GPS velocity north m/s</field>
<field type="float" name="vy">GPS velocity east m/s</field>
<field type="float" name="vz">GPS velocity down m/s</field>
<field type="float" name="diff_pressure">Differential pressure pascals</field>
<field type="float" name="EAS2TAS">Estimated to true airspeed ratio</field>
<field type="float" name="ratio">Airspeed ratio</field>
<field type="float" name="state_x">EKF state x</field>
<field type="float" name="state_y">EKF state y</field>
<field type="float" name="state_z">EKF state z</field>
<field type="float" name="Pax">EKF Pax</field>
<field type="float" name="Pby">EKF Pby</field>
<field type="float" name="Pcz">EKF Pcz</field>
</message>
<!-- rally point messages -->
<message name="RALLY_POINT" id="175">
<description>A rally point. Used to set a point when from GCS -> MAV. Also used to return a point from MAV -> GCS</description>
<field name="target_system" type="uint8_t">System ID</field>
<field name="target_component" type="uint8_t">Component ID</field>
<field name="idx" type="uint8_t">point index (first point is 0)</field>
<field name="count" type="uint8_t">total number of points (for sanity checking)</field>
<field name="lat" type="int32_t">Latitude of point in degrees * 1E7</field>
<field name="lng" type="int32_t">Longitude of point in degrees * 1E7</field>
<field name="alt" type="int16_t">Transit / loiter altitude in meters relative to home</field>
<!-- Path planned landings are still in the future, but we want these fields ready: -->
<field name="break_alt" type="int16_t">Break altitude in meters relative to home</field>
<field name="land_dir" type="uint16_t">Heading to aim for when landing. In centi-degrees.</field>
<field name="flags" type="uint8_t">See RALLY_FLAGS enum for definition of the bitmask.</field>
</message>
<message name="RALLY_FETCH_POINT" id="176">
<description>Request a current rally point from MAV. MAV should respond with a RALLY_POINT message. MAV should not respond if the request is invalid.</description>
<field name="target_system" type="uint8_t">System ID</field>
<field name="target_component" type="uint8_t">Component ID</field>
<field name="idx" type="uint8_t">point index (first point is 0)</field>
</message>
<message name="COMPASSMOT_STATUS" id="177">
<description>Status of compassmot calibration</description>
<field name="throttle" type="uint16_t">throttle (percent*10)</field>
<field name="current" type="float">current (amps)</field>
<field name="interference" type="uint16_t">interference (percent)</field>
<field name="CompensationX" type="float">Motor Compensation X</field>
<field name="CompensationY" type="float">Motor Compensation Y</field>
<field name="CompensationZ" type="float">Motor Compensation Z</field>
</message>
<!-- Coming soon
<message name="RALLY_LAND_POINT" id="177">
<description>A rally landing point. An aircraft loitering at a rally point may choose one of these points to land at.</description>
<field name="target_system" type="uint8_t">System ID</field>
<field name="target_component" type="uint8_t">Component ID</field>
<field name="idx" type="uint8_t">point index (first point is 0)</field>
<field name="count" type="uint8_t">total number of points (for sanity checking)</field>
<field name="lat" type="int32_t">Latitude of point</field>
<field name="lng" type="int32_t">Longitude of point</field>
<field name="alt" type="uint16_t">Ground AGL (usually 0)</field>
</message>
<message name="RALLY_LAND_FETCH_POINT" id="178">
<description>Request a current rally land point from MAV</description>
<field name="target_system" type="uint8_t">System ID</field>
<field name="target_component" type="uint8_t">Component ID</field>
<field name="idx" type="uint8_t">point index (first point is 0)</field>
</message>
-->
<message name="AHRS2" id="178">
<description>Status of secondary AHRS filter if available</description>
<field type="float" name="roll">Roll angle (rad)</field>
<field type="float" name="pitch">Pitch angle (rad)</field>
<field type="float" name="yaw">Yaw angle (rad)</field>
<field type="float" name="altitude">Altitude (MSL)</field>
<field type="int32_t" name="lat">Latitude in degrees * 1E7</field>
<field type="int32_t" name="lng">Longitude in degrees * 1E7</field>
</message>
<!-- camera event message from CCB to autopilot: for image trigger events but also things like heartbeat, error, low power, full card, etc -->
<message name="CAMERA_STATUS" id="179">
<description>Camera Event</description>
<field name="time_usec" type="uint64_t">Image timestamp (microseconds since UNIX epoch, according to camera clock)</field>
<field name="target_system" type="uint8_t" >System ID</field> <!-- support multiple concurrent vehicles -->
<field name="cam_idx" type="uint8_t" >Camera ID</field> <!-- component ID, to support multiple cameras -->
<field name="img_idx" type="uint16_t" >Image index</field> <!-- per camera image index, should be unique+sequential within a mission, preferably non-wrapping -->
<field name="event_id" type="uint8_t" >See CAMERA_STATUS_TYPES enum for definition of the bitmask</field>
<field name="p1" type="float" >Parameter 1 (meaning depends on event, see CAMERA_STATUS_TYPES enum)</field>
<field name="p2" type="float" >Parameter 2 (meaning depends on event, see CAMERA_STATUS_TYPES enum)</field>
<field name="p3" type="float" >Parameter 3 (meaning depends on event, see CAMERA_STATUS_TYPES enum)</field>
<field name="p4" type="float" >Parameter 4 (meaning depends on event, see CAMERA_STATUS_TYPES enum)</field>
</message>
<!-- camera feedback message - can be originated from CCB (in response to a CAMERA_STATUS), or directly from the autopilot as part of a DO_DIGICAM_CONTROL-->
<message name="CAMERA_FEEDBACK" id="180">
<description>Camera Capture Feedback</description>
<field name="time_usec" type="uint64_t">Image timestamp (microseconds since UNIX epoch), as passed in by CAMERA_STATUS message (or autopilot if no CCB)</field>
<field name="target_system" type="uint8_t" >System ID</field> <!-- support multiple concurrent vehicles -->
<field name="cam_idx" type="uint8_t" >Camera ID</field> <!-- component ID, to support multiple cameras -->
<field name="img_idx" type="uint16_t">Image index</field> <!-- per camera image index, should be unique+sequential within a mission, preferably non-wrapping -->
<field name="lat" type="int32_t" >Latitude in (deg * 1E7)</field>
<field name="lng" type="int32_t" >Longitude in (deg * 1E7)</field>
<field name="alt_msl" type="float" >Altitude Absolute (meters AMSL)</field>
<field name="alt_rel" type="float" >Altitude Relative (meters above HOME location)</field>
<field name="roll" type="float" >Camera Roll angle (earth frame, degrees, +-180)</field> <!-- initially only supporting fixed cameras, in future we'll need feedback messages from the gimbal so we can include that offset here -->
<field name="pitch" type="float" >Camera Pitch angle (earth frame, degrees, +-180)</field> <!-- initially only supporting fixed cameras, in future we'll need feedback messages from the gimbal so we can include that offset here -->
<field name="yaw" type="float" >Camera Yaw (earth frame, degrees, 0-360, true)</field> <!-- initially only supporting fixed cameras, in future we'll need feedback messages from the gimbal so we can include that offset here -->
<field name="foc_len" type="float" >Focal Length (mm)</field> <!-- per-image to support zooms. Zero means fixed focal length or unknown. Should be true mm, not scaled to 35mm film equivalent -->
<field name="flags" type="uint8_t" >See CAMERA_FEEDBACK_FLAGS enum for definition of the bitmask</field> <!-- future proofing -->
</message>
<message name="BATTERY2" id="181">
<description>2nd Battery status</description>
<field type="uint16_t" name="voltage">voltage in millivolts</field>
<field type="int16_t" name="current_battery">Battery current, in 10*milliamperes (1 = 10 milliampere), -1: autopilot does not measure the current</field>
</message>
<message name="AHRS3" id="182">
<description>Status of third AHRS filter if available. This is for ANU research group (Ali and Sean)</description>
<field type="float" name="roll">Roll angle (rad)</field>
<field type="float" name="pitch">Pitch angle (rad)</field>
<field type="float" name="yaw">Yaw angle (rad)</field>
<field type="float" name="altitude">Altitude (MSL)</field>
<field type="int32_t" name="lat">Latitude in degrees * 1E7</field>
<field type="int32_t" name="lng">Longitude in degrees * 1E7</field>
<field type="float" name="v1">test variable1</field>
<field type="float" name="v2">test variable2</field>
<field type="float" name="v3">test variable3</field>
<field type="float" name="v4">test variable4</field>
</message>
<message name="AUTOPILOT_VERSION_REQUEST" id="183">
<description>Request the autopilot version from the system/component.</description>
<field type="uint8_t" name="target_system">System ID</field>
<field type="uint8_t" name="target_component">Component ID</field>
</message>
<!-- remote log messages -->
<message id="184" name="REMOTE_LOG_DATA_BLOCK">
<description>Send a block of log data to remote location</description>
<field type="uint8_t" name="target_system">System ID</field>
<field type="uint8_t" name="target_component">Component ID</field>
<field type="uint32_t" name="seqno" enum="MAV_REMOTE_LOG_DATA_BLOCK_COMMANDS">log data block sequence number</field>
<field type="uint8_t[200]" name="data">log data block</field>
</message>
<message id="185" name="REMOTE_LOG_BLOCK_STATUS">
<description>Send Status of each log block that autopilot board might have sent</description>
<field type="uint8_t" name="target_system">System ID</field>
<field type="uint8_t" name="target_component">Component ID</field>
<field type="uint32_t" name="seqno">log data block sequence number</field>
<field type="uint8_t" name="status" enum="MAV_REMOTE_LOG_DATA_BLOCK_STATUSES">log data block status</field>
</message>
<message name="LED_CONTROL" id="186">
<description>Control vehicle LEDs</description>
<field type="uint8_t" name="target_system">System ID</field>
<field type="uint8_t" name="target_component">Component ID</field>
<field type="uint8_t" name="instance">Instance (LED instance to control or 255 for all LEDs)</field>
<field type="uint8_t" name="pattern">Pattern (see LED_PATTERN_ENUM)</field>
<field type="uint8_t" name="custom_len">Custom Byte Length</field>
<field type="uint8_t[24]" name="custom_bytes">Custom Bytes</field>
</message>
<message name="MAG_CAL_PROGRESS" id="191">
<description>Reports progress of compass calibration.</description>
<field type="uint8_t" name="compass_id">Compass being calibrated</field>
<field type="uint8_t" name="cal_mask">Bitmask of compasses being calibrated</field>
<field type="uint8_t" name="cal_status">Status (see MAG_CAL_STATUS enum)</field>
<field type="uint8_t" name="attempt">Attempt number</field>
<field type="uint8_t" name="completion_pct">Completion percentage</field>
<field type="uint8_t[10]" name="completion_mask">Bitmask of sphere sections (see http://en.wikipedia.org/wiki/Geodesic_grid)</field>
<field type="float" name="direction_x">Body frame direction vector for display</field>
<field type="float" name="direction_y">Body frame direction vector for display</field>
<field type="float" name="direction_z">Body frame direction vector for display</field>
</message>
<message name="MAG_CAL_REPORT" id="192">
<description>Reports results of completed compass calibration. Sent until MAG_CAL_ACK received.</description>
<field type="uint8_t" name="compass_id">Compass being calibrated</field>
<field type="uint8_t" name="cal_mask">Bitmask of compasses being calibrated</field>
<field type="uint8_t" name="cal_status">Status (see MAG_CAL_STATUS enum)</field>
<field type="uint8_t" name="autosaved">0=requires a MAV_CMD_DO_ACCEPT_MAG_CAL, 1=saved to parameters</field>
<field type="float" name="fitness">RMS milligauss residuals</field>
<field type="float" name="ofs_x">X offset</field>
<field type="float" name="ofs_y">Y offset</field>
<field type="float" name="ofs_z">Z offset</field>
<field type="float" name="diag_x">X diagonal (matrix 11)</field>
<field type="float" name="diag_y">Y diagonal (matrix 22)</field>
<field type="float" name="diag_z">Z diagonal (matrix 33)</field>
<field type="float" name="offdiag_x">X off-diagonal (matrix 12 and 21)</field>
<field type="float" name="offdiag_y">Y off-diagonal (matrix 13 and 31)</field>
<field type="float" name="offdiag_z">Z off-diagonal (matrix 32 and 23)</field>
</message>
<!-- EKF status message from autopilot to GCS. -->
<message name="EKF_STATUS_REPORT" id="193">
<description>EKF Status message including flags and variances</description>
<field name="flags" type="uint16_t">Flags</field> <!-- supported flags see EKF_STATUS_FLAGS enum -->
<field name="velocity_variance" type="float">Velocity variance</field> <!-- below 0.5 is good, 0.5~0.79 is warning, 0.8 or higher is bad -->
<field name="pos_horiz_variance" type="float">Horizontal Position variance</field>
<field name="pos_vert_variance" type="float">Vertical Position variance</field>
<field name="compass_variance" type="float">Compass variance</field>
<field name="terrain_alt_variance" type="float">Terrain Altitude variance</field>
</message>
<!-- realtime PID tuning message -->
<message name="PID_TUNING" id="194">
<description>PID tuning information</description>
<field name="axis" type="uint8_t" enum="PID_TUNING_AXIS">axis</field>
<field name="desired" type="float">desired rate (degrees/s)</field>
<field name="achieved" type="float">achieved rate (degrees/s)</field>
<field name="FF" type="float">FF component</field>
<field name="P" type="float">P component</field>
<field name="I" type="float">I component</field>
<field name="D" type="float">D component</field>
</message>
<message name="GIMBAL_REPORT" id="200">
<description>3 axis gimbal measurements</description>
<field type="uint8_t" name="target_system">System ID</field>
<field type="uint8_t" name="target_component">Component ID</field>
<field type="float" name="delta_time">Time since last update (seconds)</field>
<field type="float" name="delta_angle_x">Delta angle X (radians)</field>
<field type="float" name="delta_angle_y">Delta angle Y (radians)</field>
<field type="float" name="delta_angle_z">Delta angle X (radians)</field>
<field type="float" name="delta_velocity_x">Delta velocity X (m/s)</field>
<field type="float" name="delta_velocity_y">Delta velocity Y (m/s)</field>
<field type="float" name="delta_velocity_z">Delta velocity Z (m/s)</field>
<field type="float" name="joint_roll"> Joint ROLL (radians)</field>
<field type="float" name="joint_el"> Joint EL (radians)</field>
<field type="float" name="joint_az"> Joint AZ (radians)</field>
</message>
<message name="GIMBAL_CONTROL" id="201">
<description>Control message for rate gimbal</description>
<field type="uint8_t" name="target_system">System ID</field>
<field type="uint8_t" name="target_component">Component ID</field>
<field type="float" name="demanded_rate_x">Demanded angular rate X (rad/s)</field>
<field type="float" name="demanded_rate_y">Demanded angular rate Y (rad/s)</field>
<field type="float" name="demanded_rate_z">Demanded angular rate Z (rad/s)</field>
</message>
<message name="GIMBAL_RESET" id="202">
<description>
Causes the gimbal to reset and boot as if it was just powered on
</description>
<field name="target_system" type="uint8_t">System ID</field>
<field name="target_component" type="uint8_t">Component ID</field>
</message>
<message name="GIMBAL_AXIS_CALIBRATION_PROGRESS" id="203">
<description>
Reports progress and success or failure of gimbal axis calibration procedure
</description>
<field name="calibration_axis" type="uint8_t" enum="GIMBAL_AXIS">Which gimbal axis we're reporting calibration progress for</field>
<field name="calibration_progress" type="uint8_t">The current calibration progress for this axis, 0x64=100%</field>
<field name="calibration_status" type="uint8_t" enum="GIMBAL_AXIS_CALIBRATION_STATUS">The status of the running calibration</field>
</message>
<message name="GIMBAL_SET_HOME_OFFSETS" id="204">
<description>
Instructs the gimbal to set its current position as its new home position. Will primarily be used for factory calibration
</description>
<field name="target_system" type="uint8_t">System ID</field>
<field name="target_component" type="uint8_t">Component ID</field>
</message>
<message name="GIMBAL_HOME_OFFSET_CALIBRATION_RESULT" id="205">
<description>
Sent by the gimbal after it receives a SET_HOME_OFFSETS message to indicate the result of the home offset calibration
</description>
<field name="calibration_result" type="uint8_t" enum="GIMBAL_AXIS_CALIBRATION_STATUS">The result of the home offset calibration</field>
</message>
<message name="GIMBAL_SET_FACTORY_PARAMETERS" id="206">
<description>
Set factory configuration parameters (such as assembly date and time, and serial number). This is only intended to be used
during manufacture, not by end users, so it is protected by a simple checksum of sorts (this won't stop anybody determined,
it's mostly just to keep the average user from trying to modify these values. This will need to be revisited if that isn't
adequate.
</description>
<field name="target_system" type="uint8_t">System ID</field>
<field name="target_component" type="uint8_t">Component ID</field>
<field name="magic_1" type="uint32_t">Magic number 1 for validation</field>
<field name="magic_2" type="uint32_t">Magic number 2 for validation</field>
<field name="magic_3" type="uint32_t">Magic number 3 for validation</field>
<field name="assembly_year" type="uint16_t">Assembly Date Year</field>
<field name="assembly_month" type="uint8_t">Assembly Date Month</field>
<field name="assembly_day" type="uint8_t">Assembly Date Day</field>
<field name="assembly_hour" type="uint8_t">Assembly Time Hour</field>
<field name="assembly_minute" type="uint8_t">Assembly Time Minute</field>
<field name="assembly_second" type="uint8_t">Assembly Time Second</field>
<field name="serial_number_pt_1" type="uint32_t">Unit Serial Number Part 1 (part code, design, language/country)</field>
<field name="serial_number_pt_2" type="uint32_t">Unit Serial Number Part 2 (option, year, month)</field>
<field name="serial_number_pt_3" type="uint32_t">Unit Serial Number Part 3 (incrementing serial number per month)</field>
</message>
<message name="GIMBAL_FACTORY_PARAMETERS_LOADED" id="207">
<description>
Sent by the gimbal after the factory parameters are successfully loaded, to inform the factory software that the load is complete
</description>
<field name="dummy" type="uint8_t">Dummy field because mavgen doesn't allow messages with no fields</field>
</message>
<message name="GIMBAL_ERASE_FIRMWARE_AND_CONFIG" id="208">
<description>
Commands the gimbal to erase its firmware image and flash configuration, leaving only the bootloader. The gimbal will then reboot into the bootloader,
ready for the load of a new application firmware image. Erasing the flash configuration will cause the gimbal to re-perform axis calibration when a
new firmware image is loaded, and will cause all tuning parameters to return to their factory defaults. WARNING: sending this command will render a
gimbal inoperable until a new firmware image is loaded onto it. For this reason, a particular "knock" value must be sent for the command to take effect.
Use this command at your own risk
</description>
<field name="target_system" type="uint8_t">System ID</field>
<field name="target_component" type="uint8_t">Component ID</field>
<field name="knock" type="uint32_t">Knock value to confirm this is a valid request</field>
</message>
<message name="GIMBAL_PERFORM_FACTORY_TESTS" id="209">
<description>
Command the gimbal to perform a series of factory tests. Should not be needed by end users
</description>
<field name="target_system" type="uint8_t">System ID</field>
<field name="target_component" type="uint8_t">Component ID</field>
</message>
<message name="GIMBAL_REPORT_FACTORY_TESTS_PROGRESS" id="210">
<description>
Reports the current status of a section of a running factory test
</description>
<field name="test" type="uint8_t" enum="FACTORY_TEST">Which factory test is currently running</field>
<field name="test_section" type="uint8_t">Which section of the test is currently running. The meaning of this is test-dependent</field>
<field name="test_section_progress" type="uint8_t">The progress of the current test section, 0x64=100%</field>
<field name="test_status" type="uint8_t">The status of the currently executing test section. The meaning of this is test and section-dependent</field>
</message>
<!-- 211 to 214 RESERVED for more GIMBAL -->
<message name="GOPRO_POWER_ON" id="215">
<description>Instruct a HeroBus attached GoPro to power on</description>
<field name="target_system" type="uint8_t">System ID</field>
<field name="target_component" type="uint8_t">Component ID</field>
</message>
<message name="GOPRO_POWER_OFF" id="216">
<description>Instruct a HeroBus attached GoPro to power off</description>
<field name="target_system" type="uint8_t">System ID</field>
<field name="target_component" type="uint8_t">Component ID</field>
</message>
<message name="GOPRO_COMMAND" id="217">
<description>Send a command to a HeroBus attached GoPro. Will generate a GOPRO_RESPONSE message with results of the command</description>
<field name="target_system" type="uint8_t">System ID</field>
<field name="target_component" type="uint8_t">Component ID</field>
<field name="gp_cmd_name_1" type="uint8_t">First character of the 2 character GoPro command</field>
<field name="gp_cmd_name_2" type="uint8_t">Second character of the 2 character GoPro command</field>
<field name="gp_cmd_parm" type="uint8_t">Parameter for the command</field>
</message>
<message name="GOPRO_RESPONSE" id="218">
<description>
Response to a command sent to a HeroBus attached GoPro with a GOPRO_COMMAND message. Contains response from the camera as well as information about any errors encountered while attempting to communicate with the camera
</description>
<field name="gp_cmd_name_1" type="uint8_t">First character of the 2 character GoPro command that generated this response</field>
<field name="gp_cmd_name_2" type="uint8_t">Second character of the 2 character GoPro command that generated this response</field>
<field name="gp_cmd_response_status" type="uint8_t">Response byte from the GoPro's response to the command. 0 = Success, 1 = Failure</field>
<field name="gp_cmd_response_argument" type="uint8_t">Response argument from the GoPro's response to the command</field>
<field name="gp_cmd_result" type="uint16_t" enum="GOPRO_CMD_RESULT">Result of the command attempt to the GoPro, as defined by GOPRO_CMD_RESULT enum.</field>
</message>
<!-- 219 to 225 RESERVED for more GOPRO-->
<message name="RPM" id="226">
<description>RPM sensor output</description>
<field name="rpm1" type="float">RPM Sensor1</field>
<field name="rpm2" type="float">RPM Sensor2</field>
</message>
</messages>
</mavlink>
<?xml version='1.0'?>
<mavlink>
<include>common.xml</include>
<version>3</version>
<enums>
<enum name="AUTOQUAD_NAV_STATUS">
<description>Available operating modes/statuses for AutoQuad flight controller.
Bitmask up to 32 bits. Low side bits for base modes, high side for
additional active features/modifiers/constraints.</description>
<entry value="0" name="AQ_NAV_STATUS_INIT">
<description>System is initializing</description>
</entry>
<!-- low side basic mode bits -->
<entry value="0x1" name="AQ_NAV_STATUS_STANDBY">
<description>System is standing by, not active</description>
</entry>
<entry value="0x2" name="AQ_NAV_STATUS_MANUAL">
<description>Stabilized, under full manual control</description>
</entry>
<entry value="0x4" name="AQ_NAV_STATUS_ALTHOLD">
<description>Altitude hold engaged</description>
</entry>
<entry value="0x8" name="AQ_NAV_STATUS_POSHOLD">
<description>Position hold engaged</description>
</entry>
<entry value="0x10" name="AQ_NAV_STATUS_DVH">
<description>Dynamic Velocity Hold is active</description>
</entry>
<entry value="0x20" name="AQ_NAV_STATUS_MISSION">
<description>Autonomous mission execution mode</description>
</entry>
<!-- high side feature/modifier/constraint bits (0x8000 0000 = bit 32) -->
<entry value="0x80000000" name="AQ_NAV_STATUS_FAILSAFE">
<description>System is in failsafe recovery mode</description>
</entry>
<entry value="0x40000000" name="AQ_NAV_STATUS_RTH">
<description>Automatic Return to Home is active</description>
</entry>
<entry value="0x20000000" name="AQ_NAV_STATUS_HF_LOCKED">
<description>Heading-Free locked mode active</description>
</entry>
<entry value="0x10000000" name="AQ_NAV_STATUS_HF_DYNAMIC">
<description>Heading-Free dynamic mode active</description>
</entry>
<entry value="0x8000000" name="AQ_NAV_STATUS_CEILING">
<description>Ceiling altitude is set</description>
</entry>
<entry value="0x4000000" name="AQ_NAV_STATUS_CEILING_REACHED">
<description>Craft is at ceiling altitude</description>
</entry>
</enum>
<enum name="MAV_CMD">
<!-- TODO: value 1 reserved for now due to legacy code -->
<entry value="2" name="MAV_CMD_AQ_TELEMETRY">
<description>Start/stop AutoQuad telemetry values stream.</description>
<param index="1">Start or stop (1 or 0)</param>
<param index="2">Stream frequency in us</param>
<param index="3">Dataset ID (refer to aq_mavlink.h::mavlinkCustomDataSets enum in AQ flight controller code)</param>
<param index="4">Empty</param>
<param index="5">Empty</param>
<param index="6">Empty</param>
<param index="7">Empty</param>
</entry>
<entry value="3" name="MAV_CMD_AQ_FOLLOW">
<description>Command AutoQuad to go to a particular place at a set speed.</description>
<param index="1">Latitude</param>
<param index="2">Lontitude</param>
<param index="3">Altitude</param>
<param index="4">Speed</param>
<param index="5">Empty</param>
<param index="6">Empty</param>
<param index="7">Empty</param>
</entry>
<entry value="4" name="MAV_CMD_AQ_REQUEST_VERSION">
<description>Request AutoQuad firmware version number.</description>
<param index="1">Empty</param>
<param index="2">Empty</param>
<param index="3">Empty</param>
<param index="4">Empty</param>
<param index="5">Empty</param>
<param index="6">Empty</param>
<param index="7">Empty</param>
</entry>
</enum>
<!-- extend MAV_DATA_STREAM -->
<enum name="MAV_DATA_STREAM">
<entry value="13" name="MAV_DATA_STREAM_PROPULSION">
<description>Motor/ESC telemetry data.</description>
</entry>
</enum>
</enums>
<messages>
<message id="150" name="AQ_TELEMETRY_F">
<description>Sends up to 20 raw float values.</description>
<field type="uint16_t" name="Index">Index of message</field>
<field type="float" name="value1">value1</field>
<field type="float" name="value2">value2</field>
<field type="float" name="value3">value3</field>
<field type="float" name="value4">value4</field>
<field type="float" name="value5">value5</field>
<field type="float" name="value6">value6</field>
<field type="float" name="value7">value7</field>
<field type="float" name="value8">value8</field>
<field type="float" name="value9">value9</field>
<field type="float" name="value10">value10</field>
<field type="float" name="value11">value11</field>
<field type="float" name="value12">value12</field>
<field type="float" name="value13">value13</field>
<field type="float" name="value14">value14</field>
<field type="float" name="value15">value15</field>
<field type="float" name="value16">value16</field>
<field type="float" name="value17">value17</field>
<field type="float" name="value18">value18</field>
<field type="float" name="value19">value19</field>
<field type="float" name="value20">value20</field>
</message>
<message id="152" name="AQ_ESC_TELEMETRY">
<description>Sends ESC32 telemetry data for up to 4 motors. Multiple messages may be sent in sequence when system has > 4 motors. Data is described as follows:
// unsigned int state : 3;
// unsigned int vin : 12; // x 100
// unsigned int amps : 14; // x 100
// unsigned int rpm : 15;
// unsigned int duty : 8; // x (255/100)
// - Data Version 2 -
// unsigned int errors : 9; // Bad detects error count
// - Data Version 3 -
// unsigned int temp : 9; // (Deg C + 32) * 4
// unsigned int errCode : 3;
</description>
<field type="uint32_t" name="time_boot_ms">Timestamp of the component clock since boot time in ms.</field>
<field type="uint8_t" name="seq">Sequence number of message (first set of 4 motors is #1, next 4 is #2, etc).</field>
<field type="uint8_t" name="num_motors">Total number of active ESCs/motors on the system.</field>
<field type="uint8_t" name="num_in_seq">Number of active ESCs in this sequence (1 through this many array members will be populated with data)</field>
<field type="uint8_t[4]" name="escid">ESC/Motor ID</field>
<field type="uint16_t[4]" name="status_age">Age of each ESC telemetry reading in ms compared to boot time. A value of 0xFFFF means timeout/no data.</field>
<field type="uint8_t[4]" name="data_version">Version of data structure (determines contents).</field>
<field type="uint32_t[4]" name="data0">Data bits 1-32 for each ESC.</field>
<field type="uint32_t[4]" name="data1">Data bits 33-64 for each ESC.</field>
</message>
</messages>
</mavlink>
This source diff could not be displayed because it is too large. You can view the blob instead.
<?xml version="1.0"?>
<mavlink>
<include>common.xml</include>
<!-- note that UDB specific messages should use the command id
range from 150 to 250, to leave plenty of room for growth
of common.xml
If you prototype a message here, then you should consider if it
is general enough to move into common.xml later
-->
<enums>
<enum name="MAV_PREFLIGHT_STORAGE_ACTION">
<description>Action required when performing CMD_PREFLIGHT_STORAGE</description>
<entry value="0" name="MAV_PFS_CMD_READ_ALL">
<description>Read all parameters from storage</description>
</entry>
<entry value="1" name="MAV_PFS_CMD_WRITE_ALL">
<description>Write all parameters to storage</description>
</entry>
<entry value="2" name="MAV_PFS_CMD_CLEAR_ALL">
<description>Clear all parameters in storage</description>
</entry>
<entry value="3" name="MAV_PFS_CMD_READ_SPECIFIC">
<description>Read specific parameters from storage</description>
</entry>
<entry value="4" name="MAV_PFS_CMD_WRITE_SPECIFIC">
<description>Write specific parameters to storage</description>
</entry>
<entry value="5" name="MAV_PFS_CMD_CLEAR_SPECIFIC">
<description>Clear specific parameters in storage</description>
</entry>
<entry value="6" name="MAV_PFS_CMD_DO_NOTHING">
<description>do nothing</description>
</entry>
</enum>
<enum name="MAV_CMD" >
<entry value="0" name="MAV_CMD_PREFLIGHT_STORAGE_ADVANCED">
<description>Request storage of different parameter values and logs. This command will be only accepted if in pre-flight mode.</description>
<param index="1">Storage action: Action defined by MAV_PREFLIGHT_STORAGE_ACTION_ADVANCED</param>
<param index="2">Storage area as defined by parameter database</param>
<param index="3">Storage flags as defined by parameter database</param>
<param index="4">Empty</param>
<param index="5">Empty</param>
<param index="6">Empty</param>
<param index="7">Empty</param>
</entry>
</enum>
</enums>
<messages>
<message id="150" name="FLEXIFUNCTION_SET">
<description>Depreciated but used as a compiler flag. Do not remove</description>
<field type="uint8_t" name="target_system">System ID</field>
<field type="uint8_t" name="target_component">Component ID</field>
</message>
<message id="151" name="FLEXIFUNCTION_READ_REQ">
<description>Reqest reading of flexifunction data</description>
<field type="uint8_t" name="target_system">System ID</field>
<field type="uint8_t" name="target_component">Component ID</field>
<field type="int16_t" name="read_req_type">Type of flexifunction data requested</field>
<field type="int16_t" name="data_index">index into data where needed</field>
</message>
<message id="152" name="FLEXIFUNCTION_BUFFER_FUNCTION">
<description>Flexifunction type and parameters for component at function index from buffer</description>
<field type="uint8_t" name="target_system">System ID</field>
<field type="uint8_t" name="target_component">Component ID</field>
<field type="uint16_t" name="func_index">Function index</field>
<field type="uint16_t" name="func_count">Total count of functions</field>
<field type="uint16_t" name="data_address">Address in the flexifunction data, Set to 0xFFFF to use address in target memory</field>
<field type="uint16_t" name="data_size">Size of the </field>
<field type="int8_t[48]" name="data">Settings data</field>
</message>
<message id="153" name="FLEXIFUNCTION_BUFFER_FUNCTION_ACK">
<description>Flexifunction type and parameters for component at function index from buffer</description>
<field type="uint8_t" name="target_system">System ID</field>
<field type="uint8_t" name="target_component">Component ID</field>
<field type="uint16_t" name="func_index">Function index</field>
<field type="uint16_t" name="result">result of acknowledge, 0=fail, 1=good</field>
</message>
<message id="155" name="FLEXIFUNCTION_DIRECTORY">
<description>Acknowldge sucess or failure of a flexifunction command</description>
<field type="uint8_t" name="target_system">System ID</field>
<field type="uint8_t" name="target_component">Component ID</field>
<field type="uint8_t" name="directory_type">0=inputs, 1=outputs</field>
<field type="uint8_t" name="start_index">index of first directory entry to write</field>
<field type="uint8_t" name="count">count of directory entries to write</field>
<field type="int8_t[48]" name="directory_data">Settings data</field>
</message>
<message id="156" name="FLEXIFUNCTION_DIRECTORY_ACK">
<description>Acknowldge sucess or failure of a flexifunction command</description>
<field type="uint8_t" name="target_system">System ID</field>
<field type="uint8_t" name="target_component">Component ID</field>
<field type="uint8_t" name="directory_type">0=inputs, 1=outputs</field>
<field type="uint8_t" name="start_index">index of first directory entry to write</field>
<field type="uint8_t" name="count">count of directory entries to write</field>
<field type="uint16_t" name="result">result of acknowledge, 0=fail, 1=good</field>
</message>
<message id="157" name="FLEXIFUNCTION_COMMAND">
<description>Acknowldge sucess or failure of a flexifunction command</description>
<field type="uint8_t" name="target_system">System ID</field>
<field type="uint8_t" name="target_component">Component ID</field>
<field type="uint8_t" name="command_type">Flexifunction command type</field>
</message>
<message id="158" name="FLEXIFUNCTION_COMMAND_ACK">
<description>Acknowldge sucess or failure of a flexifunction command</description>
<field type="uint16_t" name="command_type">Command acknowledged</field>
<field type="uint16_t" name="result">result of acknowledge</field>
</message>
<message id="170" name="SERIAL_UDB_EXTRA_F2_A">
<description>Backwards compatible MAVLink version of SERIAL_UDB_EXTRA - F2: Format Part A</description>
<field type="uint32_t" name="sue_time">Serial UDB Extra Time</field>
<field type="uint8_t" name="sue_status">Serial UDB Extra Status</field>
<field type="int32_t" name="sue_latitude">Serial UDB Extra Latitude</field>
<field type="int32_t" name="sue_longitude">Serial UDB Extra Longitude</field>
<field type="int32_t" name="sue_altitude">Serial UDB Extra Altitude</field>
<field type="uint16_t" name="sue_waypoint_index">Serial UDB Extra Waypoint Index</field>
<field type="int16_t" name="sue_rmat0">Serial UDB Extra Rmat 0</field>
<field type="int16_t" name="sue_rmat1">Serial UDB Extra Rmat 1</field>
<field type="int16_t" name="sue_rmat2">Serial UDB Extra Rmat 2</field>
<field type="int16_t" name="sue_rmat3">Serial UDB Extra Rmat 3</field>
<field type="int16_t" name="sue_rmat4">Serial UDB Extra Rmat 4</field>
<field type="int16_t" name="sue_rmat5">Serial UDB Extra Rmat 5</field>
<field type="int16_t" name="sue_rmat6">Serial UDB Extra Rmat 6</field>
<field type="int16_t" name="sue_rmat7">Serial UDB Extra Rmat 7</field>
<field type="int16_t" name="sue_rmat8">Serial UDB Extra Rmat 8</field>
<field type="uint16_t" name="sue_cog">Serial UDB Extra GPS Course Over Ground</field>
<field type="int16_t" name="sue_sog">Serial UDB Extra Speed Over Ground</field>
<field type="uint16_t" name="sue_cpu_load">Serial UDB Extra CPU Load</field>
<field type="int16_t" name="sue_voltage_milis">Serial UDB Extra Voltage in MilliVolts</field>
<field type="uint16_t" name="sue_air_speed_3DIMU">Serial UDB Extra 3D IMU Air Speed</field>
<field type="int16_t" name="sue_estimated_wind_0">Serial UDB Extra Estimated Wind 0</field>
<field type="int16_t" name="sue_estimated_wind_1">Serial UDB Extra Estimated Wind 1</field>
<field type="int16_t" name="sue_estimated_wind_2">Serial UDB Extra Estimated Wind 2</field>
<field type="int16_t" name="sue_magFieldEarth0">Serial UDB Extra Magnetic Field Earth 0 </field>
<field type="int16_t" name="sue_magFieldEarth1">Serial UDB Extra Magnetic Field Earth 1 </field>
<field type="int16_t" name="sue_magFieldEarth2">Serial UDB Extra Magnetic Field Earth 2 </field>
<field type="int16_t" name="sue_svs">Serial UDB Extra Number of Sattelites in View</field>
<field type="int16_t" name="sue_hdop">Serial UDB Extra GPS Horizontal Dilution of Precision</field>
</message>
<message id="171" name="SERIAL_UDB_EXTRA_F2_B">
<description>Backwards compatible version of SERIAL_UDB_EXTRA - F2: Part B</description>
<field type="uint32_t" name="sue_time">Serial UDB Extra Time</field>
<field type="int16_t" name="sue_pwm_input_1">Serial UDB Extra PWM Input Channel 1</field>
<field type="int16_t" name="sue_pwm_input_2">Serial UDB Extra PWM Input Channel 2</field>
<field type="int16_t" name="sue_pwm_input_3">Serial UDB Extra PWM Input Channel 3</field>
<field type="int16_t" name="sue_pwm_input_4">Serial UDB Extra PWM Input Channel 4</field>
<field type="int16_t" name="sue_pwm_input_5">Serial UDB Extra PWM Input Channel 5</field>
<field type="int16_t" name="sue_pwm_input_6">Serial UDB Extra PWM Input Channel 6</field>
<field type="int16_t" name="sue_pwm_input_7">Serial UDB Extra PWM Input Channel 7</field>
<field type="int16_t" name="sue_pwm_input_8">Serial UDB Extra PWM Input Channel 8</field>
<field type="int16_t" name="sue_pwm_input_9">Serial UDB Extra PWM Input Channel 9</field>
<field type="int16_t" name="sue_pwm_input_10">Serial UDB Extra PWM Input Channel 10</field>
<field type="int16_t" name="sue_pwm_output_1">Serial UDB Extra PWM Output Channel 1</field>
<field type="int16_t" name="sue_pwm_output_2">Serial UDB Extra PWM Output Channel 2</field>
<field type="int16_t" name="sue_pwm_output_3">Serial UDB Extra PWM Output Channel 3</field>
<field type="int16_t" name="sue_pwm_output_4">Serial UDB Extra PWM Output Channel 4</field>
<field type="int16_t" name="sue_pwm_output_5">Serial UDB Extra PWM Output Channel 5</field>
<field type="int16_t" name="sue_pwm_output_6">Serial UDB Extra PWM Output Channel 6</field>
<field type="int16_t" name="sue_pwm_output_7">Serial UDB Extra PWM Output Channel 7</field>
<field type="int16_t" name="sue_pwm_output_8">Serial UDB Extra PWM Output Channel 8</field>
<field type="int16_t" name="sue_pwm_output_9">Serial UDB Extra PWM Output Channel 9</field>
<field type="int16_t" name="sue_pwm_output_10">Serial UDB Extra PWM Output Channel 10</field>
<field type="int16_t" name="sue_imu_location_x">Serial UDB Extra IMU Location X</field>
<field type="int16_t" name="sue_imu_location_y">Serial UDB Extra IMU Location Y</field>
<field type="int16_t" name="sue_imu_location_z">Serial UDB Extra IMU Location Z</field>
<field type="uint32_t" name="sue_flags">Serial UDB Extra Status Flags</field>
<field type="int16_t" name="sue_osc_fails">Serial UDB Extra Oscillator Failure Count</field>
<field type="int16_t" name="sue_imu_velocity_x">Serial UDB Extra IMU Velocity X</field>
<field type="int16_t" name="sue_imu_velocity_y">Serial UDB Extra IMU Velocity Y</field>
<field type="int16_t" name="sue_imu_velocity_z">Serial UDB Extra IMU Velocity Z</field>
<field type="int16_t" name="sue_waypoint_goal_x">Serial UDB Extra Current Waypoint Goal X</field>
<field type="int16_t" name="sue_waypoint_goal_y">Serial UDB Extra Current Waypoint Goal Y</field>
<field type="int16_t" name="sue_waypoint_goal_z">Serial UDB Extra Current Waypoint Goal Z</field>
<field type="int16_t" name="sue_memory_stack_free">Serial UDB Extra Stack Memory Free</field>
</message>
<message id="172" name="SERIAL_UDB_EXTRA_F4">
<description>Backwards compatible version of SERIAL_UDB_EXTRA F4: format</description>
<field type="uint8_t" name="sue_ROLL_STABILIZATION_AILERONS">Serial UDB Extra Roll Stabilization with Ailerons Enabled</field>
<field type="uint8_t" name="sue_ROLL_STABILIZATION_RUDDER">Serial UDB Extra Roll Stabilization with Rudder Enabled</field>
<field type="uint8_t" name="sue_PITCH_STABILIZATION">Serial UDB Extra Pitch Stabilization Enabled</field>
<field type="uint8_t" name="sue_YAW_STABILIZATION_RUDDER">Serial UDB Extra Yaw Stabilization using Rudder Enabled</field>
<field type="uint8_t" name="sue_YAW_STABILIZATION_AILERON">Serial UDB Extra Yaw Stabilization using Ailerons Enabled</field>
<field type="uint8_t" name="sue_AILERON_NAVIGATION">Serial UDB Extra Navigation with Ailerons Enabled</field>
<field type="uint8_t" name="sue_RUDDER_NAVIGATION">Serial UDB Extra Navigation with Rudder Enabled</field>
<field type="uint8_t" name="sue_ALTITUDEHOLD_STABILIZED">Serial UDB Extra Type of Alitude Hold when in Stabilized Mode</field>
<field type="uint8_t" name="sue_ALTITUDEHOLD_WAYPOINT">Serial UDB Extra Type of Alitude Hold when in Waypoint Mode</field>
<field type="uint8_t" name="sue_RACING_MODE">Serial UDB Extra Firmware racing mode enabled</field>
</message>
<message id="173" name="SERIAL_UDB_EXTRA_F5">
<description>Backwards compatible version of SERIAL_UDB_EXTRA F5: format</description>
<field type="float" name="sue_YAWKP_AILERON">Serial UDB YAWKP_AILERON Gain for Proporional control of navigation</field>
<field type="float" name="sue_YAWKD_AILERON">Serial UDB YAWKD_AILERON Gain for Rate control of navigation</field>
<field type="float" name="sue_ROLLKP">Serial UDB Extra ROLLKP Gain for Proportional control of roll stabilization</field>
<field type="float" name="sue_ROLLKD">Serial UDB Extra ROLLKD Gain for Rate control of roll stabilization</field>
<field type="float" name="sue_YAW_STABILIZATION_AILERON">YAW_STABILIZATION_AILERON Proportional control</field>
<field type="float" name="sue_AILERON_BOOST">Gain For Boosting Manual Aileron control When Plane Stabilized</field>
</message>
<message id="174" name="SERIAL_UDB_EXTRA_F6">
<description>Backwards compatible version of SERIAL_UDB_EXTRA F6: format</description>
<field type="float" name="sue_PITCHGAIN">Serial UDB Extra PITCHGAIN Proportional Control</field>
<field type="float" name="sue_PITCHKD">Serial UDB Extra Pitch Rate Control</field>
<field type="float" name="sue_RUDDER_ELEV_MIX">Serial UDB Extra Rudder to Elevator Mix</field>
<field type="float" name="sue_ROLL_ELEV_MIX">Serial UDB Extra Roll to Elevator Mix</field>
<field type="float" name="sue_ELEVATOR_BOOST">Gain For Boosting Manual Elevator control When Plane Stabilized</field>
</message>
<message id="175" name="SERIAL_UDB_EXTRA_F7">
<description>Backwards compatible version of SERIAL_UDB_EXTRA F7: format</description>
<field type="float" name="sue_YAWKP_RUDDER">Serial UDB YAWKP_RUDDER Gain for Proporional control of navigation</field>
<field type="float" name="sue_YAWKD_RUDDER">Serial UDB YAWKD_RUDDER Gain for Rate control of navigation</field>
<field type="float" name="sue_ROLLKP_RUDDER">Serial UDB Extra ROLLKP_RUDDER Gain for Proportional control of roll stabilization</field>
<field type="float" name="sue_ROLLKD_RUDDER">Serial UDB Extra ROLLKD_RUDDER Gain for Rate control of roll stabilization</field>
<field type="float" name="sue_RUDDER_BOOST">SERIAL UDB EXTRA Rudder Boost Gain to Manual Control when stabilized</field>
<field type="float" name="sue_RTL_PITCH_DOWN">Serial UDB Extra Return To Landing - Angle to Pitch Plane Down</field>
</message>
<message id="176" name="SERIAL_UDB_EXTRA_F8">
<description>Backwards compatible version of SERIAL_UDB_EXTRA F8: format</description>
<field type="float" name="sue_HEIGHT_TARGET_MAX">Serial UDB Extra HEIGHT_TARGET_MAX</field>
<field type="float" name="sue_HEIGHT_TARGET_MIN">Serial UDB Extra HEIGHT_TARGET_MIN</field>
<field type="float" name="sue_ALT_HOLD_THROTTLE_MIN">Serial UDB Extra ALT_HOLD_THROTTLE_MIN</field>
<field type="float" name="sue_ALT_HOLD_THROTTLE_MAX">Serial UDB Extra ALT_HOLD_THROTTLE_MAX</field>
<field type="float" name="sue_ALT_HOLD_PITCH_MIN">Serial UDB Extra ALT_HOLD_PITCH_MIN</field>
<field type="float" name="sue_ALT_HOLD_PITCH_MAX">Serial UDB Extra ALT_HOLD_PITCH_MAX</field>
<field type="float" name="sue_ALT_HOLD_PITCH_HIGH">Serial UDB Extra ALT_HOLD_PITCH_HIGH</field>
</message>
<message id="177" name="SERIAL_UDB_EXTRA_F13">
<description>Backwards compatible version of SERIAL_UDB_EXTRA F13: format</description>
<field type="int16_t" name="sue_week_no">Serial UDB Extra GPS Week Number</field>
<field type="int32_t" name="sue_lat_origin">Serial UDB Extra MP Origin Latitude</field>
<field type="int32_t" name="sue_lon_origin">Serial UDB Extra MP Origin Longitude</field>
<field type="int32_t" name="sue_alt_origin">Serial UDB Extra MP Origin Altitude Above Sea Level</field>
</message>
<message id="178" name="SERIAL_UDB_EXTRA_F14">
<description>Backwards compatible version of SERIAL_UDB_EXTRA F14: format</description>
<field type="uint8_t" name="sue_WIND_ESTIMATION">Serial UDB Extra Wind Estimation Enabled</field>
<field type="uint8_t" name="sue_GPS_TYPE">Serial UDB Extra Type of GPS Unit</field>
<field type="uint8_t" name="sue_DR">Serial UDB Extra Dead Reckoning Enabled</field>
<field type="uint8_t" name="sue_BOARD_TYPE">Serial UDB Extra Type of UDB Hardware</field>
<field type="uint8_t" name="sue_AIRFRAME">Serial UDB Extra Type of Airframe</field>
<field type="int16_t" name="sue_RCON">Serial UDB Extra Reboot Regitster of DSPIC</field>
<field type="int16_t" name="sue_TRAP_FLAGS">Serial UDB Extra Last dspic Trap Flags</field>
<field type="uint32_t" name="sue_TRAP_SOURCE">Serial UDB Extra Type Program Address of Last Trap</field>
<field type="int16_t" name="sue_osc_fail_count">Serial UDB Extra Number of Ocillator Failures</field>
<field type="uint8_t" name="sue_CLOCK_CONFIG">Serial UDB Extra UDB Internal Clock Configuration</field>
<field type="uint8_t" name="sue_FLIGHT_PLAN_TYPE">Serial UDB Extra Type of Flight Plan</field>
</message>
<message id="179" name="SERIAL_UDB_EXTRA_F15">
<description>Backwards compatible version of SERIAL_UDB_EXTRA F15 and F16: format</description>
<field type="uint8_t[40]" name="sue_ID_VEHICLE_MODEL_NAME">Serial UDB Extra Model Name Of Vehicle</field>
<field type="uint8_t[20]" name="sue_ID_VEHICLE_REGISTRATION">Serial UDB Extra Registraton Number of Vehicle</field>
</message>
<message id="180" name="SERIAL_UDB_EXTRA_F16">
<field type="uint8_t[40]" name="sue_ID_LEAD_PILOT">Serial UDB Extra Name of Expected Lead Pilot</field>
<field type="uint8_t[70]" name="sue_ID_DIY_DRONES_URL">Serial UDB Extra URL of Lead Pilot or Team</field>
</message>
<message id="181" name="ALTITUDES">
<description>The altitude measured by sensors and IMU</description>
<field type="uint32_t" name="time_boot_ms">Timestamp (milliseconds since system boot)</field>
<field type="int32_t" name="alt_gps">GPS altitude in meters, expressed as * 1000 (millimeters), above MSL</field>
<field type="int32_t" name="alt_imu">IMU altitude above ground in meters, expressed as * 1000 (millimeters)</field>
<field type="int32_t" name="alt_barometric">barometeric altitude above ground in meters, expressed as * 1000 (millimeters)</field>
<field type="int32_t" name="alt_optical_flow">Optical flow altitude above ground in meters, expressed as * 1000 (millimeters)</field>
<field type="int32_t" name="alt_range_finder">Rangefinder Altitude above ground in meters, expressed as * 1000 (millimeters)</field>
<field type="int32_t" name="alt_extra">Extra altitude above ground in meters, expressed as * 1000 (millimeters)</field>
</message>
<message id="182" name="AIRSPEEDS">
<description>The airspeed measured by sensors and IMU</description>
<field type="uint32_t" name="time_boot_ms">Timestamp (milliseconds since system boot)</field>
<field type="int16_t" name="airspeed_imu">Airspeed estimate from IMU, cm/s</field>
<field type="int16_t" name="airspeed_pitot">Pitot measured forward airpseed, cm/s</field>
<field type="int16_t" name="airspeed_hot_wire">Hot wire anenometer measured airspeed, cm/s</field>
<field type="int16_t" name="airspeed_ultrasonic">Ultrasonic measured airspeed, cm/s</field>
<field type="int16_t" name="aoa">Angle of attack sensor, degrees * 10</field>
<field type="int16_t" name="aoy">Yaw angle sensor, degrees * 10</field>
</message>
</messages>
</mavlink>
<?xml version='1.0'?>
<mavlink>
<version>2</version>
<enums>
<enum name="MAV_AUTOPILOT">
<description>Micro air vehicle / autopilot classes. This identifies the individual model.</description>
<entry value="0" name="MAV_AUTOPILOT_GENERIC">
<description>Generic autopilot, full support for everything</description>
</entry>
<entry value="1" name="MAV_AUTOPILOT_PIXHAWK">
<description>PIXHAWK autopilot, http://pixhawk.ethz.ch</description>
</entry>
<entry value="2" name="MAV_AUTOPILOT_SLUGS">
<description>SLUGS autopilot, http://slugsuav.soe.ucsc.edu</description>
</entry>
<entry value="3" name="MAV_AUTOPILOT_ARDUPILOTMEGA">
<description>ArduPilotMega / ArduCopter, http://diydrones.com</description>
</entry>
<entry value="4" name="MAV_AUTOPILOT_OPENPILOT">
<description>OpenPilot, http://openpilot.org</description>
</entry>
<entry value="5" name="MAV_AUTOPILOT_GENERIC_WAYPOINTS_ONLY">
<description>Generic autopilot only supporting simple waypoints</description>
</entry>
<entry value="6" name="MAV_AUTOPILOT_GENERIC_WAYPOINTS_AND_SIMPLE_NAVIGATION_ONLY">
<description>Generic autopilot supporting waypoints and other simple navigation commands</description>
</entry>
<entry value="7" name="MAV_AUTOPILOT_GENERIC_MISSION_FULL">
<description>Generic autopilot supporting the full mission command set</description>
</entry>
<entry value="8" name="MAV_AUTOPILOT_INVALID">
<description>No valid autopilot, e.g. a GCS or other MAVLink component</description>
</entry>
<entry value="9" name="MAV_AUTOPILOT_PPZ">
<description>PPZ UAV - http://nongnu.org/paparazzi</description>
</entry>
<entry value="10" name="MAV_AUTOPILOT_UDB">
<description>UAV Dev Board</description>
</entry>
<entry value="11" name="MAV_AUTOPILOT_FP">
<description>FlexiPilot</description>
</entry>
</enum>
<enum name="MAV_TYPE">
<entry value="0" name="MAV_TYPE_GENERIC">
<description>Generic micro air vehicle.</description>
</entry>
<entry value="1" name="MAV_TYPE_FIXED_WING">
<description>Fixed wing aircraft.</description>
</entry>
<entry value="2" name="MAV_TYPE_QUADROTOR">
<description>Quadrotor</description>
</entry>
<entry value="3" name="MAV_TYPE_COAXIAL">
<description>Coaxial helicopter</description>
</entry>
<entry value="4" name="MAV_TYPE_HELICOPTER">
<description>Normal helicopter with tail rotor.</description>
</entry>
<entry value="5" name="MAV_TYPE_ANTENNA_TRACKER">
<description>Ground installation</description>
</entry>
<entry value="6" name="MAV_TYPE_GCS">
<description>Operator control unit / ground control station</description>
</entry>
<entry value="7" name="MAV_TYPE_AIRSHIP">
<description>Airship, controlled</description>
</entry>
<entry value="8" name="MAV_TYPE_FREE_BALLOON">
<description>Free balloon, uncontrolled</description>
</entry>
<entry value="9" name="MAV_TYPE_ROCKET">
<description>Rocket</description>
</entry>
<entry value="10" name="MAV_TYPE_GROUND_ROVER">
<description>Ground rover</description>
</entry>
<entry value="11" name="MAV_TYPE_SURFACE_BOAT">
<description>Surface vessel, boat, ship</description>
</entry>
<entry value="12" name="MAV_TYPE_SUBMARINE">
<description>Submarine</description>
</entry>
<entry value="13" name="MAV_TYPE_HEXAROTOR">
<description>Hexarotor</description>
</entry>
<entry value="14" name="MAV_TYPE_OCTOROTOR">
<description>Octorotor</description>
</entry>
<entry value="15" name="MAV_TYPE_TRICOPTER">
<description>Octorotor</description>
</entry>
<entry value="16" name="MAV_TYPE_FLAPPING_WING">
<description>Flapping wing</description>
</entry>
</enum>
<enum name="MAV_MODE_FLAG">
<description>These flags encode the MAV mode.</description>
<entry value="128" name="MAV_MODE_FLAG_SAFETY_ARMED">
<description>0b10000000 MAV safety set to armed. Motors are enabled / running / can start. Ready to fly.</description>
</entry>
<entry value="64" name="MAV_MODE_FLAG_MANUAL_INPUT_ENABLED">
<description>0b01000000 remote control input is enabled.</description>
</entry>
<entry value="32" name="MAV_MODE_FLAG_HIL_ENABLED">
<description>0b00100000 hardware in the loop simulation. All motors / actuators are blocked, but internal software is full operational.</description>
</entry>
<entry value="16" name="MAV_MODE_FLAG_STABILIZE_ENABLED">
<description>0b00010000 system stabilizes electronically its attitude (and optionally position). It needs however further control inputs to move around.</description>
</entry>
<entry value="8" name="MAV_MODE_FLAG_GUIDED_ENABLED">
<description>0b00001000 guided mode enabled, system flies MISSIONs / mission items.</description>
</entry>
<entry value="4" name="MAV_MODE_FLAG_AUTO_ENABLED">
<description>0b00000100 autonomous mode enabled, system finds its own goal positions. Guided flag can be set or not, depends on the actual implementation.</description>
</entry>
<entry value="2" name="MAV_MODE_FLAG_TEST_ENABLED">
<description>0b00000010 system has a test mode enabled. This flag is intended for temporary system tests and should not be used for stable implementations.</description>
</entry>
<entry value="1" name="MAV_MODE_FLAG_CUSTOM_MODE_ENABLED">
<description>0b00000001 Reserved for future use.</description>
</entry>
</enum>
<enum name="MAV_MODE_FLAG_DECODE_POSITION">
<description>These values encode the bit positions of the decode position. These values can be used to read the value of a flag bit by combining the base_mode variable with AND with the flag position value. The result will be either 0 or 1, depending on if the flag is set or not.</description>
<entry value="128" name="MAV_MODE_FLAG_DECODE_POSITION_SAFETY">
<description>First bit: 10000000</description>
</entry>
<entry value="64" name="MAV_MODE_FLAG_DECODE_POSITION_MANUAL">
<description>Second bit: 01000000</description>
</entry>
<entry value="32" name="MAV_MODE_FLAG_DECODE_POSITION_HIL">
<description>Third bit: 00100000</description>
</entry>
<entry value="16" name="MAV_MODE_FLAG_DECODE_POSITION_STABILIZE">
<description>Fourth bit: 00010000</description>
</entry>
<entry value="8" name="MAV_MODE_FLAG_DECODE_POSITION_GUIDED">
<description>Fifth bit: 00001000</description>
</entry>
<entry value="4" name="MAV_MODE_FLAG_DECODE_POSITION_AUTO">
<description>Sixt bit: 00000100</description>
</entry>
<entry value="2" name="MAV_MODE_FLAG_DECODE_POSITION_TEST">
<description>Seventh bit: 00000010</description>
</entry>
<entry value="1" name="MAV_MODE_FLAG_DECODE_POSITION_CUSTOM_MODE">
<description>Eighth bit: 00000001</description>
</entry>
</enum>
<enum name="MAV_STATE">
<entry value="0" name="MAV_STATE_UNINIT">
<description>Uninitialized system, state is unknown.</description>
</entry>
<entry name="MAV_STATE_BOOT">
<description>System is booting up.</description>
</entry>
<entry name="MAV_STATE_CALIBRATING">
<description>System is calibrating and not flight-ready.</description>
</entry>
<entry name="MAV_STATE_STANDBY">
<description>System is grounded and on standby. It can be launched any time.</description>
</entry>
<entry name="MAV_STATE_ACTIVE">
<description>System is active and might be already airborne. Motors are engaged.</description>
</entry>
<entry name="MAV_STATE_CRITICAL">
<description>System is in a non-normal flight mode. It can however still navigate.</description>
</entry>
<entry name="MAV_STATE_EMERGENCY">
<description>System is in a non-normal flight mode. It lost control over parts or over the whole airframe. It is in mayday and going down.</description>
</entry>
<entry name="MAV_STATE_POWEROFF">
<description>System just initialized its power-down sequence, will shut down now.</description>
</entry>
</enum>
</enums>
<messages>
<message id="0" name="HEARTBEAT">
<description>The heartbeat message shows that a system is present and responding. The type of the MAV and Autopilot hardware allow the receiving system to treat further messages from this system appropriate (e.g. by laying out the user interface based on the autopilot).</description>
<field type="uint8_t" name="type">Type of the MAV (quadrotor, helicopter, etc., up to 15 types, defined in MAV_TYPE ENUM)</field>
<field type="uint8_t" name="autopilot">Autopilot type / class. defined in MAV_AUTOPILOT ENUM</field>
<field type="uint8_t" name="base_mode">System mode bitfield, see MAV_MODE_FLAGS ENUM in mavlink/include/mavlink_types.h</field>
<field type="uint32_t" name="custom_mode">A bitfield for use for autopilot-specific flags.</field>
<field type="uint8_t" name="system_status">System status flag, see MAV_STATE ENUM</field>
<field type="uint8_t_mavlink_version" name="mavlink_version">MAVLink version</field>
</message>
</messages>
</mavlink>
<?xml version='1.0'?>
<mavlink>
<include>common.xml</include>
<version>3</version>
<enums>
</enums>
<messages>
<!-- Messages specifically designated for the Paparazzi autopilot -->
<message id="180" name="SCRIPT_ITEM">
<description>Message encoding a mission script item. This message is emitted upon a request for the next script item.</description>
<field type="uint8_t" name="target_system">System ID</field>
<field type="uint8_t" name="target_component">Component ID</field>
<field type="uint16_t" name="seq">Sequence</field>
<field type="char[50]" name="name">The name of the mission script, NULL terminated.</field>
</message>
<message id="181" name="SCRIPT_REQUEST">
<description>Request script item with the sequence number seq. The response of the system to this message should be a SCRIPT_ITEM message.</description>
<field type="uint8_t" name="target_system">System ID</field>
<field type="uint8_t" name="target_component">Component ID</field>
<field type="uint16_t" name="seq">Sequence</field>
</message>
<message id="182" name="SCRIPT_REQUEST_LIST">
<description>Request the overall list of mission items from the system/component.</description>
<field type="uint8_t" name="target_system">System ID</field>
<field type="uint8_t" name="target_component">Component ID</field>
</message>
<message id="183" name="SCRIPT_COUNT">
<description>This message is emitted as response to SCRIPT_REQUEST_LIST by the MAV to get the number of mission scripts.</description>
<field type="uint8_t" name="target_system">System ID</field>
<field type="uint8_t" name="target_component">Component ID</field>
<field type="uint16_t" name="count">Number of script items in the sequence</field>
</message>
<message id="184" name="SCRIPT_CURRENT">
<description>This message informs about the currently active SCRIPT.</description>
<field type="uint16_t" name="seq">Active Sequence</field>
</message>
</messages>
</mavlink>
<?xml version='1.0'?>
<!-- MESSAGE IDs 150 - 240: Space for custom messages in individual projectname_messages.xml files -->
<mavlink>
<include>common.xml</include>
<messages>
<message id="150" name="ARRAY_TEST_0">
<description>Array test #0.</description>
<field type="uint8_t" name="v1">Stub field</field>
<field type="int8_t[4]" name="ar_i8">Value array</field>
<field type="uint8_t[4]" name="ar_u8">Value array</field>
<field type="uint16_t[4]" name="ar_u16">Value array</field>
<field type="uint32_t[4]" name="ar_u32">Value array</field>
</message>
<message id="151" name="ARRAY_TEST_1">
<description>Array test #1.</description>
<field type="uint32_t[4]" name="ar_u32">Value array</field>
</message>
<message id="153" name="ARRAY_TEST_3">
<description>Array test #3.</description>
<field type="uint8_t" name="v">Stub field</field>
<field type="uint32_t[4]" name="ar_u32">Value array</field>
</message>
<message id="154" name="ARRAY_TEST_4">
<description>Array test #4.</description>
<field type="uint32_t[4]" name="ar_u32">Value array</field>
<field type="uint8_t" name="v">Stub field</field>
</message>
<message id="155" name="ARRAY_TEST_5">
<description>Array test #5.</description>
<field type="char[5]" name="c1">Value array</field>
<field type="char[5]" name="c2">Value array</field>
</message>
<message id="156" name="ARRAY_TEST_6">
<description>Array test #6.</description>
<field type="uint8_t" name="v1">Stub field</field>
<field type="uint16_t" name="v2">Stub field</field>
<field type="uint32_t" name="v3">Stub field</field>
<field type="uint32_t[2]" name="ar_u32">Value array</field>
<field type="int32_t[2]" name="ar_i32">Value array</field>
<field type="uint16_t[2]" name="ar_u16">Value array</field>
<field type="int16_t[2]" name="ar_i16">Value array</field>
<field type="uint8_t[2]" name="ar_u8">Value array</field>
<field type="int8_t[2]" name="ar_i8">Value array</field>
<field type="char[32]" name="ar_c">Value array</field>
<field type="double[2]" name="ar_d">Value array</field>
<field type="float[2]" name="ar_f">Value array</field>
</message>
<message id="157" name="ARRAY_TEST_7">
<description>Array test #7.</description>
<field type="double[2]" name="ar_d">Value array</field>
<field type="float[2]" name="ar_f">Value array</field>
<field type="uint32_t[2]" name="ar_u32">Value array</field>
<field type="int32_t[2]" name="ar_i32">Value array</field>
<field type="uint16_t[2]" name="ar_u16">Value array</field>
<field type="int16_t[2]" name="ar_i16">Value array</field>
<field type="uint8_t[2]" name="ar_u8">Value array</field>
<field type="int8_t[2]" name="ar_i8">Value array</field>
<field type="char[32]" name="ar_c">Value array</field>
</message>
<message id="158" name="ARRAY_TEST_8">
<description>Array test #8.</description>
<field type="uint32_t" name="v3">Stub field</field>
<field type="double[2]" name="ar_d">Value array</field>
<field type="uint16_t[2]" name="ar_u16">Value array</field>
</message>
</messages>
</mavlink>
<?xml version="1.0"?>
<mavlink>
<include>common.xml</include>
<enums>
<enum name="MAV_CMD">
<!-- 1-10000 reserved for common commands -->
<entry value="10001" name="MAV_CMD_DO_NOTHING">
<description>Does nothing.</description>
<param index="1">1 to arm, 0 to disarm</param>
</entry>
<!-- Unused Commands -->
<!--
<entry value="10002" name="MAV_CMD_CALIBRATE_RC">
<description>Initiate radio control calibration.</description>
</entry>
<entry value="10003" name="MAV_CMD_CALIBRATE_MAGNETOMETER">
<description>Stops recording data.</description>
</entry>
<entry value="10004" name="MAV_CMD_START_RECORDING">
<description>Start recording data.</description>
</entry>
<entry value="10005" name="MAV_CMD_PAUSE_RECORDING">
<description>Pauses recording data.</description>
</entry>
<entry value="10006" name="MAV_CMD_STOP_RECORDING">
<description>Stops recording data.</description>
</entry>
-->
<!-- Old MAVlink Common Actions -->
<entry value="10011" name="MAV_CMD_RETURN_TO_BASE">
<description>Return vehicle to base.</description>
<param index="1">0: return to base, 1: track mobile base</param>
</entry>
<entry value="10012" name="MAV_CMD_STOP_RETURN_TO_BASE">
<description>Stops the vehicle from returning to base and resumes flight. </description>
</entry>
<entry value="10013" name="MAV_CMD_TURN_LIGHT">
<description>Turns the vehicle's visible or infrared lights on or off.</description>
<param index="1">0: visible lights, 1: infrared lights</param>
<param index="2">0: turn on, 1: turn off</param>
</entry>
<entry value="10014" name="MAV_CMD_GET_MID_LEVEL_COMMANDS">
<description>Requests vehicle to send current mid-level commands to ground station.</description>
</entry>
<entry value="10015" name="MAV_CMD_MIDLEVEL_STORAGE">
<description>Requests storage of mid-level commands.</description>
<param index="1">Mid-level command storage: 0: read from flash/EEPROM, 1: write to flash/EEPROM</param>
</entry>
<!-- From SLUGS_ACTION Enum -->
</enum>
<enum name="SLUGS_MODE">
<description>Slugs-specific navigation modes.</description>
<entry value="0" name="SLUGS_MODE_NONE">
<description>No change to SLUGS mode.</description>
</entry>
<entry value="1" name="SLUGS_MODE_LIFTOFF">
<description>Vehicle is in liftoff mode.</description>
</entry>
<entry value="2" name="SLUGS_MODE_PASSTHROUGH">
<description>Vehicle is in passthrough mode, being controlled by a pilot.</description>
</entry>
<entry value="3" name="SLUGS_MODE_WAYPOINT">
<description>Vehicle is in waypoint mode, navigating to waypoints.</description>
</entry>
<entry value="4" name="SLUGS_MODE_MID_LEVEL">
<description>Vehicle is executing mid-level commands.</description>
</entry>
<entry value="5" name="SLUGS_MODE_RETURNING">
<description>Vehicle is returning to the home location.</description>
</entry>
<entry value="6" name="SLUGS_MODE_LANDING">
<description>Vehicle is landing.</description>
</entry>
<entry value="7" name="SLUGS_MODE_LOST">
<description>Lost connection with vehicle.</description>
</entry>
<entry value="8" name="SLUGS_MODE_SELECTIVE_PASSTHROUGH">
<description>Vehicle is in selective passthrough mode, where selected surfaces are being manually controlled.</description>
</entry>
<entry value="9" name="SLUGS_MODE_ISR">
<description>Vehicle is in ISR mode, performing reconaissance at a point specified by ISR_LOCATION message.</description>
</entry>
<entry value="10" name="SLUGS_MODE_LINE_PATROL">
<description>Vehicle is patrolling along lines between waypoints.</description>
</entry>
<entry value="11" name="SLUGS_MODE_GROUNDED">
<description>Vehicle is grounded or an error has occurred.</description>
</entry>
</enum>
<enum name="CONTROL_SURFACE_FLAG">
<description>These flags encode the control surfaces for selective passthrough mode. If a bit is set then the pilot console
has control of the surface, and if not then the autopilot has control of the surface.</description>
<entry value="128" name="CONTROL_SURFACE_FLAG_THROTTLE">
<description>0b10000000 Throttle control passes through to pilot console.</description>
</entry>
<entry value="64" name="CONTROL_SURFACE_FLAG_LEFT_AILERON">
<description>0b01000000 Left aileron control passes through to pilot console.</description>
</entry>
<entry value="32" name="CONTROL_SURFACE_FLAG_RIGHT_AILERON">
<description>0b00100000 Right aileron control passes through to pilot console.</description>
</entry>
<entry value="16" name="CONTROL_SURFACE_FLAG_RUDDER">
<description>0b00010000 Rudder control passes through to pilot console.</description>
</entry>
<entry value="8" name="CONTROL_SURFACE_FLAG_LEFT_ELEVATOR">
<description>0b00001000 Left elevator control passes through to pilot console.</description>
</entry>
<entry value="4" name="CONTROL_SURFACE_FLAG_RIGHT_ELEVATOR">
<description>0b00000100 Right elevator control passes through to pilot console.</description>
</entry>
<entry value="2" name="CONTROL_SURFACE_FLAG_LEFT_FLAP">
<description>0b00000010 Left flap control passes through to pilot console.</description>
</entry>
<entry value="1" name="CONTROL_SURFACE_FLAG_RIGHT_FLAP">
<description>0b00000001 Right flap control passes through to pilot console.</description>
</entry>
</enum>
</enums>
<!--
<enum name="WP_PROTOCOL_STATE" >
<description> Waypoint Protocol States </description>
<entry name = "WP_PROT_IDLE">
<entry name = "WP_PROT_LIST_REQUESTED">
<entry name = "WP_PROT_NUM_SENT">
<entry name = "WP_PROT_TX_WP">
<entry name = "WP_PROT_RX_WP">
<entry name = "WP_PROT_SENDING_WP_IDLE">
<entry name = "WP_PROT_GETTING_WP_IDLE">
</enum>
-->
<messages>
<message name="CPU_LOAD" id="170">
<description>Sensor and DSC control loads.</description>
<field name="sensLoad" type="uint8_t">Sensor DSC Load</field>
<field name="ctrlLoad" type="uint8_t">Control DSC Load</field>
<field name="batVolt" type="uint16_t">Battery Voltage in millivolts</field>
</message>
<message name="SENSOR_BIAS" id="172">
<description>Accelerometer and gyro biases.</description>
<field name="axBias" type="float">Accelerometer X bias (m/s)</field>
<field name="ayBias" type="float">Accelerometer Y bias (m/s)</field>
<field name="azBias" type="float">Accelerometer Z bias (m/s)</field>
<field name="gxBias" type="float">Gyro X bias (rad/s)</field>
<field name="gyBias" type="float">Gyro Y bias (rad/s)</field>
<field name="gzBias" type="float">Gyro Z bias (rad/s)</field>
</message>
<message name="DIAGNOSTIC" id="173">
<description>Configurable diagnostic messages.</description>
<field name="diagFl1" type="float">Diagnostic float 1</field>
<field name="diagFl2" type="float">Diagnostic float 2</field>
<field name="diagFl3" type="float">Diagnostic float 3</field>
<field name="diagSh1" type="int16_t">Diagnostic short 1</field>
<field name="diagSh2" type="int16_t">Diagnostic short 2</field>
<field name="diagSh3" type="int16_t">Diagnostic short 3</field>
</message>
<message name="SLUGS_NAVIGATION" id="176">
<description>Data used in the navigation algorithm.</description>
<field name="u_m" type="float">Measured Airspeed prior to the nav filter in m/s</field>
<field name="phi_c" type="float">Commanded Roll</field>
<field name="theta_c" type="float">Commanded Pitch</field>
<field name="psiDot_c" type="float">Commanded Turn rate</field>
<field name="ay_body" type="float">Y component of the body acceleration</field>
<field name="totalDist" type="float">Total Distance to Run on this leg of Navigation</field>
<field name="dist2Go" type="float">Remaining distance to Run on this leg of Navigation</field>
<field name="fromWP" type="uint8_t">Origin WP</field>
<field name="toWP" type="uint8_t">Destination WP</field>
<field name="h_c" type="uint16_t">Commanded altitude in 0.1 m</field>
</message>
<message name="DATA_LOG" id="177">
<description>Configurable data log probes to be used inside Simulink</description>
<field name="fl_1" type="float">Log value 1 </field>
<field name="fl_2" type="float">Log value 2 </field>
<field name="fl_3" type="float">Log value 3 </field>
<field name="fl_4" type="float">Log value 4 </field>
<field name="fl_5" type="float">Log value 5 </field>
<field name="fl_6" type="float">Log value 6 </field>
</message>
<message name="GPS_DATE_TIME" id="179">
<description>Pilot console PWM messges.</description>
<field name="year" type="uint8_t">Year reported by Gps </field>
<field name="month" type="uint8_t">Month reported by Gps </field>
<field name="day" type="uint8_t">Day reported by Gps </field>
<field name="hour" type="uint8_t">Hour reported by Gps </field>
<field name="min" type="uint8_t">Min reported by Gps </field>
<field name="sec" type="uint8_t">Sec reported by Gps </field>
<field name="clockStat" type="uint8_t">Clock Status. See table 47 page 211 OEMStar Manual </field>
<field name="visSat" type="uint8_t">Visible satellites reported by Gps </field>
<field name="useSat" type="uint8_t">Used satellites in Solution </field>
<field name="GppGl" type="uint8_t">GPS+GLONASS satellites in Solution </field>
<field name="sigUsedMask" type="uint8_t">GPS and GLONASS usage mask (bit 0 GPS_used? bit_4 GLONASS_used?)</field>
<field name="percentUsed" type="uint8_t">Percent used GPS</field>
</message>
<message name="MID_LVL_CMDS" id="180">
<description>Mid Level commands sent from the GS to the autopilot. These are only sent when being operated in mid-level commands mode from the ground.</description>
<field name="target" type="uint8_t">The system setting the commands</field>
<field name="hCommand" type="float">Commanded Altitude in meters</field>
<field name="uCommand" type="float">Commanded Airspeed in m/s</field>
<field name="rCommand" type="float">Commanded Turnrate in rad/s</field>
</message>
<message name="CTRL_SRFC_PT" id="181">
<description>This message sets the control surfaces for selective passthrough mode.</description>
<field name="target" type="uint8_t">The system setting the commands</field>
<field name="bitfieldPt" type="uint16_t">Bitfield containing the passthrough configuration, see CONTROL_SURFACE_FLAG ENUM.</field>
</message>
<message name="SLUGS_CAMERA_ORDER" id="184">
<description>Orders generated to the SLUGS camera mount. </description>
<field name="target" type="uint8_t">The system reporting the action</field>
<field name="pan" type="int8_t">Order the mount to pan: -1 left, 0 No pan motion, +1 right</field>
<field name="tilt" type="int8_t">Order the mount to tilt: -1 down, 0 No tilt motion, +1 up</field>
<field name="zoom" type="int8_t">Order the zoom values 0 to 10</field>
<field name="moveHome" type="int8_t">Orders the camera mount to move home. The other fields are ignored when this field is set. 1: move home, 0 ignored</field>
</message>
<message name="CONTROL_SURFACE" id="185">
<description>Control for surface; pending and order to origin.</description>
<field name="target" type="uint8_t">The system setting the commands</field>
<field name="idSurface" type="uint8_t">ID control surface send 0: throttle 1: aileron 2: elevator 3: rudder</field>
<field name="mControl" type="float">Pending</field>
<field name="bControl" type="float">Order to origin</field>
</message>
<!-- Moved into MAV_CMD_RETURN_TO_BASE -->
<!--
<message name="SLUGS_RTB" id="187">
<description>Orders SLUGS to RTB. It also decides to either track a mobile or RTB </description>
<field name="target" type="uint8_t">The system ordered to RTB</field>
<field name="rtb" type="uint8_t">Order SLUGS to: 0: Stop RTB and resume flight; 1: RTB</field>
<field name="track_mobile" type="uint8_t">Order SLUGS to: 0: RTB to GS Location; 1: Track mobile </field>
</message>
-->
<message name="SLUGS_MOBILE_LOCATION" id="186">
<description>Transmits the last known position of the mobile GS to the UAV. Very relevant when Track Mobile is enabled</description>
<field name="target" type="uint8_t">The system reporting the action</field>
<field name="latitude" type="float">Mobile Latitude</field>
<field name="longitude" type="float">Mobile Longitude</field>
</message>
<message name="SLUGS_CONFIGURATION_CAMERA" id="188">
<description>Control for camara.</description>
<field name="target" type="uint8_t">The system setting the commands</field>
<field name="idOrder" type="uint8_t">ID 0: brightness 1: aperture 2: iris 3: ICR 4: backlight</field>
<field name="order" type="uint8_t"> 1: up/on 2: down/off 3: auto/reset/no action</field>
</message>
<message name="ISR_LOCATION" id="189">
<description>Transmits the position of watch</description>
<field name="target" type="uint8_t">The system reporting the action</field>
<field name="latitude" type="float">ISR Latitude</field>
<field name="longitude" type="float">ISR Longitude</field>
<field name="height" type="float">ISR Height</field>
<field name="option1" type="uint8_t">Option 1</field>
<field name="option2" type="uint8_t">Option 2</field>
<field name="option3" type="uint8_t">Option 3</field>
</message>
<!-- Removed to MAV_CMD_TURN_LIGHT -->
<!--
<message name="TURN_LIGHT" id="190">
<description>Transmits the order to turn on lights</description>
<field name="target" type="uint8_t">The system ordered to turn on lights</field>
<field name="type" type="uint8_t">Type lights 0: Visible; 1: Infrared</field>
<field name="turn" type="uint8_t">Order turn on lights 1: Turn on; 0: Turn off</field>
</message>
-->
<message name="VOLT_SENSOR" id="191">
<description>Transmits the readings from the voltage and current sensors</description>
<field name="r2Type" type="uint8_t">It is the value of reading 2: 0 - Current, 1 - Foreward Sonar, 2 - Back Sonar, 3 - RPM</field>
<field name="voltage" type="uint16_t">Voltage in uS of PWM. 0 uS = 0V, 20 uS = 21.5V </field>
<field name="reading2" type="uint16_t">Depends on the value of r2Type (0) Current consumption in uS of PWM, 20 uS = 90Amp (1) Distance in cm (2) Distance in cm (3) Absolute value</field>
</message>
<message name="PTZ_STATUS" id="192">
<description>Transmits the actual Pan, Tilt and Zoom values of the camera unit</description>
<field name="zoom" type="uint8_t">The actual Zoom Value</field>
<field name="pan" type="int16_t">The Pan value in 10ths of degree</field>
<field name="tilt" type="int16_t">The Tilt value in 10ths of degree</field>
</message>
<message name="UAV_STATUS" id="193">
<description>Transmits the actual status values UAV in flight</description>
<field name="target" type="uint8_t">The ID system reporting the action</field>
<field name="latitude" type="float">Latitude UAV</field>
<field name="longitude" type="float">Longitude UAV</field>
<field name="altitude" type="float">Altitude UAV</field>
<field name="speed" type="float">Speed UAV</field>
<field name="course" type="float">Course UAV</field>
</message>
<message name="STATUS_GPS" id="194">
<description>This contains the status of the GPS readings</description>
<field name="csFails" type="uint16_t">Number of times checksum has failed</field>
<field name="gpsQuality" type="uint8_t">The quality indicator, 0=fix not available or invalid, 1=GPS fix, 2=C/A differential GPS, 6=Dead reckoning mode, 7=Manual input mode (fixed position), 8=Simulator mode, 9= WAAS a</field>
<field name="msgsType" type="uint8_t"> Indicates if GN, GL or GP messages are being received</field>
<field name="posStatus" type="uint8_t"> A = data valid, V = data invalid</field>
<field name="magVar" type="float">Magnetic variation, degrees </field>
<field name="magDir" type="int8_t"> Magnetic variation direction E/W. Easterly variation (E) subtracts from True course and Westerly variation (W) adds to True course</field>
<field name="modeInd" type="uint8_t"> Positioning system mode indicator. A - Autonomous;D-Differential; E-Estimated (dead reckoning) mode;M-Manual input; N-Data not valid</field>
</message>
<message name="NOVATEL_DIAG" id="195">
<description>Transmits the diagnostics data from the Novatel OEMStar GPS</description>
<field name="timeStatus" type="uint8_t">The Time Status. See Table 8 page 27 Novatel OEMStar Manual</field>
<field name="receiverStatus" type="uint32_t">Status Bitfield. See table 69 page 350 Novatel OEMstar Manual</field>
<field name="solStatus" type="uint8_t">solution Status. See table 44 page 197</field>
<field name="posType" type="uint8_t">position type. See table 43 page 196</field>
<field name="velType" type="uint8_t">velocity type. See table 43 page 196</field>
<field name="posSolAge" type="float">Age of the position solution in seconds</field>
<field name="csFails" type="uint16_t">Times the CRC has failed since boot</field>
</message>
<message name="SENSOR_DIAG" id="196">
<description>Diagnostic data Sensor MCU</description>
<field name="float1" type="float">Float field 1</field>
<field name="float2" type="float">Float field 2</field>
<field name="int1" type="int16_t">Int 16 field 1</field>
<field name="char1" type="int8_t">Int 8 field 1</field>
</message>
<message id="197" name="BOOT">
<description>The boot message indicates that a system is starting. The onboard software version allows to keep track of onboard soft/firmware revisions. This message allows the sensor and control MCUs to communicate version numbers on startup.</description>
<field type="uint32_t" name="version">The onboard software version</field>
</message>
</messages>
</mavlink>
<?xml version='1.0'?>
<mavlink>
<version>3</version>
<messages>
<message id="0" name="TEST_TYPES">
<description>Test all field types</description>
<field type="char" name="c">char</field>
<field type="char[10]" name="s">string</field>
<field type="uint8_t" name="u8">uint8_t</field>
<field type="uint16_t" name="u16">uint16_t</field>
<field print_format="0x%08x" type="uint32_t" name="u32">uint32_t</field>
<field type="uint64_t" name="u64">uint64_t</field>
<field type="int8_t" name="s8">int8_t</field>
<field type="int16_t" name="s16">int16_t</field>
<field type="int32_t" name="s32">int32_t</field>
<field type="int64_t" name="s64">int64_t</field>
<field type="float" name="f">float</field>
<field type="double" name="d">double</field>
<field type="uint8_t[3]" name="u8_array">uint8_t_array</field>
<field type="uint16_t[3]" name="u16_array">uint16_t_array</field>
<field type="uint32_t[3]" name="u32_array">uint32_t_array</field>
<field type="uint64_t[3]" name="u64_array">uint64_t_array</field>
<field type="int8_t[3]" name="s8_array">int8_t_array</field>
<field type="int16_t[3]" name="s16_array">int16_t_array</field>
<field type="int32_t[3]" name="s32_array">int32_t_array</field>
<field type="int64_t[3]" name="s64_array">int64_t_array</field>
<field type="float[3]" name="f_array">float_array</field>
<field type="double[3]" name="d_array">double_array</field>
</message>
</messages>
</mavlink>
<?xml version='1.0'?>
<mavlink>
<include>common.xml</include>
<enums>
<enum name="UALBERTA_AUTOPILOT_MODE">
<description>Available autopilot modes for ualberta uav</description>
<entry name="MODE_MANUAL_DIRECT">
<description>Raw input pulse widts sent to output</description>
</entry>
<entry name="MODE_MANUAL_SCALED">
<description>Inputs are normalized using calibration, the converted back to raw pulse widths for output</description>
</entry>
<entry name="MODE_AUTO_PID_ATT">
<description> dfsdfs</description>
</entry>
<entry name="MODE_AUTO_PID_VEL">
<description> dfsfds</description>
</entry>
<entry name="MODE_AUTO_PID_POS">
<description> dfsdfsdfs</description>
</entry>
</enum>
<enum name="UALBERTA_NAV_MODE">
<description>Navigation filter mode</description>
<entry name="NAV_AHRS_INIT" />
<entry name="NAV_AHRS">
<description>AHRS mode</description>
</entry>
<entry name="NAV_INS_GPS_INIT">
<description>INS/GPS initialization mode</description>
</entry>
<entry name="NAV_INS_GPS">
<description>INS/GPS mode</description>
</entry>
</enum>
<enum name="UALBERTA_PILOT_MODE">
<description>Mode currently commanded by pilot</description>
<entry name="PILOT_MANUAL">
<description> sdf</description>
</entry>
<entry name="PILOT_AUTO">
<description> dfs</description>
</entry>
<entry name="PILOT_ROTO">
<description> Rotomotion mode </description>
</entry>
</enum>
</enums>
<messages>
<message id="220" name="NAV_FILTER_BIAS">
<description>Accelerometer and Gyro biases from the navigation filter</description>
<field type="uint64_t" name="usec">Timestamp (microseconds)</field>
<field type="float" name="accel_0">b_f[0]</field>
<field type="float" name="accel_1">b_f[1]</field>
<field type="float" name="accel_2">b_f[2]</field>
<field type="float" name="gyro_0">b_f[0]</field>
<field type="float" name="gyro_1">b_f[1]</field>
<field type="float" name="gyro_2">b_f[2]</field>
</message>
<message id="221" name="RADIO_CALIBRATION">
<description>Complete set of calibration parameters for the radio</description>
<field type="uint16_t[3]" name="aileron">Aileron setpoints: left, center, right</field>
<field type="uint16_t[3]" name="elevator">Elevator setpoints: nose down, center, nose up</field>
<field type="uint16_t[3]" name="rudder">Rudder setpoints: nose left, center, nose right</field>
<field type="uint16_t[2]" name="gyro">Tail gyro mode/gain setpoints: heading hold, rate mode</field>
<field type="uint16_t[5]" name="pitch">Pitch curve setpoints (every 25%)</field>
<field type="uint16_t[5]" name="throttle">Throttle curve setpoints (every 25%)</field>
</message>
<message id="222" name="UALBERTA_SYS_STATUS">
<description>System status specific to ualberta uav</description>
<field type="uint8_t" name="mode">System mode, see UALBERTA_AUTOPILOT_MODE ENUM</field>
<field type="uint8_t" name="nav_mode">Navigation mode, see UALBERTA_NAV_MODE ENUM</field>
<field type="uint8_t" name="pilot">Pilot mode, see UALBERTA_PILOT_MODE</field>
</message>
</messages>
</mavlink>
......@@ -5,7 +5,7 @@
#ifndef MAVLINK_VERSION_H
#define MAVLINK_VERSION_H
#define MAVLINK_BUILD_DATE "Tue Jan 5 20:06:50 2016"
#define MAVLINK_BUILD_DATE "Tue Jan 5 20:38:46 2016"
#define MAVLINK_WIRE_PROTOCOL_VERSION "1.0"
#define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 9
......
......@@ -5,7 +5,7 @@
#ifndef MAVLINK_VERSION_H
#define MAVLINK_VERSION_H
#define MAVLINK_BUILD_DATE "Tue Jan 5 20:06:51 2016"
#define MAVLINK_BUILD_DATE "Tue Jan 5 20:38:46 2016"
#define MAVLINK_WIRE_PROTOCOL_VERSION "1.0"
#define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 255
......
......@@ -5,7 +5,7 @@
#ifndef MAVLINK_VERSION_H
#define MAVLINK_VERSION_H
#define MAVLINK_BUILD_DATE "Tue Jan 5 20:06:54 2016"
#define MAVLINK_BUILD_DATE "Tue Jan 5 20:38:50 2016"
#define MAVLINK_WIRE_PROTOCOL_VERSION "1.0"
#define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 179
......
......@@ -5,7 +5,7 @@
#ifndef MAVLINK_VERSION_H
#define MAVLINK_VERSION_H
#define MAVLINK_BUILD_DATE "Tue Jan 5 20:06:55 2016"
#define MAVLINK_BUILD_DATE "Tue Jan 5 20:38:50 2016"
#define MAVLINK_WIRE_PROTOCOL_VERSION "1.0"
#define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 255
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment