Dialect: MAVLINK Standard Message Set (standard.xml)
The MAVLink standard message set contains standard definitions that are managed by the MAVLink project. The definitions are those that are expected to be implemented in all flight stacks/ground stations AND are likely to be implemented in a compatible way. The original definitions are defined in standard.xml.
INFO
- MAVLink 2 extension fields are displayed in blue.
- Entities from dialects are displayed only as headings (with link to original)
Protocol dialect: 0
MAVLink Include Files
Summary
Type | Defined | Included |
---|---|---|
Messages | 1 | 2 |
Enums | 3 | 6 |
Commands | 0 | 0 |
The following sections list all entities in the dialect (both included and defined in this file).
Messages
AUTOPILOT_VERSION (148)
Version and capability of autopilot software. This should be emitted in response to a request with MAV_CMD_REQUEST_MESSAGE.
Field Name | Type | Values | Description |
---|---|---|---|
capabilities | uint64_t | MAV_PROTOCOL_CAPABILITY | Bitmap of capabilities |
flight_sw_version | uint32_t | Firmware version number. The field must be encoded as 4 bytes, where each byte (shown from MSB to LSB) is part of a semantic version: (major) (minor) (patch) (FIRMWARE_VERSION_TYPE). | |
middleware_sw_version | uint32_t | Middleware version number | |
os_sw_version | uint32_t | Operating system version number | |
board_version | uint32_t | HW / board version (last 8 bits should be silicon ID, if any). The first 16 bits of this field specify a board type from an enumeration stored at https://github.com/PX4/PX4-Bootloader/blob/master/board_types.txt and with extensive additions at https://github.com/ArduPilot/ardupilot/blob/master/Tools/AP_Bootloader/board_types.txt | |
flight_custom_version | uint8_t[8] | Custom version field, commonly the first 8 bytes of the git hash. This is not an unique identifier, but should allow to identify the commit using the main version number even for very large code bases. | |
middleware_custom_version | uint8_t[8] | Custom version field, commonly the first 8 bytes of the git hash. This is not an unique identifier, but should allow to identify the commit using the main version number even for very large code bases. | |
os_custom_version | uint8_t[8] | Custom version field, commonly the first 8 bytes of the git hash. This is not an unique identifier, but should allow to identify the commit using the main version number even for very large code bases. | |
vendor_id | uint16_t | ID of the board vendor | |
product_id | uint16_t | ID of the product | |
uid | uint64_t | UID if provided by hardware (see uid2) | |
uid2 ++ | uint8_t[18] | UID if provided by hardware (supersedes the uid field. If this is non-zero, use this field, otherwise use uid) |
Enumerated Types
MAV_BOOL
(Bitmask) Enum used to indicate true or false (also: success or failure, enabled or disabled, active or inactive).
Value | Name | Description |
---|---|---|
0 | MAV_BOOL_FALSE | False. |
1 | MAV_BOOL_TRUE | True. |
MAV_PROTOCOL_CAPABILITY
(Bitmask) Bitmask of (optional) autopilot capabilities (64 bit). If a bit is set, the autopilot supports this capability.
Value | Name | Description |
---|---|---|
1 | MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT | Autopilot supports the MISSION_ITEM float message type. Note that MISSION_ITEM is deprecated, and autopilots should use MISSION_INT instead. |
2 | MAV_PROTOCOL_CAPABILITY_PARAM_FLOAT | Autopilot supports the new param float message type. DEPRECATED: Replaced By MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_C_CAST (2022-03) |
4 | MAV_PROTOCOL_CAPABILITY_MISSION_INT | Autopilot supports MISSION_ITEM_INT scaled integer message type. Note that this flag must always be set if missions are supported, because missions must always use MISSION_ITEM_INT (rather than MISSION_ITEM, which is deprecated). |
8 | MAV_PROTOCOL_CAPABILITY_COMMAND_INT | Autopilot supports COMMAND_INT scaled integer message type. |
16 | MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_BYTEWISE | Parameter protocol uses byte-wise encoding of parameter values into param_value (float) fields: https://mavlink.io/en/services/parameter.html#parameter-encoding. Note that either this flag or MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_C_CAST should be set if the parameter protocol is supported. |
32 | MAV_PROTOCOL_CAPABILITY_FTP | Autopilot supports the File Transfer Protocol v1: https://mavlink.io/en/services/ftp.html. |
64 | MAV_PROTOCOL_CAPABILITY_SET_ATTITUDE_TARGET | Autopilot supports commanding attitude offboard. |
128 | MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_LOCAL_NED | Autopilot supports commanding position and velocity targets in local NED frame. |
256 | MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_GLOBAL_INT | Autopilot supports commanding position and velocity targets in global scaled integers. |
512 | MAV_PROTOCOL_CAPABILITY_TERRAIN | Autopilot supports terrain protocol / data handling. |
1024 | MAV_PROTOCOL_CAPABILITY_RESERVED3 | Reserved for future use. |
2048 | MAV_PROTOCOL_CAPABILITY_FLIGHT_TERMINATION | Autopilot supports the MAV_CMD_DO_FLIGHTTERMINATION command (flight termination). |
4096 | MAV_PROTOCOL_CAPABILITY_COMPASS_CALIBRATION | Autopilot supports onboard compass calibration. |
8192 | MAV_PROTOCOL_CAPABILITY_MAVLINK2 | Autopilot supports MAVLink version 2. |
16384 | MAV_PROTOCOL_CAPABILITY_MISSION_FENCE | Autopilot supports mission fence protocol. |
32768 | MAV_PROTOCOL_CAPABILITY_MISSION_RALLY | Autopilot supports mission rally point protocol. |
65536 | MAV_PROTOCOL_CAPABILITY_RESERVED2 | Reserved for future use. |
131072 | MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_C_CAST | Parameter protocol uses C-cast of parameter values to set the param_value (float) fields: https://mavlink.io/en/services/parameter.html#parameter-encoding. Note that either this flag or MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_BYTEWISE should be set if the parameter protocol is supported. |
262144 | MAV_PROTOCOL_CAPABILITY_COMPONENT_IMPLEMENTS_GIMBAL_MANAGER | This component implements/is a gimbal manager. This means the GIMBAL_MANAGER_INFORMATION, and other messages can be requested. |
524288 | MAV_PROTOCOL_CAPABILITY_COMPONENT_ACCEPTS_GCS_CONTROL | Component supports locking control to a particular GCS independent of its system (via MAV_CMD_REQUEST_OPERATOR_CONTROL). WORK IN PROGRESS: Do not use in stable production environments (it may change). |
1048576 | MAV_PROTOCOL_CAPABILITY_GRIPPER | Autopilot has a connected gripper. MAVLink Grippers would set MAV_TYPE_GRIPPER instead. WORK IN PROGRESS: Do not use in stable production environments (it may change). |
FIRMWARE_VERSION_TYPE
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.
Value | Name | Description |
---|---|---|
0 | FIRMWARE_VERSION_TYPE_DEV | development release |
64 | FIRMWARE_VERSION_TYPE_ALPHA | alpha release |
128 | FIRMWARE_VERSION_TYPE_BETA | beta release |
192 | FIRMWARE_VERSION_TYPE_RC | release candidate |
255 | FIRMWARE_VERSION_TYPE_OFFICIAL | official stable release |