<description>MAVLINK component type reported in HEARTBEAT message. Flight controllers must report the type of the vehicle on which they are mounted (e.g. MAV_TYPE_OCTOROTOR). All other components must report a value appropriate for their type (e.g. a camera must use MAV_TYPE_CAMERA).</description>
<entryvalue="0"name="MAV_TYPE_GENERIC">
<description>Generic micro air vehicle</description>
</entry>
<entryvalue="1"name="MAV_TYPE_FIXED_WING">
<description>Fixed wing aircraft.</description>
</entry>
<entryvalue="2"name="MAV_TYPE_QUADROTOR">
<description>Quadrotor</description>
</entry>
<entryvalue="3"name="MAV_TYPE_COAXIAL">
<description>Coaxial helicopter</description>
</entry>
<entryvalue="4"name="MAV_TYPE_HELICOPTER">
<description>Normal helicopter with tail rotor.</description>
</entry>
<entryvalue="5"name="MAV_TYPE_ANTENNA_TRACKER">
<description>Ground installation</description>
</entry>
<entryvalue="6"name="MAV_TYPE_GCS">
<description>Operator control unit / ground control station</description>
<description>Two-rotor Tailsitter VTOL that additionally uses control surfaces in vertical operation. Note, value previously named MAV_TYPE_VTOL_DUOROTOR.</description>
<description>Quad-rotor Tailsitter VTOL using a V-shaped quad config in vertical operation. Note: value previously named MAV_TYPE_VTOL_QUADROTOR.</description>
</entry>
<entryvalue="21"name="MAV_TYPE_VTOL_TILTROTOR">
<description>Tiltrotor VTOL</description>
</entry>
<entryvalue="22"name="MAV_TYPE_VTOL_FIXEDROTOR">
<description>VTOL with separate fixed rotors for hover and cruise flight. Fuselage and wings stay (nominally) horizontal in all flight phases.</description>
</entry>
<entryvalue="23"name="MAV_TYPE_VTOL_TAILSITTER">
<description>Tailsitter VTOL. Fuselage and wings orientation changes depending on flight phase: vertical for hover, horizontal for cruise. Use more specific VTOL MAV_TYPE_VTOL_DUOROTOR or MAV_TYPE_VTOL_QUADROTOR if appropriate.</description>
</entry>
<!-- Entries up to 25 reserved for other VTOL airframes -->
<description>0b10000000 MAV safety set to armed. Motors are enabled / running / can start. Ready to fly. Additional note: this flag is to be ignore when sent in the command MAV_CMD_DO_SET_MODE and MAV_CMD_COMPONENT_ARM_DISARM shall be used instead. The flag can still be used to report the armed state.</description>
<description>0b00010000 system stabilizes electronically its attitude (and optionally position). It needs however further control inputs to move around.</description>
<description>0b00001000 guided mode enabled, system flies waypoints / mission items.</description>
</entry>
<entryvalue="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>
<entryvalue="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>
<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>
<description>Uninitialized system, state is unknown.</description>
</entry>
<entryvalue="1"name="MAV_STATE_BOOT">
<description>System is booting up.</description>
</entry>
<entryvalue="2"name="MAV_STATE_CALIBRATING">
<description>System is calibrating and not flight-ready.</description>
</entry>
<entryvalue="3"name="MAV_STATE_STANDBY">
<description>System is grounded and on standby. It can be launched any time.</description>
</entry>
<entryvalue="4"name="MAV_STATE_ACTIVE">
<description>System is active and might be already airborne. Motors are engaged.</description>
</entry>
<entryvalue="5"name="MAV_STATE_CRITICAL">
<description>System is in a non-normal flight mode. It can however still navigate.</description>
</entry>
<entryvalue="6"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>
<entryvalue="7"name="MAV_STATE_POWEROFF">
<description>System just initialized its power-down sequence, will shut down now.</description>
<description>System is terminating itself.</description>
</entry>
</enum>
<enumname="MAV_COMPONENT">
<description>Component ids (values) for the different types and instances of onboard hardware/software that might make up a MAVLink system (autopilot, cameras, servos, GPS systems, avoidance systems etc.).
Components must use the appropriate ID in their source address when sending messages. Components can also use IDs to determine if they are the intended recipient of an incoming message. The MAV_COMP_ID_ALL value is used to indicate messages that must be processed by all components.
When creating new entries, components that can have multiple instances (e.g. cameras, servos etc.) should be allocated sequential values. An appropriate number of values should be left free after these components to allow the number of instances to be expanded.</description>
<entryvalue="0"name="MAV_COMP_ID_ALL">
<description>Target id (target_component) used to broadcast messages to all components of the receiving system. Components should attempt to process messages with this component ID and forward to components on any other interfaces. Note: This is not a valid *source* component id for a message.</description>
</entry>
<entryvalue="1"name="MAV_COMP_ID_AUTOPILOT1">
<description>System flight controller component ("autopilot"). Only one autopilot is expected in a particular system.</description>
</entry>
<!-- Component ids from 25-99 are reserved for private OEM component definitions (and may be incompatible with other private components). Note that if this range is later reduced, higher ids will be reallocated first. -->
<entryvalue="25"name="MAV_COMP_ID_USER1">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="26"name="MAV_COMP_ID_USER2">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="27"name="MAV_COMP_ID_USER3">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="28"name="MAV_COMP_ID_USER4">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="29"name="MAV_COMP_ID_USER5">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="30"name="MAV_COMP_ID_USER6">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="31"name="MAV_COMP_ID_USER7">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="32"name="MAV_COMP_ID_USER8">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="33"name="MAV_COMP_ID_USER9">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="34"name="MAV_COMP_ID_USER10">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="35"name="MAV_COMP_ID_USER11">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="36"name="MAV_COMP_ID_USER12">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="37"name="MAV_COMP_ID_USER13">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="38"name="MAV_COMP_ID_USER14">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="39"name="MAV_COMP_ID_USER15">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="40"name="MAV_COMP_ID_USER16">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="41"name="MAV_COMP_ID_USER17">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="42"name="MAV_COMP_ID_USER18">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="43"name="MAV_COMP_ID_USER19">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="44"name="MAV_COMP_ID_USER20">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="45"name="MAV_COMP_ID_USER21">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="46"name="MAV_COMP_ID_USER22">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="47"name="MAV_COMP_ID_USER23">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="48"name="MAV_COMP_ID_USER24">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="49"name="MAV_COMP_ID_USER25">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="50"name="MAV_COMP_ID_USER26">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="51"name="MAV_COMP_ID_USER27">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="52"name="MAV_COMP_ID_USER28">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="53"name="MAV_COMP_ID_USER29">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="54"name="MAV_COMP_ID_USER30">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="55"name="MAV_COMP_ID_USER31">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="56"name="MAV_COMP_ID_USER32">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="57"name="MAV_COMP_ID_USER33">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="58"name="MAV_COMP_ID_USER34">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="59"name="MAV_COMP_ID_USER35">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="60"name="MAV_COMP_ID_USER36">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="61"name="MAV_COMP_ID_USER37">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="62"name="MAV_COMP_ID_USER38">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="63"name="MAV_COMP_ID_USER39">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="64"name="MAV_COMP_ID_USER40">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="65"name="MAV_COMP_ID_USER41">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="66"name="MAV_COMP_ID_USER42">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="67"name="MAV_COMP_ID_USER43">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
<description>Telemetry radio (e.g. SiK radio, or other component that emits RADIO_STATUS messages).</description>
</entry>
<entryvalue="69"name="MAV_COMP_ID_USER45">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="70"name="MAV_COMP_ID_USER46">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="71"name="MAV_COMP_ID_USER47">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="72"name="MAV_COMP_ID_USER48">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="73"name="MAV_COMP_ID_USER49">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="74"name="MAV_COMP_ID_USER50">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="75"name="MAV_COMP_ID_USER51">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="76"name="MAV_COMP_ID_USER52">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="77"name="MAV_COMP_ID_USER53">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="78"name="MAV_COMP_ID_USER54">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="79"name="MAV_COMP_ID_USER55">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="80"name="MAV_COMP_ID_USER56">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="81"name="MAV_COMP_ID_USER57">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="82"name="MAV_COMP_ID_USER58">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="83"name="MAV_COMP_ID_USER59">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="84"name="MAV_COMP_ID_USER60">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="85"name="MAV_COMP_ID_USER61">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="86"name="MAV_COMP_ID_USER62">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="87"name="MAV_COMP_ID_USER63">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="88"name="MAV_COMP_ID_USER64">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="89"name="MAV_COMP_ID_USER65">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="90"name="MAV_COMP_ID_USER66">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="91"name="MAV_COMP_ID_USER67">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="92"name="MAV_COMP_ID_USER68">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="93"name="MAV_COMP_ID_USER69">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="94"name="MAV_COMP_ID_USER70">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="95"name="MAV_COMP_ID_USER71">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="96"name="MAV_COMP_ID_USER72">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="97"name="MAV_COMP_ID_USER73">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="98"name="MAV_COMP_ID_USER74">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
</entry>
<entryvalue="99"name="MAV_COMP_ID_USER75">
<description>Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be published by components outside of the private network.</description>
<description>Component that lives on the onboard computer (companion computer) and has some generic functionalities, such as settings system parameters and monitoring the status of some processes that don't directly speak mavlink and so on.</description>
</entry>
<!-- Component ids from 192-194 are reserved for any future mavlink components related to the mission computer. -->
<entryvalue="195"name="MAV_COMP_ID_PATHPLANNER">
<description>Component that finds an optimal path between points based on a certain constraint (e.g. minimum snap, shortest path, cost, etc.).</description>
<deprecatedsince="2018-11"replaced_by="MAV_COMP_ID_ALL">System control does not require a separate component ID.</deprecated>
<description>Component for handling system messages (e.g. to ARM, takeoff, etc.).</description>
</entry>
</enum>
<enumname="FIRMWARE_VERSION_TYPE">
<enumname="FIRMWARE_VERSION_TYPE">
<description>These values define the type of firmware release. These values indicate the first version or release of this type. For example the first alpha release would be 64, the second would be 65.</description>
<description>These values define the type of firmware release. These values indicate the first version or release of this type. For example the first alpha release would be 64, the second would be 65.</description>
<entryvalue="0"name="FIRMWARE_VERSION_TYPE_DEV">
<entryvalue="0"name="FIRMWARE_VERSION_TYPE_DEV">
...
@@ -1425,21 +769,21 @@
...
@@ -1425,21 +769,21 @@
</entry>
</entry>
</enum>
</enum>
<enumname="COMP_METADATA_TYPE">
<enumname="COMP_METADATA_TYPE">
<description>Possible values for COMPONENT_INFORMATION.comp_metadata_type.</description>
<description>Supported component metadata types. These are used in the "general" metadata file returned by COMPONENT_INFORMATION to provide information about supported metadata types. The types are not used directly in MAVLink messages.</description>
<entryvalue="0"name="COMP_METADATA_TYPE_GENERAL">
<entryvalue="0"name="COMP_METADATA_TYPE_GENERAL">
<description>General information which also includes information on other optional supported COMP_METADATA_TYPE's. Must be supported. Only downloadable from vehicle.</description>
<description>General information about the component. General metadata includes information about other COMP_METADATA_TYPEs supported by the component. This type must be supported and must be downloadable from vehicle.</description>
<paramindex="3"label="Approach Altitude"units="m">Approach altitude (with the same reference as the Altitude field). NaN if unspecified.</param>
<paramindex="3"label="Approach Altitude"units="m">Approach altitude (with the same reference as the Altitude field). NaN if unspecified.</param>
<paramindex="4"label="Yaw"units="deg">Yaw angle. NaN to use the current system yaw heading mode (e.g. yaw towards next waypoint, yaw to home, etc.).</param>
<paramindex="4"label="Yaw"units="deg">Yaw angle. NaN to use the current system yaw heading mode (e.g. yaw towards next waypoint, yaw to home, etc.).</param>
...
@@ -4980,6 +4324,19 @@
...
@@ -4980,6 +4324,19 @@
<description>Unit is sometimes working, sometimes not.</description>
<description>Unit is sometimes working, sometimes not.</description>
<description>Land in multicopter mode on reaching the landing co-ordinates (the whole landing is by "hover descent").</description>
</entry>
</enum>
<enumname="MAV_WINCH_STATUS_FLAG"bitmask="true">
<enumname="MAV_WINCH_STATUS_FLAG"bitmask="true">
<description>Winch status flags used in WINCH_STATUS</description>
<description>Winch status flags used in WINCH_STATUS</description>
<entryvalue="1"name="MAV_WINCH_STATUS_HEALTHY">
<entryvalue="1"name="MAV_WINCH_STATUS_HEALTHY">
...
@@ -5019,25 +4376,6 @@
...
@@ -5019,25 +4376,6 @@
</enum>
</enum>
</enums>
</enums>
<messages>
<messages>
<messageid="0"name="HEARTBEAT">
<description>The heartbeat message shows that a system or component is present and responding. The type and autopilot fields (along with the message component id), allow the receiving system to treat further messages from this system appropriately (e.g. by laying out the user interface based on the autopilot). This microservice is documented at https://mavlink.io/en/services/heartbeat.html</description>
<fieldtype="uint8_t"name="type"enum="MAV_TYPE">Vehicle or component type. For a flight controller component the vehicle type (quadrotor, helicopter, etc.). For other components the component type (e.g. camera, gimbal, etc.). This should be used in preference to component id for identifying the component type.</field>
<fieldtype="uint8_t"name="autopilot"enum="MAV_AUTOPILOT">Autopilot type / class. Use MAV_AUTOPILOT_INVALID for components that are not flight controllers.</field>
<fieldtype="uint32_t"name="custom_mode">A bitfield for use for autopilot-specific flags</field>
<fieldtype="uint8_t"name="system_status"enum="MAV_STATE">System status flag.</field>
<fieldtype="uint8_t_mavlink_version"name="mavlink_version">MAVLink version, not writable by user, gets added by protocol because of magic data type: uint8_t_mavlink_version</field>
</message>
<messageid="300"name="PROTOCOL_VERSION">
<wip/>
<!-- This message is work-in-progress and it can therefore change. It should NOT be used in stable production environments. -->
<description>Version and capability of protocol version. This message can be requested with MAV_CMD_REQUEST_MESSAGE and is used as part of the handshaking to establish which MAVLink version should be used on the network. Every node should respond to a request for PROTOCOL_VERSION to enable the handshaking. Library implementers should consider adding this into the default decoding state machine to allow the protocol core to respond directly.</description>
<fieldtype="uint16_t"name="version">Currently active MAVLink version number * 100: v1.0 is 100, v2.0 is 200, etc.</field>
<fieldtype="uint16_t"name="min_version">Minimum MAVLink version supported</field>
<fieldtype="uint16_t"name="max_version">Maximum MAVLink version supported (set to the same value as version by default)</field>
<fieldtype="uint8_t[8]"name="spec_version_hash">The first 8 bytes (not characters printed in hex!) of the git hash.</field>
<fieldtype="uint8_t[8]"name="library_version_hash">The first 8 bytes (not characters printed in hex!) of the git hash.</field>
</message>
<messageid="1"name="SYS_STATUS">
<messageid="1"name="SYS_STATUS">
<description>The general system state. If the system is following the MAVLink standard, the system state is mainly defined by three orthogonal states/modes: The system mode, which is either LOCKED (motors shut down and locked), MANUAL (system under RC control), GUIDED (system with autonomous position control, position setpoint controlled manually) or AUTO (system guided by path/waypoint planner). The NAV_MODE defined the current flight state: LIFTOFF (often an open-loop maneuver), LANDING, WAYPOINTS or VECTOR. This represents the internal navigation state machine. The system status shows whether the system is currently active or not and if an emergency occurred. During the CRITICAL and EMERGENCY states the MAV is still considered to be active, but should start emergency procedures autonomously. After a failure occurred it should first move from active to critical to allow manual intervention and then move to emergency after a certain timeout.</description>
<description>The general system state. If the system is following the MAVLink standard, the system state is mainly defined by three orthogonal states/modes: The system mode, which is either LOCKED (motors shut down and locked), MANUAL (system under RC control), GUIDED (system with autonomous position control, position setpoint controlled manually) or AUTO (system guided by path/waypoint planner). The NAV_MODE defined the current flight state: LIFTOFF (often an open-loop maneuver), LANDING, WAYPOINTS or VECTOR. This represents the internal navigation state machine. The system status shows whether the system is currently active or not and if an emergency occurred. During the CRITICAL and EMERGENCY states the MAV is still considered to be active, but should start emergency procedures autonomously. After a failure occurred it should first move from active to critical to allow manual intervention and then move to emergency after a certain timeout.</description>
<fieldtype="uint32_t"name="onboard_control_sensors_present"enum="MAV_SYS_STATUS_SENSOR"display="bitmask"print_format="0x%04x">Bitmap showing which onboard controllers and sensors are present. Value of 0: not present. Value of 1: present.</field>
<fieldtype="uint32_t"name="onboard_control_sensors_present"enum="MAV_SYS_STATUS_SENSOR"display="bitmask"print_format="0x%04x">Bitmap showing which onboard controllers and sensors are present. Value of 0: not present. Value of 1: present.</field>
<fieldtype="uint32_t"name="onboard_control_sensors_present_extended"enum="MAV_SYS_STATUS_SENSOR_EXTENDED"display="bitmask"print_format="0x%04x">Bitmap showing which onboard controllers and sensors are present. Value of 0: not present. Value of 1: present.</field>
<fieldtype="uint32_t"name="onboard_control_sensors_enabled_extended"enum="MAV_SYS_STATUS_SENSOR_EXTENDED"display="bitmask"print_format="0x%04x">Bitmap showing which onboard controllers and sensors are enabled: Value of 0: not enabled. Value of 1: enabled.</field>
<fieldtype="uint32_t"name="onboard_control_sensors_health_extended"enum="MAV_SYS_STATUS_SENSOR_EXTENDED"display="bitmask"print_format="0x%04x">Bitmap showing which onboard controllers and sensors have an error (or are operational). Value of 0: error. Value of 1: healthy.</field>
</message>
</message>
<messageid="2"name="SYSTEM_TIME">
<messageid="2"name="SYSTEM_TIME">
<description>The system time is the time of the master clock, typically the computer clock of the main onboard computer.</description>
<description>The system time is the time of the master clock, typically the computer clock of the main onboard computer.</description>
...
@@ -5498,7 +4832,7 @@
...
@@ -5498,7 +4832,7 @@
<fieldtype="float[9]"name="covariance"invalid="[NaN,]">Row-major representation of a 3x3 attitude covariance matrix (states: roll, pitch, yaw; first three entries are the first ROW, next three entries are the second row, etc.). If unknown, assign NaN value to first element in the array.</field>
<fieldtype="float[9]"name="covariance"invalid="[NaN,]">Row-major representation of a 3x3 attitude covariance matrix (states: roll, pitch, yaw; first three entries are the first ROW, next three entries are the second row, etc.). If unknown, assign NaN value to first element in the array.</field>
</message>
</message>
<messageid="62"name="NAV_CONTROLLER_OUTPUT">
<messageid="62"name="NAV_CONTROLLER_OUTPUT">
<description>The state of the fixed wing navigation and position controller.</description>
<description>The state of the navigation and position controller.</description>
<fieldtype="uint8_t"name="on_off">1 stream is enabled, 0 stream is stopped.</field>
<fieldtype="uint8_t"name="on_off">1 stream is enabled, 0 stream is stopped.</field>
</message>
</message>
<messageid="69"name="MANUAL_CONTROL">
<messageid="69"name="MANUAL_CONTROL">
<description>This message provides an API for manually controlling the vehicle using standard joystick axes nomenclature, along with a joystick-like input device. Unused axes can be disabled and buttons states are transmitted as individual on/off bits of a bitmask</description>
<description>This message provides an API for manually controlling the vehicle using standard joystick axes nomenclature, along with a joystick-like input device. Unused axes can be disabled an buttons are also transmit as boolean values of their </description>
<fieldtype="uint8_t"name="target">The system to be controlled.</field>
<fieldtype="uint8_t"name="target">The system to be controlled.</field>
<fieldtype="int16_t"name="x"invalid="INT16_MAX">X-axis, normalized to the range [-1000,1000]. A value of INT16_MAX indicates that this axis is invalid. Generally corresponds to forward(1000)-backward(-1000) movement on a joystick and the pitch of a vehicle.</field>
<fieldtype="int16_t"name="x"invalid="INT16_MAX">X-axis, normalized to the range [-1000,1000]. A value of INT16_MAX indicates that this axis is invalid. Generally corresponds to forward(1000)-backward(-1000) movement on a joystick and the pitch of a vehicle.</field>
<fieldtype="int16_t"name="y"invalid="INT16_MAX">Y-axis, normalized to the range [-1000,1000]. A value of INT16_MAX indicates that this axis is invalid. Generally corresponds to left(-1000)-right(1000) movement on a joystick and the roll of a vehicle.</field>
<fieldtype="int16_t"name="y"invalid="INT16_MAX">Y-axis, normalized to the range [-1000,1000]. A value of INT16_MAX indicates that this axis is invalid. Generally corresponds to left(-1000)-right(1000) movement on a joystick and the roll of a vehicle.</field>
<fieldtype="int16_t"name="z"invalid="INT16_MAX">Z-axis, normalized to the range [-1000,1000]. A value of INT16_MAX indicates that this axis is invalid. Generally corresponds to a separate slider movement with maximum being 1000 and minimum being -1000 on a joystick and the thrust of a vehicle. Positive values are positive thrust, negative values are negative thrust.</field>
<fieldtype="int16_t"name="z"invalid="INT16_MAX">Z-axis, normalized to the range [-1000,1000]. A value of INT16_MAX indicates that this axis is invalid. Generally corresponds to a separate slider movement with maximum being 1000 and minimum being -1000 on a joystick and the thrust of a vehicle. Positive values are positive thrust, negative values are negative thrust.</field>
<fieldtype="int16_t"name="r"invalid="INT16_MAX">R-axis, normalized to the range [-1000,1000]. A value of INT16_MAX indicates that this axis is invalid. Generally corresponds to a twisting of the joystick, with counter-clockwise being 1000 and clockwise being -1000, and the yaw of a vehicle.</field>
<fieldtype="int16_t"name="r"invalid="INT16_MAX">R-axis, normalized to the range [-1000,1000]. A value of INT16_MAX indicates that this axis is invalid. Generally corresponds to a twisting of the joystick, with counter-clockwise being 1000 and clockwise being -1000, and the yaw of a vehicle.</field>
<fieldtype="uint16_t"name="buttons">A bitfield corresponding to the joystick buttons' 0-15 current state, 1 for pressed, 0 for released. The lowest bit corresponds to Button 1.</field>
<fieldtype="uint16_t"name="buttons">A bitfield corresponding to the joystick buttons' current state, 1 for pressed, 0 for released. The lowest bit corresponds to Button 1.</field>
<extensions/>
<fieldtype="uint16_t"name="buttons2">A bitfield corresponding to the joystick buttons' 16-31 current state, 1 for pressed, 0 for released. The lowest bit corresponds to Button 16.</field>
<fieldtype="uint8_t"name="enabled_extensions">Set bits to 1 to indicate which of the following extension fields contain valid data: bit 0: pitch, bit 1: roll.</field>
<fieldtype="int16_t"name="s">Pitch-only-axis, normalized to the range [-1000,1000]. Generally corresponds to pitch on vehicles with additional degrees of freedom. Valid if bit 0 of enabled_extensions field is set. Set to 0 if invalid.</field>
<fieldtype="int16_t"name="t">Roll-only-axis, normalized to the range [-1000,1000]. Generally corresponds to roll on vehicles with additional degrees of freedom. Valid if bit 1 of enabled_extensions field is set. Set to 0 if invalid.</field>
</message>
</message>
<messageid="70"name="RC_CHANNELS_OVERRIDE">
<messageid="70"name="RC_CHANNELS_OVERRIDE">
<description>The RAW values of the RC channels sent to the MAV to override info received from the RC radio. The standard PPM modulation is as follows: 1000 microseconds: 0%, 2000 microseconds: 100%. Individual receivers/transmitters might violate this specification. Note carefully the semantic differences between the first 8 channels and the subsequent channels</description>
<description>The RAW values of the RC channels sent to the MAV to override info received from the RC radio. The standard PPM modulation is as follows: 1000 microseconds: 0%, 2000 microseconds: 100%. Individual receivers/transmitters might violate this specification. Note carefully the semantic differences between the first 8 channels and the subsequent channels</description>
...
@@ -6185,9 +5514,6 @@
...
@@ -6185,9 +5514,6 @@
<fieldtype="uint32_t"name="baudrate"units="bits/s">Baudrate of transfer. Zero means no change.</field>
<fieldtype="uint32_t"name="baudrate"units="bits/s">Baudrate of transfer. Zero means no change.</field>
<fieldtype="uint8_t"name="count"units="bytes">how many bytes in this transfer</field>
<fieldtype="uint8_t"name="count"units="bytes">how many bytes in this transfer</field>
<description>RTK GPS data. Gives information on the relative baseline calculation the GPS is reporting</description>
<description>RTK GPS data. Gives information on the relative baseline calculation the GPS is reporting</description>
...
@@ -6694,7 +6020,7 @@
...
@@ -6694,7 +6020,7 @@
<fieldtype="uint8_t"name="target_system">System ID (0 for broadcast)</field>
<fieldtype="uint8_t"name="target_system">System ID (0 for broadcast)</field>
<fieldtype="uint8_t"name="target_component">Component ID (0 for broadcast)</field>
<fieldtype="uint8_t"name="target_component">Component ID (0 for broadcast)</field>
<fieldtype="uint16_t"name="message_type">A code that identifies the software component that understands this message (analogous to USB device classes or mime type strings). If this code is less than 32768, it is considered a 'registered' protocol extension and the corresponding entry should be added to https://github.com/mavlink/mavlink/definition_files/extension_message_ids.xml. Software creators can register blocks of message IDs as needed (useful for GCS specific metadata, etc...). Message_types greater than 32767 are considered local experiments and should not be checked in to any widely distributed codebase.</field>
<fieldtype="uint16_t"name="message_type">A code that identifies the software component that understands this message (analogous to USB device classes or mime type strings). If this code is less than 32768, it is considered a 'registered' protocol extension and the corresponding entry should be added to https://github.com/mavlink/mavlink/definition_files/extension_message_ids.xml. Software creators can register blocks of message IDs as needed (useful for GCS specific metadata, etc...). Message_types greater than 32767 are considered local experiments and should not be checked in to any widely distributed codebase.</field>
<fieldtype="uint8_t[2]"name="payload">Variable length payload. The length must be encoded in the payload as part of the message_type protocol, e.g. by including the length as payload data, or by terminating the payload data with a non-zero marker. This is required in order to reconstruct zero-terminated payloads that are (or otherwise would be) trimmed by MAVLink 2 empty-byte truncation. The entire content of the payload block is opaque unless you understand the encoding message_type. The particular encoding used can be extension specific and might not always be documented as part of the MAVLink specification.</field>
<fieldtype="uint8_t[249]"name="payload">Variable length payload. The length must be encoded in the payload as part of the message_type protocol, e.g. by including the length as payload data, or by terminating the payload data with a non-zero marker. This is required in order to reconstruct zero-terminated payloads that are (or otherwise would be) trimmed by MAVLink 2 empty-byte truncation. The entire content of the payload block is opaque unless you understand the encoding message_type. The particular encoding used can be extension specific and might not always be documented as part of the MAVLink specification.</field>
</message>
</message>
<messageid="249"name="MEMORY_VECT">
<messageid="249"name="MEMORY_VECT">
<description>Send raw controller memory. The use of this message is discouraged for normal packets, but a quite efficient way for testing new messages and getting experimental debug output.</description>
<description>Send raw controller memory. The use of this message is discouraged for normal packets, but a quite efficient way for testing new messages and getting experimental debug output.</description>
<description>Message encoding a mission item. This message is emitted to announce
<description>Message encoding a mission item. This message is emitted to announce
the presence of a mission item and to set a mission item on the system. The mission item can be either in x, y, z meters (type: LOCAL) or x:lat, y:lon, z:altitude. Local frame is Z-down, right handed (NED), global frame is Z-up, right handed (ENU). NaN or INT32_MAX may be used in float/integer params (respectively) to indicate optional/default values (e.g. to use the component's current latitude, yaw rather than a specific value). See also https://mavlink.io/en/services/mission.html.</description>
the presence of a mission item and to set a mission item on the system. The mission item can be either in x, y, z meters (type: LOCAL) or x:lat, y:lon, z:altitude. Local frame is Z-down, right handed (NED), global frame is Z-up, right handed (ENU). NaN or INT32_MAX may be used in float/integer params (respectively) to indicate optional/default values (e.g. to use the component's current latitude, yaw rather than a specific value). See also https://mavlink.io/en/services/mission.html.</description>
<fieldtype="float"name="length">Length between circles</field>
<fieldtype="float"name="length">Length between circles</field>
<fieldtype="float"name="bearing">Bearing of the pattern</field>
<fieldtype="float"name="bearing">Bearing of the pattern</field>
<fieldtype="float"name="speed">Desired speed in waypoint</field>
<fieldtype="float"name="speed">Desired speed in waypoint</field>
<fieldtype="uint8_t"name="silent_mode">0: Disabled, 1: Enabled. If enabled, will start flying in silent mode when waypoint reached</field>
</message>
</message>
<messageid="15006"name="MISSION_REQUEST_INT_CAP">
<messageid="15006"name="MISSION_REQUEST_INT_CAP">
<description>Request the information of the mission item with the sequence number seq. The response of the system to this message should be a MISSION_ITEM_INT message. https://mavlink.io/en/services/mission.html</description>
<description>Request the information of the mission item with the sequence number seq. The response of the system to this message should be a MISSION_ITEM_INT message. https://mavlink.io/en/services/mission.html</description>
...
@@ -7675,7 +7002,7 @@
...
@@ -7675,7 +7002,7 @@
<description>Properties of the CAP system that need to be reported more frequently then CAP_STATUS.</description>
<description>Properties of the CAP system that need to be reported more frequently then CAP_STATUS.</description>
<fieldtype="uint64_t"name="utc_time">UTC time reported by the GPS.</field>
<fieldtype="uint64_t"name="utc_time">UTC time reported by the GPS.</field>
</message>
</message>
<messageid="15008"name="MISSION_COUNT_CAP">
<messageid="15008"name="MISSION_COUNT_CAP">
<description>This message is emitted as response to MISSION_REQUEST_LIST by the MAV and to initiate a write transaction. The GCS can then request the individual mission item based on the knowledge of the total number of waypoints.</description>
<description>This message is emitted as response to MISSION_REQUEST_LIST by the MAV and to initiate a write transaction. The GCS can then request the individual mission item based on the knowledge of the total number of waypoints.</description>
<fieldtype="float"name="home">Safe altitude to home in meters</field>
<fieldtype="float"name="rally">Safe altitude to rally in meters</field>
</message>
<messageid="15011"name="UBLOX_SATELLITE_INFO">
<description>uBlox satellite information for each constellation. GNSS identifiers are the same as uBlox GNSS identifiers. Look at "u-blox M9 SPG 4.04" pdf specification</description>
<fieldtype="uint8_t"name="command">Command used to set silent mode state. 0:COMMAND_NONE_EXTERNAL (set by autopilot!), 1:COMMAND_OFF_EXTERNAL, 2:COMMAND_ON_EXTERNAL</field>
<fieldtype="uint32_t"name="timeout">Current silent mode set timeout time in seconds</field>