Engee documentation

MAVLink Messages

This section lists all the MAVLink messages that support library blocks and the composition of their fields. Two MAVLink dialects are supported.: common and ardupilotmega.

The blocks automatically deploy tires with fields and types from these tables — you do not need to change the pre-prepared composition of the fields.:

  • MAVLINK RX — one output bus for each message from the array MAVLink сообщения на приём:;

  • MAVLINK TX — one input bus for each message from the array MAVLink сообщения на передачу:;

  • MAVLINK Select — one output bus for the message specified by the parameter MAVLink сообщение:.

The fields in the bus are in the same order as they are listed in the tables. The names of messages in the block parameters are specified in the same way as in the tables (for example, GPS_INPUT).

The units of measurement are given in the designations adopted in the MAVLink specification.: ms — milliseconds, us — microseconds, degE7 — degrees × 107, cdeg — hundredths of a degree, m/s/s — m/s2, rad/s — Glad to see you.


Dialect common

ACTUATOR_CONTROL_TARGET

Spatial orientation and angular velocities of the body of the device.

Field Type Size Units

time_usec

UInt64

scalar

us

controls

Float64

vector of length 8

—

group_mlx

Vector{UInt8}

vector

—

ACTUATOR_OUTPUT_STATUS

Raw values of the drive output signals (for example, on Pixhawk — from the MAIN and AUX ports). This message replaces SERVO_OUTPUT_RAW.

Field Type Size Units

time_usec

UInt64

scalar

us

active

UInt32

scalar

—

actuator

Vector{Float64}

vector of length 32

—

ADSB_VEHICLE

Location and information about the ADS-B vehicle.

Field Type Size Units

ICAO_address

UInt32

scalar

—

lat

Int32

scalar

degE7

lon

Int32

scalar

degE7

altitude

Int32

scalar

mm

heading

UInt16

scalar

cdeg

hor_velocity

UInt16

scalar

cm/s

ver_velocity

Int16

scalar

cm/s

flags

UInt16

scalar

—

squawk

UInt16

scalar

—

altitude_type

UInt8

scalar

—

callsign

UInt8

vector of length 9

—

emitter_type

UInt8

scalar

—

tslc

Vector{UInt8}

vector

s

AIS_VESSEL

Location and information about the vessel equipped with the AIS system.

Field Type Size Units

MMSI

UInt32

scalar

—

lat

Int32

scalar

degE7

lon

Int32

scalar

degE7

COG

UInt16

scalar

cdeg

heading

UInt16

scalar

cdeg

velocity

UInt16

scalar

cm/s

dimension_bow

UInt16

scalar

m

dimension_stern

UInt16

scalar

m

tslc

Vector{UInt16}

vector

s

flags

Vector{UInt16}

vector

—

turn_rate

Int8

scalar

cdeg/s

navigational_status

UInt8

scalar

—

type

UInt8

scalar

—

dimension_port

UInt8

scalar

m

dimension_starboard

UInt8

scalar

m

callsign

UInt8

vector of length 7

—

name

UInt8

vector of length 20

—

ALTITUDE

The current height of the system.

Field Type Size Units

time_usec

UInt64

scalar

us

altitude_monotonic

Float64

scalar

m

altitude_amsl

Float64

scalar

m

altitude_local

Float64

scalar

m

altitude_relative

Float64

scalar

m

altitude_terrain

Float64

scalar

m

bottom_clearance

Float64

scalar

m

ATTITUDE

Position in the aviation coordinate system (right-hand: axis pointing down, the axis — forward, the axis — to the right).

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

roll

Float64

scalar

rad

pitch

Float64

scalar

rad

yaw

Float64

scalar

rad

rollspeed

Float64

scalar

rad/s

pitchspeed

Float64

scalar

rad/s

yawspeed

Float64

scalar

rad/s

ATTITUDE_QUATERNION

Orientation in the aviation coordinate system (right-hand: axis pointing down, the axis — forward, the axis — to the right), represented as a quaternion. The order of the quaternion components — ; zero rotation corresponds to the value (1, 0, 0, 0).

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

q1

Float64

scalar

—

q2

Float64

scalar

—

q3

Float64

scalar

—

q4

Float64

scalar

—

rollspeed

Float64

scalar

rad/s

pitchspeed

Float64

scalar

rad/s

yawspeed

Float64

scalar

rad/s

repr_offset_q

Vector{Float64}

vector of length 4

—

ATTITUDE_QUATERNION_COV

Orientation in the aviation coordinate system (right-hand: axis pointing down, the axis — forward, the axis — to the right), represented as a quaternion. The order of the quaternion components — ; zero rotation corresponds to the value (1, 0, 0, 0).

Field Type Size Units

time_usec

UInt64

scalar

us

q

Vector{Float64}

vector of length 4

—

rollspeed

Float64

scalar

rad/s

pitchspeed

Float64

scalar

rad/s

yawspeed

Float64

scalar

rad/s

covariance

Vector{Float64}

vector of length 9

—

ATTITUDE_TARGET

The current preset orientation of the device, determined by the autopilot. This data must match the commands sent in the message. SET_ATTITUDE_TARGET if the device is controlled in this way.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

q

Float64

vector of length 4

—

body_roll_rate

Float64

scalar

rad/s

body_pitch_rate

Float64

scalar

rad/s

body_yaw_rate

Float64

scalar

rad/s

thrust

Float64

scalar

—

type_mask

Vector{UInt8}

vector

—

ATT_POS_MOCAP

Capture orientation and position.

Field Type Size Units

time_usec

UInt64

scalar

us

q

Vector{Float64}

vector of length 4

—

x

Float64

scalar

m

y

Float64

scalar

m

z

Float64

scalar

m

covariance

Vector{Float64}

vector of length 21

—

AUTH_KEY

Issuing an encrypted signature or key identifying this system.

This protocol is intentionally made simple, so to ensure real security, key transmission requires the use of an encrypted channel.
Field Type Size Units

key

Vector{UInt8}

vector of length 32

—

AUTOPILOT_STATE_FOR_GIMBAL_DEVICE

A low-level message containing autopilot status data that is important for the operation of the suspension device. This message is transmitted from the autopilot to the suspension component. The data contained in it is used to correct the operation of the suspension condition assessment algorithm (in particular, to compensate for the tilt of the horizon), and also indicate the controlling intentions of the autopilot (for example, proactive angular control along the axis ).

Field Type Size Units

time_boot_us

UInt64

scalar

us

q

Float64

vector of length 4

—

q_estimated_delay_us

UInt32

scalar

us

vx

Float64

scalar

m/s

vy

Float64

scalar

m/s

vz

Float64

scalar

m/s

v_estimated_delay_us

UInt32

scalar

us

feed_forward_angular_velocity_z

Float64

scalar

rad/s

estimator_status

UInt16

scalar

—

target_system

UInt8

scalar

—

target_component

Vector{UInt8}

vector

—

landed_state

UInt8

scalar

—

angular_velocity_z

Float64

scalar

rad/s

AUTOPILOT_VERSION

The version and functionality of the autopilot software. This information should be transmitted in response to a request using the command MAV_CMD_REQUEST_MESSAGE.

Field Type Size Units

capabilities

UInt64

scalar

—

uid

Vector{UInt64}

vector

—

flight_sw_version

UInt32

scalar

—

middleware_sw_version

UInt32

scalar

—

os_sw_version

UInt32

scalar

—

board_version

UInt32

scalar

—

vendor_id

Vector{UInt16}

vector

—

product_id

Vector{UInt16}

vector

—

flight_custom_version

UInt8

vector of length 8

—

middleware_custom_version

UInt8

vector of length 8

—

os_custom_version

UInt8

vector of length 8

—

uid2

Vector{UInt8}

vector of length 18

—

BATTERY_STATUS

Information about the battery.

Field Type Size Units

current_consumed

Int32

scalar

mAh

energy_consumed

Int32

scalar

hJ

temperature

Vector{Int16}

vector

cdegC

voltages

UInt16

vector of length 10

mV

current_battery

Int16

scalar

cA

id

UInt8

scalar

—

battery_function

UInt8

scalar

—

type

UInt8

scalar

—

battery_remaining

Int8

scalar

%

time_remaining

Int32

scalar

s

charge_state

UInt8

scalar

—

voltages_ext

Vector{UInt16}

vector of length 4

mV

mode

UInt8

scalar

—

fault_bitmask

UInt32

scalar

—

BUTTON_CHANGE

A message about a change in the button’s status.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

last_change_ms

UInt32

scalar

ms

state

UInt8

scalar

—

CAMERA_CAPTURE_STATUS

Information about the status of the capture process. It can be requested using the command MAV_CMD_REQUEST_MESSAGE.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

image_interval

Float64

scalar

s

recording_time_ms

UInt32

scalar

ms

available_capacity

Float64

scalar

MiB

image_status

UInt8

scalar

—

video_status

UInt8

scalar

—

image_count

Int32

scalar

—

CAMERA_FOV_STATUS

Information about the camera’s field of view. It can be requested using the command MAV_CMD_REQUEST_MESSAGE.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

lat_camera

Int32

scalar

degE7

lon_camera

Int32

scalar

degE7

alt_camera

Int32

scalar

mm

lat_image

Int32

scalar

degE7

lon_image

Int32

scalar

degE7

alt_image

Int32

scalar

mm

q

Vector{Float64}

vector of length 4

—

hfov

Float64

scalar

deg

vfov

Float64

scalar

deg

CAMERA_IMAGE_CAPTURED

Information about the captured image. This message is sent every time an image is captured. You can request it again using the command MAV_CMD_REQUEST_MESSAGE by specifying in the parameter param2 the sequence number of the missing image.

Field Type Size Units

time_utc

UInt64

scalar

us

time_boot_ms

UInt32

scalar

ms

lat

Int32

scalar

degE7

lon

Int32

scalar

degE7

alt

Int32

scalar

mm

relative_alt

Vector{Int32}

vector

mm

q

Float64

vector of length 4

—

image_index

Int32

scalar

—

camera_id

UInt8

scalar

—

capture_result

Int8

scalar

—

file_url

Vector{UInt8}

vector of length 205

—

CAMERA_INFORMATION

Information about the camera. It can be requested using the command MAV_CMD_REQUEST_MESSAGE.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

firmware_version

UInt32

scalar

—

focal_length

Float64

scalar

mm

sensor_size_h

Float64

scalar

mm

sensor_size_v

Float64

scalar

mm

flags

Vector{UInt32}

vector

—

resolution_h

UInt16

scalar

pix

resolution_v

UInt16

scalar

pix

cam_definition_version

UInt16

scalar

—

vendor_name

UInt8

vector of length 32

—

model_name

UInt8

vector of length 32

—

lens_id

Vector{UInt8}

vector

—

cam_definition_uri

Vector{UInt8}

vector of length 140

—

gimbal_device_id

UInt8

scalar

—

CAMERA_SETTINGS

Camera settings. Can be requested using the command MAV_CMD_REQUEST_MESSAGE.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

mode_id

UInt8

scalar

—

zoomLevel

Float64

scalar

—

focusLevel

Float64

scalar

—

CAMERA_THERMAL_RANGE

The absolute thermal imaging range of the camera. This data can be transmitted if the bit is set VIDEO_STREAM_STATUS_FLAGS_THERMAL_RANGE_ENABLED in the field flag messages VIDEO_STREAM_STATUS; however, the ground station (GCS) can only request them for the currently active stream. To set the interval for sending a message, use the command MAV_CMD_SET_MESSAGE_INTERVAL (parameter param3 sets the stream ID of the current camera or the value 0 for all streams; parameter param4 sets the target camera_device_id for cameras connected to autopilot, or the value 0 for MAVLink cameras).

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

max

Float64

scalar

degC

max_point_x

Float64

scalar

—

max_point_y

Float64

scalar

—

min

Float64

scalar

degC

min_point_x

Float64

scalar

—

min_point_y

Float64

scalar

—

stream_id

UInt8

scalar

—

camera_device_id

UInt8

scalar

—

CAMERA_TRACKING_GEO_STATUS

Camera tracking status; sent during active tracking. To set the interval for sending a message, use MAV_CMD_SET_MESSAGE_INTERVAL.

Field Type Size Units

lat

Int32

scalar

degE7

lon

Int32

scalar

degE7

alt

Float64

scalar

m

h_acc

Float64

scalar

m

v_acc

Float64

scalar

m

vel_n

Float64

scalar

m/s

vel_e

Float64

scalar

m/s

vel_d

Float64

scalar

m/s

vel_acc

Float64

scalar

m/s

dist

Float64

scalar

m

hdg

Float64

scalar

rad

hdg_acc

Float64

scalar

rad

tracking_status

UInt8

scalar

—

CAMERA_TRACKING_IMAGE_STATUS

Camera tracking status; sent during active tracking. To set the interval for sending a message, use MAV_CMD_SET_MESSAGE_INTERVAL.

Field Type Size Units

point_x

Float64

scalar

—

point_y

Float64

scalar

—

radius

Float64

scalar

—

rec_top_x

Float64

scalar

—

rec_top_y

Float64

scalar

—

rec_bottom_x

Float64

scalar

—

rec_bottom_y

Float64

scalar

—

tracking_status

UInt8

scalar

—

tracking_mode

UInt8

scalar

—

target_data

UInt8

scalar

—

CAMERA_TRIGGER

A message about camera activation with IMU synchronization.

Field Type Size Units

time_usec

UInt64

scalar

us

seq

UInt32

scalar

—

CANFD_FRAME

Forwarded CANFD frame on request MAV_CMD_CAN_FORWARD. CANFD frames are allocated separately from CAN_FRAME, since they require other processing (for example, TAO processing).

Field Type Size Units

id

UInt32

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

bus

UInt8

scalar

—

len

UInt8

scalar

—

data

Vector{UInt8}

vector of length 64

—

CAN_FILTER_MODIFY

Changing the filter for CAN messages sent via MAVLink. Allows you to configure CAN forwarding so that it works well on low-bandwidth communication lines. Filtering is applied to bits with 8 by 24 the CAN identifiers (the second and third bytes) that correspond to the message identifier DroneCAN. Filters with more than 16 You can create IDs by sending multiple messages. CAN_FILTER_MODIFY.

Field Type Size Units

ids

UInt16

vector of length 16

—

target_system

Vector{UInt8}

vector

—

target_component

UInt8

scalar

—

bus

UInt8

scalar

—

operation

UInt8

scalar

—

num_ids

UInt8

scalar

—

CAN_FRAME

Forwarded CAN frame on request MAV_CMD_CAN_FORWARD.

Field Type Size Units

id

UInt32

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

bus

UInt8

scalar

—

len

UInt8

scalar

—

data

Vector{UInt8}

vector of length 8

—

CHANGE_OPERATOR_CONTROL

Request for MAV data management.

Field Type Size Units

target_system

UInt8

scalar

—

control_request

UInt8

scalar

—

version

UInt8

scalar

rad

passkey

Vector{UInt8}

vector of length 25

—

CHANGE_OPERATOR_CONTROL_ACK

Accepting or rejecting a request for MAV data management.

Field Type Size Units

gcs_system_id

UInt8

scalar

—

control_request

UInt8

scalar

—

ack

UInt8

scalar

—

COLLISION

Information about a potential collision.

Field Type Size Units

id

UInt32

scalar

—

time_to_minimum_delta

Float64

scalar

s

altitude_minimum_delta

Float64

scalar

m

horizontal_minimum_delta

Float64

scalar

m

src

UInt8

scalar

—

action

UInt8

scalar

—

threat_level

UInt8

scalar

—

COMMAND_ACK

Returns the status of the command, including information about whether it has been executed. The teams microservice is described by link.

Field Type Size Units

command

UInt16

scalar

—

result

UInt8

scalar

—

progress

UInt8

scalar

—

result_param2

Int32

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

COMMAND_INT

A message encoding a command with parameters in the form of scaled integers. The scaling depends on the specific value of the command. The teams microservice is described by link.

Field Type Size Units

param1

Float64

scalar

—

param2

Float64

scalar

—

param3

Float64

scalar

—

param4

Float64

scalar

—

x

Int32

scalar

—

y

Int32

scalar

—

z

Float64

scalar

—

command

UInt16

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

frame

UInt8

scalar

—

current

UInt8

scalar

—

autocontinue

UInt8

scalar

—

COMMAND_LONG

Sending a command with up to seven parameters to MAV. The teams microservice is described by link.

Field Type Size Units

param1

Float64

scalar

—

param2

Float64

scalar

—

param3

Float64

scalar

—

param4

Float64

scalar

—

param5

Float64

scalar

—

param6

Float64

scalar

—

param7

Float64

scalar

—

command

UInt16

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

confirmation

UInt8

scalar

—

CONTROL_SYSTEM_STATE

Smoothed monotonous state of the system applied to the input of its control circuits.

Field Type Size Units

time_usec

UInt64

scalar

us

x_acc

Float64

scalar

m/s/s

y_acc

Float64

scalar

m/s/s

z_acc

Float64

scalar

m/s/s

x_vel

Float64

scalar

m/s

y_vel

Float64

scalar

m/s

z_vel

Float64

scalar

m/s

x_pos

Float64

scalar

m

y_pos

Float64

scalar

m

z_pos

Float64

scalar

m

airspeed

Float64

scalar

m/s

vel_variance

Vector{Float64}

vector of length 3

—

pos_variance

Vector{Float64}

vector of length 3

—

q

Vector{Float64}

vector of length 4

—

roll_rate

Float64

scalar

rad/s

pitch_rate

Float64

scalar

rad/s

yaw_rate

Float64

scalar

rad/s

DATA_STREAM

Information about the status of the data stream.

Field Type Size Units

message_rate

UInt16

scalar

Hz

stream_id

UInt8

scalar

—

on_off

UInt8

scalar

—

DATA_TRANSMISSION_HANDSHAKE

A communication confirmation message for starting, controlling, and stopping image streaming when using the image transmission protocol, detailed information is available at link.

Field Type Size Units

size

UInt32

scalar

bytes

width

UInt16

scalar

—

height

UInt16

scalar

—

packets

UInt16

scalar

—

type

UInt8

scalar

—

payload

UInt8

scalar

bytes

jpg_quality

UInt8

scalar

%

DEBUG

Sending a debugging value. The index is used to distinguish values. These values are displayed on the graph. QGroundControl how DEBUG N.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

value

Float64

scalar

—

ind

UInt8

scalar

—

DEBUG_FLOAT_ARRAY

A large array for debugging and prototyping. The message uses the maximum available amount of payload for the data. Fields array_id and name They are used to distinguish between messages in code and in user interfaces, respectively. It is not intended for use in production code.

Field Type Size Units

time_usec

UInt64

scalar

us

array_id

Vector{UInt16}

vector

—

name

UInt8

vector of length 10

—

data

Vector{Float64}

vector of length 58

—

DEBUG_VECT

Debugging arbitrary data using a named three-dimensional vector.

Field Type Size Units

time_usec

UInt64

scalar

us

x

Float64

scalar

—

y

Float64

scalar

—

z

Vector{Float64}

vector

—

name

UInt8

vector of length 10

—

DISTANCE_SENSOR

Information from the onboard rangefinder.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

min_distance

UInt16

scalar

cm

max_distance

UInt16

scalar

cm

current_distance

UInt16

scalar

cm

type

UInt8

scalar

—

id

UInt8

scalar

—

orientation

UInt8

scalar

—

covariance

UInt8

scalar

cm^2

horizontal_fov

Float64

scalar

rad

vertical_fov

Float64

scalar

rad

quaternion

Vector{Float64}

vector of length 4

—

signal_quality

UInt8

scalar

%

EFI_STATUS

Data on the status of the electronic fuel injection (EFI) system.

Field Type Size Units

ecu_index

Float64

scalar

—

rpm

Float64

scalar

—

fuel_consumed

Float64

scalar

cm^3

fuel_flow

Float64

scalar

cm^3/min

engine_load

Float64

scalar

%

throttle_position

Float64

scalar

%

spark_dwell_time

Float64

scalar

ms

barometric_pressure

Float64

scalar

kPa

intake_manifold_pressure

Float64

scalar

kPa

intake_manifold_temperature

Float64

scalar

degC

cylinder_head_temperature

Float64

scalar

degC

ignition_timing

Float64

scalar

deg

injection_time

Float64

scalar

ms

exhaust_gas_temperature

Float64

scalar

degC

throttle_out

Float64

scalar

%

pt_compensation

Float64

scalar

—

health

UInt8

scalar

—

ignition_voltage

Float64

scalar

V

fuel_pressure

Float64

scalar

kPa

ENCAPSULATED_DATA

A packet of data for images transmitted using the image transmission protocol. Detailed information is available at link.

Field Type Size Units

seqnr

UInt16

scalar

—

data

Vector{UInt8}

vector of length 253

—

ESTIMATOR_STATUS

An evaluation system status message containing flags, innovation test ratios, and estimated accuracy. Field flags — an integer bitmask with information about which EKF outputs are valid. For more information, see the definition of enumeration ESTIMATOR_STATUS_FLAGS. The innovation test ratios show the ratio of the sensor innovation value to the innovation verification threshold. In normal operation, these ratios should be below 0.5, with occasional values up to 1.0. Values greater than 1.0 during normal operation should be rare and indicate that the measurement was rejected by the filter. The user should be notified if the innovation test ratio is greater than 1.0. Notifications of values in the range from 0.5 to 1.0 should be optional and user-configurable.

Field Type Size Units

time_usec

UInt64

scalar

us

vel_ratio

Float64

scalar

—

pos_horiz_ratio

Float64

scalar

—

pos_vert_ratio

Float64

scalar

—

mag_ratio

Float64

scalar

—

hagl_ratio

Float64

scalar

—

tas_ratio

Float64

scalar

—

pos_horiz_accuracy

Float64

scalar

m

pos_vert_accuracy

Float64

scalar

m

flags

UInt16

scalar

—

EXTENDED_SYS_STATE

It contains information about the status of additional functions.

Field Type Size Units

vtol_state

UInt8

scalar

—

landed_state

UInt8

scalar

—

FENCE_STATUS

The state of the geographing. It is sent in the extended status stream if the fence is enabled.

Field Type Size Units

breach_time

UInt32

scalar

ms

breach_count

UInt16

scalar

—

breach_status

UInt8

scalar

—

breach_type

UInt8

scalar

—

breach_mitigation

UInt8

scalar

—

FILE_TRANSFER_PROTOCOL

File transfer protocol message. Detailed information is available at link.

Field Type Size Units

target_network

UInt8

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

payload

Vector{UInt8}

vector of length 251

—

FLIGHT_INFORMATION

Flight information since the last arming.

Field Type Size Units

arming_time_utc

UInt64

scalar

us

takeoff_time_utc

UInt64

scalar

us

flight_uuid

UInt64

scalar

—

time_boot_ms

UInt32

scalar

ms

FOLLOW_TARGET

Current traffic information from the specified system.

Field Type Size Units

timestamp

UInt64

scalar

ms

custom_state

UInt64

scalar

—

lat

Int32

scalar

degE7

lon

Int32

scalar

degE7

alt

Float64

scalar

m

vel

Vector{Float64}

vector of length 3

m/s

acc

Vector{Float64}

vector of length 3

m/s/s

attitude_q

Vector{Float64}

vector of length 4

—

rates

Vector{Float64}

vector of length 3

—

position_cov

Vector{Float64}

vector of length 3

—

est_capabilities

UInt8

scalar

—

GENERATOR_STATUS

Telemetry of the power generation system — an alternating current generator or a mechanical generator.

Field Type Size Units

status

UInt64

scalar

—

battery_current

Float64

scalar

A

load_current

Float64

scalar

A

power_generated

Float64

scalar

W

bus_voltage

Float64

scalar

V

bat_current_setpoint

Float64

scalar

A

runtime

UInt32

scalar

s

time_until_maintenance

Int32

scalar

s

generator_speed

UInt16

scalar

rpm

rectifier_temperature

Int16

scalar

degC

generator_temperature

Int16

scalar

degC

GIMBAL_DEVICE_ATTITUDE_STATUS

A message with the status of the suspension device. The suspension device component should transmit this message at a low regular frequency (for example, 5 Hz). For quaternion-encoded angles and angular velocities, the rule applies: if the flag is set GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME, they are set relative to the vehicle’s course (associated coordinate system). If the flag is set GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME they are set relative to absolute north (Earth’s coordinate system). If none of these flags is set, then (for backward compatibility) the following applies: if the flag is set GIMBAL_DEVICE_FLAGS_YAW_LOCK they are set relative to absolute north (the Earth’s coordinate system), in other words, relative to the spacecraft’s course (the associated coordinate system). Other combinations of flags are not allowed. The quaternion and angular velocities in another coordinate system can be calculated from delta_yaw and delta_yaw_velocity: q_earth = q_delta_yaw * q_vehicle and w_earth = w_delta_yaw_velocity + w_vehicle (if not NaN). If no flag is set GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME, no flag GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME, then (for backward compatibility) the data in the fields delta_yaw and delta_yaw_velocity it should be ignored. In new implementations, you should always set either GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME, or GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME, and the fields delta_yaw and delta_yaw_velocity always set either the correct value, or NaN.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

q

Float64

vector of length 4

—

angular_velocity_x

Float64

scalar

rad/s

angular_velocity_y

Float64

scalar

rad/s

angular_velocity_z

Float64

scalar

rad/s

failure_flags

UInt32

scalar

—

flags

UInt16

scalar

—

target_system

UInt8

scalar

—

target_component

Vector{UInt8}

vector

—

delta_yaw

Float64

scalar

rad

delta_yaw_velocity

Float64

scalar

rad/s

gimbal_device_id

UInt8

scalar

—

GIMBAL_DEVICE_INFORMATION

Information about the low-level suspension device. This message should be requested by the suspension manager or the ground station using MAV_CMD_REQUEST_MESSAGE. Maximum angles and speeds are hardware limitations. However, the software limitations are most likely different (smaller) and depend on the mode, settings, etc.

Field Type Size Units

uid

UInt64

scalar

—

time_boot_ms

UInt32

scalar

ms

firmware_version

UInt32

scalar

—

hardware_version

UInt32

scalar

—

roll_min

Float64

scalar

rad

roll_max

Float64

scalar

rad

pitch_min

Float64

scalar

rad

pitch_max

Vector{Float64}

vector

rad

yaw_min

Vector{Float64}

vector

rad

yaw_max

Vector{Float64}

vector

rad

cap_flags

UInt16

scalar

—

custom_cap_flags

UInt16

scalar

—

vendor_name

UInt8

vector of length 32

—

model_name

UInt8

vector of length 32

—

custom_name

UInt8

vector of length 32

—

gimbal_device_id

UInt8

scalar

—

GIMBAL_DEVICE_SET_ATTITUDE

A low-level message for controlling the orientation of the suspension device. It is sent from the suspension manager to the suspension device component. The quaternion and angular velocities can be set as NaN, depending on the usage scenario. For quaternion-encoded angles and angular velocities, the rule applies: if the flag is set GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME, they are set relative to the vehicle’s course (associated coordinate system). If the flag is set GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME they are set relative to absolute north (Earth’s coordinate system). If none of these flags is set, then (for backward compatibility) the following applies: if the flag is set GIMBAL_DEVICE_FLAGS_YAW_LOCK they are set relative to absolute north (the Earth’s coordinate system), in other words, relative to the spacecraft’s course (the associated coordinate system). Setting both flags at the same time GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME and GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME not allowed. These rules ensure backward compatibility. In new implementations, you should always set either GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME, or GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME.

Field Type Size Units

q

Float64

vector of length 4

—

angular_velocity_x

Float64

scalar

rad/s

angular_velocity_y

Float64

scalar

rad/s

angular_velocity_z

Float64

scalar

rad/s

flags

UInt16

scalar

—

target_system

Vector{UInt8}

vector

—

target_component

UInt8

scalar

—

GIMBAL_MANAGER_INFORMATION

Information about the upper-level suspension manager. This message should be requested by the ground station using MAV_CMD_REQUEST_MESSAGE.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

cap_flags

UInt32

scalar

—

roll_min

Float64

scalar

rad

roll_max

Float64

scalar

rad

pitch_min

Float64

scalar

rad

pitch_max

Float64

scalar

rad

yaw_min

Float64

scalar

rad

yaw_max

Float64

scalar

rad

gimbal_device_id

UInt8

scalar

—

GIMBAL_MANAGER_SET_ATTITUDE

A top-level message for controlling the orientation of the suspension. It is sent to the suspension manager (for example, from a ground station). Angles and speeds can be set as NaN depending on the usage scenario.

Field Type Size Units

flags

UInt32

scalar

—

q

Float64

vector of length 4

—

angular_velocity_x

Float64

scalar

rad/s

angular_velocity_y

Float64

scalar

rad/s

angular_velocity_z

Float64

scalar

rad/s

target_system

UInt8

scalar

—

target_component

Vector{UInt8}

vector

—

gimbal_device_id

UInt8

scalar

—

GIMBAL_MANAGER_SET_MANUAL_CONTROL

An upper-level message for manual suspension control. The angles or angular velocities are dimensionless; the actual speeds depend on the internal settings or configuration of the suspension manager (for example, set parameters). It is sent to the suspension manager (for example, from a ground station). The angles and speeds can be set as NaN, depending on the usage scenario.

Field Type Size Units

flags

UInt32

scalar

—

pitch

Float64

scalar

—

yaw

Float64

scalar

—

pitch_rate

Float64

scalar

—

yaw_rate

Float64

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

gimbal_device_id

UInt8

scalar

—

GIMBAL_MANAGER_SET_PITCHYAW

Setting the pitch and yaw angles of the suspension manager (high frequency message). It is sent to the suspension manager (for example, from a ground station) and ignored by the suspension devices. The angles and speeds can be set as NaN, depending on the usage scenario. For low-frequency adjustments that require confirmation, use MAV_CMD_DO_GIMBAL_MANAGER_PITCHYAW.

Field Type Size Units

flags

UInt32

scalar

—

pitch

Float64

scalar

rad

yaw

Float64

scalar

rad

pitch_rate

Float64

scalar

rad/s

yaw_rate

Float64

scalar

rad/s

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

gimbal_device_id

UInt8

scalar

—

GIMBAL_MANAGER_STATUS

The current status of the upper-level suspension manager. The message must be transmitted at a low regular frequency (for example, 5 Hz).

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

flags

UInt32

scalar

—

gimbal_device_id

UInt8

scalar

—

primary_control_sysid

UInt8

scalar

—

primary_control_compid

UInt8

scalar

—

secondary_control_sysid

UInt8

scalar

—

secondary_control_compid

UInt8

scalar

—

GLOBAL_POSITION_INT

Filtered global position (for example, combining GPS and accelerometer data). The position is set in the GPS coordinate system (right, axis pointing up). The message uses scaled integers because the resolution of floating-point numbers is insufficient.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

lat

Int32

scalar

degE7

lon

Int32

scalar

degE7

alt

Int32

scalar

mm

relative_alt

Int32

scalar

mm

vx

Int16

scalar

cm/s

vy

Int16

scalar

cm/s

vz

Int16

scalar

cm/s

hdg

UInt16

scalar

cdeg

GLOBAL_POSITION_INT_COV

Filtered global position (for example, combining GPS and accelerometer data). The position is set in the GPS coordinate system (right, axis pointing up). The message uses scaled integers because the resolution of floating-point numbers is insufficient.

The message is intended for on-board networks, associated computers and communication lines with higher bandwidth and is optimized for accuracy and completeness. For a minimal set of data, use the message GLOBAL_POSITION_INT.
Field Type Size Units

time_usec

UInt64

scalar

us

lat

Int32

scalar

degE7

lon

Int32

scalar

degE7

alt

Int32

scalar

mm

relative_alt

Int32

scalar

mm

vx

Float64

scalar

m/s

vy

Float64

scalar

m/s

vz

Vector{Float64}

vector

m/s

covariance

Float64

vector of length 36

—

estimator_type

UInt8

scalar

—

GLOBAL_VISION_POSITION_ESTIMATE

Assessment of global position and orientation from a visual data source (vision system).

Field Type Size Units

usec

UInt64

scalar

us

x

Float64

scalar

m

y

Float64

scalar

m

z

Float64

scalar

m

roll

Float64

scalar

rad

pitch

Float64

scalar

rad

yaw

Float64

scalar

rad

covariance

Vector{Float64}

vector of length 21

—

reset_counter

UInt8

scalar

—

GPS2_RAW

Data from the second GPS receiver.

Field Type Size Units

time_usec

UInt64

scalar

us

lat

Int32

scalar

degE7

lon

Int32

scalar

degE7

alt

Int32

scalar

mm

dgps_age

UInt32

scalar

ms

eph

UInt16

scalar

—

epv

UInt16

scalar

—

vel

UInt16

scalar

cm/s

cog

UInt16

scalar

cdeg

fix_type

UInt8

scalar

—

satellites_visible

UInt8

scalar

—

dgps_numch

UInt8

scalar

—

yaw

UInt16

scalar

cdeg

alt_ellipsoid

Int32

scalar

mm

h_acc

UInt32

scalar

mm

v_acc

UInt32

scalar

mm

vel_acc

UInt32

scalar

mm/s

hdg_acc

UInt32

scalar

degE5

GPS2_RTK

RTK GPS data. Contains information about the relative calculation of the baseline transmitted by the GPS receiver.

Field Type Size Units

time_last_baseline_ms

UInt32

scalar

ms

tow

UInt32

scalar

ms

baseline_a_mm

Int32

scalar

mm

baseline_b_mm

Int32

scalar

mm

baseline_c_mm

Int32

scalar

mm

accuracy

UInt32

scalar

—

iar_num_hypotheses

Int32

scalar

—

wn

UInt16

scalar

—

rtk_receiver_id

UInt8

scalar

—

rtk_health

UInt8

scalar

—

rtk_rate

UInt8

scalar

Hz

nsats

UInt8

scalar

—

baseline_coords_type

UInt8

scalar

—

GPS_GLOBAL_ORIGIN

Transmits the GPS coordinates of the local origin of the device (0,0,0). It is sent every time a new GPS—local coordinate match is requested or set, for example, after a message SET_GPS_GLOBAL_ORIGIN.

Field Type Size Units

latitude

Int32

scalar

degE7

longitude

Int32

scalar

degE7

altitude

Int32

scalar

mm

time_usec

UInt64

scalar

us

GPS_INJECT_DATA

Data to be entered into the onboard GPS receiver (used for DGPS).

Field Type Size Units

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

len

UInt8

scalar

bytes

data

Vector{UInt8}

vector of length 110

—

GPS_INPUT

A message with the input data of the GPS sensor. This is the raw value transmitted by the GPS receiver, not a global estimate of the system’s position.

Field Type Size Units

time_usec

UInt64

scalar

us

time_week_ms

UInt32

scalar

ms

lat

Int32

scalar

degE7

lon

Int32

scalar

degE7

alt

Float64

scalar

m

hdop

Float64

scalar

—

vdop

Float64

scalar

—

vn

Float64

scalar

m/s

ve

Float64

scalar

m/s

vd

Float64

scalar

m/s

speed_accuracy

Float64

scalar

m/s

horiz_accuracy

Float64

scalar

m

vert_accuracy

Float64

scalar

m

ignore_flags

UInt16

scalar

—

time_week

UInt16

scalar

—

gps_id

UInt8

scalar

—

fix_type

UInt8

scalar

—

satellites_visible

UInt8

scalar

—

yaw

UInt16

scalar

cdeg

GPS_RAW_INT

The global position returned by the global navigation satellite system (GPS). This is NOT a global estimate of the system’s position, but a raw sensor value. For a global assessment of the situation, see the message GLOBAL_POSITION_INT.

Field Type Size Units

time_usec

UInt64

scalar

us

lat

Int32

scalar

degE7

lon

Int32

scalar

degE7

alt

Int32

scalar

mm

eph

UInt16

scalar

—

epv

UInt16

scalar

—

vel

UInt16

scalar

cm/s

cog

UInt16

scalar

cdeg

fix_type

UInt8

scalar

—

satellites_visible

UInt8

scalar

—

alt_ellipsoid

Int32

scalar

mm

h_acc

UInt32

scalar

mm

v_acc

UInt32

scalar

mm

vel_acc

UInt32

scalar

mm/s

hdg_acc

UInt32

scalar

degE5

yaw

UInt16

scalar

cdeg

GPS_RTCM_DATA

An RTCM message to be entered into the onboard GPS receiver (used for DGPS).

Field Type Size Units

flags

UInt8

scalar

—

len

UInt8

scalar

bytes

data

Vector{UInt8}

vector of length 180

—

GPS_RTK

RTK GPS data. Contains information about the relative calculation of the baseline transmitted by the GPS receiver.

Field Type Size Units

time_last_baseline_ms

UInt32

scalar

ms

tow

UInt32

scalar

ms

baseline_a_mm

Int32

scalar

mm

baseline_b_mm

Int32

scalar

mm

baseline_c_mm

Int32

scalar

mm

accuracy

UInt32

scalar

—

iar_num_hypotheses

Int32

scalar

—

wn

UInt16

scalar

—

rtk_receiver_id

UInt8

scalar

—

rtk_health

UInt8

scalar

—

rtk_rate

UInt8

scalar

Hz

nsats

UInt8

scalar

—

baseline_coords_type

UInt8

scalar

—

GPS_STATUS

The positioning status transmitted by the GPS receiver. The message is intended to display information about the status of each satellite visible to the receiver. For a global assessment of the situation, see the message GLOBAL_POSITION_INT. The message can contain information about up to 20 satellites.

Field Type Size Units

satellites_visible

UInt8

scalar

—

satellite_prn

Vector{UInt8}

vector of length 20

—

satellite_used

Vector{UInt8}

vector of length 20

—

satellite_elevation

Vector{UInt8}

vector of length 20

deg

satellite_azimuth

Vector{UInt8}

vector of length 20

deg

satellite_snr

Vector{UInt8}

vector of length 20

dB

HEARTBEAT

The heartbeat message confirms the presence of the system or component and that it is responding. Fields type and autopilot (together with the identifier of the message component) allow the receiving system to correctly process subsequent messages from this system (for example, to form a user interface depending on the autopilot). The microservice is described by link

Field Type Size Units

custom_mode

UInt32

scalar

—

type

UInt8

scalar

—

autopilot

UInt8

scalar

—

base_mode

UInt8

scalar

—

system_status

UInt8

scalar

—

mavlink_version

UInt8

scalar

—

HIGHRES_IMU

The IMU readings are in SI units in the associated NED coordinate system.

Field Type Size Units

time_usec

UInt64

scalar

us

xacc

Float64

scalar

m/s/s

yacc

Float64

scalar

m/s/s

zacc

Float64

scalar

m/s/s

xgyro

Float64

scalar

rad/s

ygyro

Float64

scalar

rad/s

zgyro

Float64

scalar

rad/s

xmag

Float64

scalar

gauss

ymag

Float64

scalar

gauss

zmag

Float64

scalar

gauss

abs_pressure

Float64

scalar

hPa

diff_pressure

Float64

scalar

hPa

pressure_alt

Float64

scalar

—

temperature

Float64

scalar

degC

fields_updated

UInt16

scalar

—

id

UInt8

scalar

—

HIGH_LATENCY

A message designed for high-latency connections such as Iridium.

Field Type Size Units

custom_mode

UInt32

scalar

—

latitude

Int32

scalar

degE7

longitude

Int32

scalar

degE7

roll

Int16

scalar

cdeg

pitch

Int16

scalar

cdeg

heading

UInt16

scalar

cdeg

heading_sp

Int16

scalar

cdeg

altitude_amsl

Int16

scalar

m

altitude_sp

Int16

scalar

m

wp_distance

UInt16

scalar

m

base_mode

UInt8

scalar

—

landed_state

UInt8

scalar

—

throttle

Int8

scalar

%

airspeed

UInt8

scalar

m/s

airspeed_sp

UInt8

scalar

m/s

groundspeed

UInt8

scalar

m/s

climb_rate

Int8

scalar

m/s

gps_nsat

UInt8

scalar

—

gps_fix_type

UInt8

scalar

—

battery_remaining

UInt8

scalar

%

temperature

Int8

scalar

degC

temperature_air

Int8

scalar

degC

failsafe

UInt8

scalar

—

wp_num

UInt8

scalar

—

HIGH_LATENCY2

A message designed for high-latency connections such as Iridium (version 2).

Field Type Size Units

timestamp

UInt32

scalar

ms

latitude

Int32

scalar

degE7

longitude

Int32

scalar

degE7

custom_mode

UInt16

scalar

—

altitude

Int16

scalar

m

target_altitude

Int16

scalar

m

target_distance

UInt16

scalar

dam

wp_num

UInt16

scalar

—

failure_flags

UInt16

scalar

—

type

UInt8

scalar

—

autopilot

UInt8

scalar

—

heading

UInt8

scalar

deg/2

target_heading

UInt8

scalar

deg/2

throttle

UInt8

scalar

%

airspeed

UInt8

scalar

m/s*5

airspeed_sp

UInt8

scalar

m/s*5

groundspeed

UInt8

scalar

m/s*5

windspeed

UInt8

scalar

m/s*5

wind_heading

UInt8

scalar

deg/2

eph

UInt8

scalar

dm

epv

UInt8

scalar

dm

temperature_air

Int8

scalar

degC

climb_rate

Int8

scalar

dm/s

battery

Int8

scalar

%

custom0

Int8

scalar

—

custom1

Int8

scalar

—

custom2

Int8

scalar

—

HIL_ACTUATOR_CONTROLS

It is sent from the autopilot to the simulator. Control outputs for hardware simulation in the circuit (replacement HIL_CONTROLS).

Field Type Size Units

time_usec

UInt64

scalar

us

flags

UInt64

scalar

—

controls

Float64

vector of length 16

—

mode

Vector{UInt8}

vector

—

HIL_CONTROLS

It is sent from the autopilot to the simulator. Control outputs for hardware simulation in the circuit.

Field Type Size Units

time_usec

UInt64

scalar

us

roll_ailerons

Float64

scalar

—

pitch_elevator

Float64

scalar

—

yaw_rudder

Float64

scalar

—

throttle

Float64

scalar

—

aux1

Float64

scalar

—

aux2

Float64

scalar

—

aux3

Float64

scalar

—

aux4

Float64

scalar

—

mode

UInt8

scalar

—

nav_mode

UInt8

scalar

—

HIL_GPS

The global position returned by the global navigation satellite system (GPS). This is NOT a global estimate of the system’s position, but a raw sensor value. For a global assessment of the situation, see the message GLOBAL_POSITION_INT.

Field Type Size Units

time_usec

UInt64

scalar

us

lat

Int32

scalar

degE7

lon

Int32

scalar

degE7

alt

Int32

scalar

mm

eph

UInt16

scalar

—

epv

UInt16

scalar

—

vel

UInt16

scalar

cm/s

vn

Int16

scalar

cm/s

ve

Int16

scalar

cm/s

vd

Int16

scalar

cm/s

cog

UInt16

scalar

cdeg

fix_type

UInt8

scalar

—

satellites_visible

UInt8

scalar

—

id

UInt8

scalar

—

yaw

UInt16

scalar

cdeg

HIL_OPTICAL_FLOW

Simulated optical flow from a flow sensor (for example, a PX4FLOW or optical mouse sensor).

Field Type Size Units

time_usec

UInt64

scalar

us

integration_time_us

UInt32

scalar

us

integrated_x

Float64

scalar

rad

integrated_y

Float64

scalar

rad

integrated_xgyro

Float64

scalar

rad

integrated_ygyro

Float64

scalar

rad

integrated_zgyro

Float64

scalar

rad

time_delta_distance_us

UInt32

scalar

us

distance

Float64

scalar

m

temperature

Int16

scalar

cdegC

sensor_id

UInt8

scalar

—

quality

UInt8

scalar

—

HIL_RC_INPUTS_RAW

It is sent from the simulator to the autopilot. The raw values of the received RC channels. Standard PPM modulation: 1000 The ISS — 0 %, 2000 The ISS — 100 %. Individual receivers and transmitters may deviate from this specification.

Field Type Size Units

time_usec

UInt64

scalar

us

chan1_raw

UInt16

scalar

us

chan2_raw

UInt16

scalar

us

chan3_raw

UInt16

scalar

us

chan4_raw

UInt16

scalar

us

chan5_raw

UInt16

scalar

us

chan6_raw

UInt16

scalar

us

chan7_raw

UInt16

scalar

us

chan8_raw

UInt16

scalar

us

chan9_raw

UInt16

scalar

us

chan10_raw

UInt16

scalar

us

chan11_raw

UInt16

scalar

us

chan12_raw

UInt16

scalar

us

rssi

UInt8

scalar

—

HIL_SENSOR

The IMU readings are in SI units in the associated NED coordinate system.

Field Type Size Units

time_usec

UInt64

scalar

us

xacc

Float64

scalar

m/s/s

yacc

Float64

scalar

m/s/s

zacc

Float64

scalar

—

HIL_STATE

It is sent from the simulator to the autopilot. The package is useful for high-bandwidth applications such as hardware simulation in a loop.

Field Type Size Units

time_usec

UInt64

scalar

us

roll

Float64

scalar

rad

pitch

Float64

scalar

rad

yaw

Float64

scalar

rad

rollspeed

Float64

scalar

rad/s

pitchspeed

Float64

scalar

rad/s

yawspeed

Float64

scalar

rad/s

lat

Int32

scalar

degE7

lon

Int32

scalar

degE7

alt

Int32

scalar

mm

vx

Int16

scalar

cm/s

vy

Int16

scalar

cm/s

vz

Int16

scalar

cm/s

xacc

Int16

scalar

mG

yacc

Int16

scalar

mG

zacc

Int16

scalar

mG

HIL_STATE_QUATERNION

It is sent from the simulator to the autopilot; unlike HIL_STATE it avoids the degeneracy of the orientation representation. The package is useful for high-bandwidth applications such as hardware simulation in a loop.

Field Type Size Units

time_usec

UInt64

scalar

us

attitude_quaternion

Vector{Float64}

vector of length 4

—

rollspeed

Float64

scalar

rad/s

pitchspeed

Float64

scalar

rad/s

yawspeed

Float64

scalar

rad/s

lat

Int32

scalar

degE7

lon

Int32

scalar

degE7

alt

Int32

scalar

mm

vx

Int16

scalar

cm/s

vy

Int16

scalar

cm/s

vz

Int16

scalar

cm/s

ind_airspeed

UInt16

scalar

cm/s

true_airspeed

UInt16

scalar

cm/s

xacc

Int16

scalar

mG

yacc

Int16

scalar

mG

zacc

Int16

scalar

mG

HOME_POSITION

You can request this message by sending a command MAV_CMD_GET_HOME_POSITION. The position to which the system will return and where it will land. The position is set automatically by the system during takeoff, unless the operator has explicitly set it before or after. The global and local positions encode the position in the corresponding coordinate systems, and the parameter q encodes the orientation of the surface. Under normal conditions, it describes the course and slope of the terrain, which the device can use to adjust the approach. The three-dimensional approach vector describes the point to which the system should fly in normal flight mode, and then perform a landing sequence along the vector.

Field Type Size Units

latitude

Int32

scalar

degE7

longitude

Int32

scalar

degE7

altitude

Int32

scalar

mm

x

Float64

scalar

m

y

Float64

scalar

m

z

Float64

scalar

m

q

Vector{Float64}

vector of length 4

—

approach_x

Float64

scalar

m

approach_y

Float64

scalar

m

approach_z

Float64

scalar

m

time_usec

UInt64

scalar

us

HYGROMETER_SENSOR

Temperature and humidity from the hygrometer.

Field Type Size Units

temperature

Int16

scalar

cdegC

humidity

UInt16

scalar

c%

id

UInt8

scalar

—

Status of the Iridium SBD communication channel.

Field Type Size Units

timestamp

UInt64

scalar

us

last_heartbeat

UInt64

scalar

us

failed_sessions

UInt16

scalar

—

successful_sessions

UInt16

scalar

—

signal_quality

UInt8

scalar

—

ring_pending

UInt8

scalar

—

tx_session_pending

UInt8

scalar

—

rx_session_pending

UInt8

scalar

—

LANDING_TARGET

The location of the landing target. Detailed information is available at link.

Field Type Size Units

time_usec

UInt64

scalar

us

angle_x

Float64

scalar

rad

angle_y

Float64

scalar

rad

distance

Float64

scalar

m

size_x

Float64

scalar

rad

size_y

Float64

scalar

rad

target_num

UInt8

scalar

—

frame

UInt8

scalar

—

x

Float64

scalar

m

y

Float64

scalar

m

z

Float64

scalar

m

q

Vector{Float64}

vector of length 4

—

type

UInt8

scalar

—

position_valid

UInt8

scalar

—

LOCAL_POSITION_NED

Filtered local position (for example, combining data from the vision system and accelerometers). The coordinate system is right, the axis it is directed downward (aviation coordinate system, NED — north-east-down).

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

x

Float64

scalar

m

y

Float64

scalar

m

z

Float64

scalar

m

vx

Float64

scalar

m/s

vy

Float64

scalar

m/s

vz

Float64

scalar

m/s

LOCAL_POSITION_NED_COV

Filtered local position (for example, combining data from the vision system and accelerometers). The coordinate system is right, the axis it is directed downward (aviation coordinate system, NED — north-east-down).

Field Type Size Units

time_usec

UInt64

scalar

us

x

Float64

scalar

m

y

Float64

scalar

m

z

Float64

scalar

m

vx

Float64

scalar

m/s

vy

Float64

scalar

m/s

vz

Float64

scalar

m/s

ax

Float64

scalar

m/s/s

ay

Float64

scalar

m/s/s

az

Vector{Float64}

vector

m/s/s

covariance

Float64

vector of length 45

—

estimator_type

UInt8

scalar

—

LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET

Offset by , , and yawing between messages LOCAL_POSITION_NED MAV X and the global coordinate system in NED coordinates. The coordinate system is right, the axis it is directed downward (aviation coordinate system, NED — north-east-down).

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

x

Float64

scalar

m

y

Float64

scalar

m

z

Float64

scalar

m

roll

Float64

scalar

rad

pitch

Float64

scalar

rad

yaw

Float64

scalar

rad

LOGGING_ACK

Confirmation (ack) for the message LOGGING_DATA_ACKED.

Field Type Size Units

sequence

UInt16

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

LOGGING_DATA

A message with recorded data (see also MAV_CMD_LOGGING_START).

Field Type Size Units

sequence

UInt16

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

length

UInt8

scalar

bytes

first_message_offset

UInt8

scalar

bytes

data

Vector{UInt8}

vector of length 249

—

LOGGING_DATA_ACKED

A message with recorded data that requires sending a reply message LOGGING_ACK.

Field Type Size Units

sequence

UInt16

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

length

UInt8

scalar

bytes

first_message_offset

UInt8

scalar

bytes

data

Vector{UInt8}

vector of length 249

—

LOG_DATA

Reply to the message LOG_REQUEST_DATA.

Field Type Size Units

ofs

UInt32

scalar

—

id

UInt16

scalar

—

count

UInt8

scalar

bytes

data

Vector{UInt8}

vector of length 90

—

LOG_ENTRY

Reply to the message LOG_REQUEST_LIST.

Field Type Size Units

time_utc

UInt32

scalar

s

size

UInt32

scalar

bytes

id

UInt16

scalar

—

num_logs

UInt16

scalar

—

last_log_num

UInt16

scalar

—

LOG_ERASE

Erasing all logs.

Field Type Size Units

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

LOG_REQUEST_DATA

Request for a log fragment.

Field Type Size Units

ofs

UInt32

scalar

—

count

UInt32

scalar

bytes

id

UInt16

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

LOG_REQUEST_END

Stopping the log transfer and resuming the normal log recording.

Field Type Size Units

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

LOG_REQUEST_LIST

Requesting a list of available logs. On some systems, invoking this message may pause the on-board log entry until the call is made. LOG_REQUEST_END. If logs are unavailable, one response should be sent to the request. LOG_ENTRY with id = 0 and num_logs = 0.

Field Type Size Units

start

UInt16

scalar

—

end

UInt16

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

MAG_CAL_REPORT

A report on the results of the completed compass calibration. Transmitted before receiving MAG_CAL_ACK.

Field Type Size Units

fitness

Float64

scalar

mgauss

ofs_x

Float64

scalar

—

ofs_y

Float64

scalar

—

ofs_z

Float64

scalar

—

diag_x

Float64

scalar

—

diag_y

Float64

scalar

—

diag_z

Float64

scalar

—

offdiag_x

Float64

scalar

—

offdiag_y

Float64

scalar

—

offdiag_z

Float64

scalar

—

compass_id

UInt8

scalar

—

cal_mask

UInt8

scalar

—

cal_status

UInt8

scalar

—

autosaved

UInt8

scalar

—

orientation_confidence

Float64

scalar

—

old_orientation

UInt8

scalar

—

new_orientation

UInt8

scalar

—

scale_factor

Float64

scalar

—

MANUAL_CONTROL

Provides an API for manual control of the device using a standard range of joystick axes and a joystick-type input device. Unused axes can be disabled, and button states are transmitted as separate bits of the on/off bitmask.

Field Type Size Units

x

Int16

scalar

—

y

Int16

scalar

—

z

Int16

scalar

—

r

Int16

scalar

—

buttons

UInt16

scalar

—

target

UInt8

scalar

—

buttons2

UInt16

scalar

—

enabled_extensions

UInt8

scalar

—

s

Int16

scalar

—

t

Int16

scalar

—

aux1

Int16

scalar

—

aux2

Int16

scalar

—

aux3

Int16

scalar

—

aux4

Int16

scalar

—

aux5

Int16

scalar

—

aux6

Int16

scalar

—

MANUAL_SETPOINT

Roll, pitch, yaw, and thrust settings from the operator.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

roll

Float64

scalar

rad/s

pitch

Float64

scalar

rad/s

yaw

Float64

scalar

rad/s

thrust

Float64

scalar

—

mode_switch

UInt8

scalar

—

manual_override_switch

UInt8

scalar

—

MEMORY_VECT

Sending raw controller memory. Using this message for regular packages is not recommended, but it is a fairly effective way to test new messages and get experimental debugging output.

Field Type Size Units

address

UInt16

scalar

—

ver

UInt8

scalar

—

type

UInt8

scalar

—

value

Vector{Int8}

vector of length 32

—

MESSAGE_INTERVAL

The interval between messages for a specific MAVLink message identifier. The message is sent in response to the command MAV_CMD_REQUEST_MESSAGE with param1=244 (this is the message) and param2=message_id (id of the message that needs an interval). It can also be sent in response to MAV_CMD_GET_MESSAGE_INTERVAL. This interface replaces DATA_STREAM.

Field Type Size Units

interval_us

Int32

scalar

us

message_id

UInt16

scalar

—

MISSION_ACK

Confirmation when processing waypoints. Field type indicates whether the message is a positive confirmation (type=0) or an error has occurred (type is not equal to zero).

Field Type Size Units

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

type

UInt8

scalar

—

mission_type

UInt8

scalar

—

MISSION_CLEAR_ALL

Deleting all mission elements at the same time.

Field Type Size Units

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

mission_type

UInt8

scalar

—

MISSION_COUNT

The message is sent by MAV in response to MISSION_REQUEST_LIST, as well as to start a write transaction. After that, the ground station (GCS) can request individual mission elements, knowing the total number of waypoints.

Field Type Size Units

count

UInt16

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

mission_type

UInt8

scalar

—

MISSION_CURRENT

A message announcing the sequence number of the currently active mission element. The MAV will head towards this mission element.

Field Type Size Units

seq

UInt16

scalar

—

total

UInt16

scalar

—

mission_state

UInt8

scalar

—

mission_mode

UInt8

scalar

—

MISSION_ITEM

A message encoding the mission element. It is sent to announce the presence of a mission element and set the mission element in the system. The mission element can be set either in meters in x, y, z (type: LOCAL), or as x:latitude, y:longitude, z:altitude. The local coordinate system is Z down, right (NED), the global coordinate system is Z up, right (ENU). The NaN value can be used to specify an optional value or a default value (for example, to use the current latitude or yaw of the system instead of a specific value). Detailed information is available at link.

Field Type Size Units

param1

Float64

scalar

—

param2

Float64

scalar

—

param3

Float64

scalar

—

param4

Float64

scalar

—

x

Float64

scalar

—

y

Float64

scalar

—

z

Float64

scalar

—

seq

UInt16

scalar

—

command

UInt16

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

frame

UInt8

scalar

—

current

UInt8

scalar

—

autocontinue

UInt8

scalar

—

mission_type

UInt8

scalar

—

MISSION_ITEM_INT

A message encoding the mission element. It is sent to announce the presence of a mission element and set the mission element in the system. The mission element can be set either in meters in x, y, z (type: LOCAL), or as x:latitude, y:longitude, z:altitude. The local coordinate system is Z down, right (NED), the global coordinate system is Z up, right (ENU). The NaN or INT32_MAX value can be used in floating-point and integer parameters, respectively, to specify optional or default values (for example, to use the current latitude or yaw of a component instead of a specific value). Detailed information is available at link.

Field Type Size Units

param1

Float64

scalar

—

param2

Float64

scalar

—

param3

Float64

scalar

—

param4

Float64

scalar

—

x

Int32

scalar

—

y

Int32

scalar

—

z

Float64

scalar

—

seq

UInt16

scalar

—

command

UInt16

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

frame

UInt8

scalar

—

current

UInt8

scalar

—

autocontinue

UInt8

scalar

—

mission_type

UInt8

scalar

—

MISSION_ITEM_REACHED

A certain mission element has been achieved. The system will either hold this position (or circle in an orbit), or (if the waypoint is set to autocontinue) move to the next waypoint.

Field Type Size Units

seq

UInt16

scalar

—

MISSION_REQUEST

Request information about the mission element with the sequence number seq. The system’s response to this message should be MISSION_ITEM. Detailed information is available at link

Field Type Size Units

seq

UInt16

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

mission_type

UInt8

scalar

—

MISSION_REQUEST_INT

Request information about the mission element with the sequence number seq. The system’s response to this message should be MISSION_ITEM_INT. Detailed information is available at link.

Field Type Size Units

seq

UInt16

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

mission_type

UInt8

scalar

—

MISSION_REQUEST_LIST

Request a complete list of mission elements from the system/component.

Field Type Size Units

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

mission_type

UInt8

scalar

—

MISSION_REQUEST_PARTIAL_LIST

Request a partial list of mission elements from the system/component. Detailed information is available at link. If the start and end indexes match, only one waypoint is sent.

Field Type Size Units

start_index

Int16

scalar

—

end_index

Int16

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

mission_type

UInt8

scalar

—

MISSION_SET_CURRENT

Setting the mission element with the sequence number seq as the current one. This means that the MAV will continue moving towards this element of the mission along the shortest path (without following the intermediate elements of the mission).

Field Type Size Units

seq

UInt16

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

MISSION_WRITE_PARTIAL_LIST

A message is sent to MAV to record a partial list. If the start index == the end index, only one element is passed/updated. If the initial index is NOT equal to 0 and exceeds the current size of the list, the request must be rejected!

Field Type Size Units

start_index

Int16

scalar

—

end_index

Int16

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

mission_type

UInt8

scalar

—

MOUNT_ORIENTATION

The orientation of the attachment (suspension).

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

roll

Float64

scalar

deg

pitch

Float64

scalar

deg

yaw

Float64

scalar

deg

yaw_absolute

Float64

scalar

deg

NAMED_VALUE_FLOAT

Sending a pair «name—value» as a floating-point number. Using this message for regular packages is not recommended, but it is a fairly effective way to test new messages and get experimental debugging output.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

value

Vector{Float64}

vector

—

name

UInt8

vector of length 10

—

NAMED_VALUE_INT

Sending a pair «name—value» as an integer. Using this message for regular packages is not recommended, but it is a fairly effective way to test new messages and get experimental debugging output.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

value

Vector{Int32}

vector

—

name

UInt8

vector of length 10

—

The status of the navigation and position hold controller.

Field Type Size Units

nav_roll

Float64

scalar

deg

nav_pitch

Float64

scalar

deg

alt_error

Float64

scalar

m

aspd_error

Float64

scalar

m/s

xtrack_error

Float64

scalar

m

nav_bearing

Int16

scalar

deg

target_bearing

Int16

scalar

deg

wp_dist

UInt16

scalar

m

OBSTACLE_DISTANCE

The distances to the obstacles in front of the sensor, calculated from left to right in increments of increment degrees.

Field Type Size Units

time_usec

UInt64

scalar

us

distances

UInt16

vector of length 72

cm

min_distance

UInt16

scalar

cm

max_distance

UInt16

scalar

cm

sensor_type

Vector{UInt8}

vector

—

increment

UInt8

scalar

deg

increment_f

Float64

scalar

deg

angle_offset

Float64

scalar

deg

frame

UInt8

scalar

—

ODOMETRY

An odometry message for exchanging odometry information with an external interface. Complies with the ROS REP 147 standard for aircraft. Detailed information is available at http://www.ros.org/reps/rep-0147.html [link].

Field Type Size Units

time_usec

UInt64

scalar

us

x

Float64

scalar

m

y

Vector{Float64}

vector

m

z

Float64

scalar

m

q

Float64

vector of length 4

—

vx

Float64

scalar

m/s

vy

Float64

scalar

m/s

vz

Float64

scalar

m/s

rollspeed

Float64

scalar

rad/s

pitchspeed

Vector{Float64}

vector

rad/s

yawspeed

Vector{Float64}

vector

rad/s

pose_covariance

Float64

vector of length 21

—

velocity_covariance

Float64

vector of length 21

—

frame_id

UInt8

scalar

—

child_frame_id

UInt8

scalar

—

reset_counter

UInt8

scalar

—

estimator_type

UInt8

scalar

—

quality

Int8

scalar

%

OPEN_DRONE_ID_ARM_STATUS

A status from the transmitter telling the flight controller whether the Remote Identification system (Remote ID) is ready to be cocked.

Field Type Size Units

status

UInt8

scalar

—

error

Vector{UInt8}

vector of length 50

—

OPEN_DRONE_ID_AUTHENTICATION

Data for filling in the OpenDroneID Authentication message. The Authentication message defines a field that can serve as a means of verifying the authenticity of the UAS (Unmanned Aircraft System, UAS) identifier. The Authentication message can have two different formats. For data page 0, the fields PageCount, Length, and TimeStamp are present, while authData takes up only 17 bytes. For data pages 1 through 15, the PageCount, Length, and TimeStamp fields are missing, and the authData size is 23 bytes.

Field Type Size Units

timestamp

UInt32

scalar

s

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

id_or_mac

UInt8

vector of length 20

—

authentication_type

Vector{UInt8}

vector

—

data_page

UInt8

scalar

—

last_page_index

UInt8

scalar

—

length

UInt8

scalar

bytes

authentication_data

Vector{UInt8}

vector of length 23

—

OPEN_DRONE_ID_BASIC_ID

Data for filling in the OpenDroneID Basic ID message. This and the messages below are primarily intended to transfer data to/from the OpenDroneID implementation, for example opendroneid-core-c. These messages are compatible with the ASTM F3411 Remote ID standard and the ASD-STAN prEN 4709-002 Direct Remote ID standard. Additional information and rules for using these messages are described by link.

Field Type Size Units

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

id_or_mac

Vector{UInt8}

vector of length 20

—

id_type

UInt8

scalar

—

ua_type

UInt8

scalar

—

uas_id

Vector{UInt8}

vector of length 20

—

OPEN_DRONE_ID_LOCATION

Data for filling in the OpenDroneID Location message. The floating—point data types are 32-bit IEEE 754. The Location message contains the location, altitude, direction, and speed of the aircraft.

Field Type Size Units

latitude

Int32

scalar

degE7

longitude

Int32

scalar

degE7

altitude_barometric

Float64

scalar

m

altitude_geodetic

Float64

scalar

m

height

Float64

scalar

m

timestamp

Float64

scalar

s

direction

UInt16

scalar

cdeg

speed_horizontal

UInt16

scalar

cm/s

speed_vertical

Int16

scalar

cm/s

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

id_or_mac

UInt8

vector of length 20

—

status

UInt8

scalar

—

height_reference

Vector{UInt8}

vector

—

horizontal_accuracy

UInt8

scalar

—

vertical_accuracy

UInt8

scalar

—

barometer_accuracy

UInt8

scalar

—

speed_accuracy

UInt8

scalar

—

timestamp_accuracy

UInt8

scalar

—

OPEN_DRONE_ID_MESSAGE_PACK

An OpenDroneID message packet is a container for several encoded OpenDroneID messages (that is, not in the format of the above descriptions, but after encoding into the compressed OpenDroneID byte format). It is used, for example, when transmitting via Bluetooth 5.0 Long Range/Extended Advertising, WiFi Neighbor Aware Networking or WiFi Beacon.

Field Type Size Units

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

id_or_mac

Vector{UInt8}

vector of length 20

—

single_message_size

UInt8

scalar

bytes

msg_pack_size

UInt8

scalar

—

messages

Vector{UInt8}

vector of length 225

—

OPEN_DRONE_ID_OPERATOR_ID

Data for filling in the OpenDroneID Operator ID message, which contains the operator ID issued by the Civil Aviation Authority (CAA).

Field Type Size Units

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

id_or_mac

Vector{UInt8}

vector of length 20

—

operator_id_type

UInt8

scalar

—

operator_id

Vector{UInt8}

vector of length 20

—

OPEN_DRONE_ID_SELF_ID

Data for filling in the OpenDroneID Self ID message. The Self ID message gives the operator the opportunity (if desired) to declare his identity and the purpose of the flight. The message may contain additional information that can reduce the threat profile of an Unmanned Aircraft flying in a specific area or in a special way. It can also be used for optional additional explanation in an emergency or in case of a Remote ID system failure.

Field Type Size Units

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

id_or_mac

Vector{UInt8}

vector of length 20

—

description_type

UInt8

scalar

—

description

Vector{UInt8}

vector of length 23

—

OPEN_DRONE_ID_SYSTEM

Data for filling in the OpenDroneID System message. The System message contains general information about the system, including the operator’s location/altitude and possibly information about the device group and/or category/class.

Field Type Size Units

operator_latitude

Int32

scalar

degE7

operator_longitude

Int32

scalar

degE7

area_ceiling

Float64

scalar

m

area_floor

Vector{Float64}

vector

m

operator_altitude_geo

Float64

scalar

m

timestamp

UInt32

scalar

s

area_count

UInt16

scalar

—

area_radius

UInt16

scalar

m

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

id_or_mac

UInt8

vector of length 20

—

operator_location_type

UInt8

scalar

—

classification_type

UInt8

scalar

—

category_eu

UInt8

scalar

—

class_eu

UInt8

scalar

—

OPEN_DRONE_ID_SYSTEM_UPDATE

Updating the data in the message OPEN_DRONE_ID_SYSTEM new location information. It can be sent to update operator location information when no other information in the SYSTEM message has changed. The message ensures efficient operation over radio channels with limited upstream bandwidth, while meeting the requirements for the operator’s location update frequency.

Field Type Size Units

operator_latitude

Int32

scalar

degE7

operator_longitude

Int32

scalar

degE7

operator_altitude_geo

Float64

scalar

m

timestamp

UInt32

scalar

s

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

OPTICAL_FLOW

Optical flow from a flow sensor (for example, an optical mouse sensor).

Field Type Size Units

time_usec

UInt64

scalar

us

flow_comp_m_x

Float64

scalar

m/s

flow_comp_m_y

Float64

scalar

m/s

ground_distance

Float64

scalar

m

flow_x

Int16

scalar

rad/s

flow_y

Int16

scalar

rad/s

sensor_id

UInt8

scalar

—

quality

UInt8

scalar

—

flow_rate_x

Float64

scalar

rad/s

flow_rate_y

Float64

scalar

rad/s

OPTICAL_FLOW_RAD

Optical flow from an angular velocity sensor (for example, a PX4FLOW or mouse sensor).

Field Type Size Units

time_usec

UInt64

scalar

us

integration_time_us

UInt32

scalar

us

integrated_x

Float64

scalar

rad

integrated_y

Float64

scalar

rad

integrated_xgyro

Float64

scalar

rad

integrated_ygyro

Float64

scalar

rad

integrated_zgyro

Float64

scalar

rad

time_delta_distance_us

UInt32

scalar

us

distance

Float64

scalar

m

temperature

Int16

scalar

cdegC

sensor_id

UInt8

scalar

—

quality

UInt8

scalar

—

PARAM_EXT_ACK

Reply to the message PARAM_EXT_SET.

Field Type Size Units

param_id

Vector{UInt8}

vector of length 16

—

param_value

Vector{UInt8}

vector of length 128

—

param_type

UInt8

scalar

—

param_result

UInt8

scalar

—

PARAM_EXT_REQUEST_LIST

Request for all parameters of this component. In response, all parameters must be transmitted in the form of messages. PARAM_EXT_VALUE.

Field Type Size Units

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

PARAM_EXT_REQUEST_READ

Requesting the parameter value by the param_id string identifier or by the param_index index. A message should be sent in response. PARAM_EXT_VALUE.

Field Type Size Units

param_index

Vector{Int16}

vector

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

param_id

UInt8

vector of length 16

—

PARAM_EXT_SET

Setting the parameter value. To deal with message loss (and retransmission PARAM_EXT_SET), when setting the parameter value to the current value, the response is immediately returned PARAM_ACK_ACCEPTED. If the current state is — PARAM_ACK_IN_PROGRESS, the appropriate response will be received PARAM_ACK_IN_PROGRESS.

Field Type Size Units

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

param_id

Vector{UInt8}

vector of length 16

—

param_value

Vector{UInt8}

vector of length 128

—

param_type

UInt8

scalar

—

PARAM_EXT_VALUE

Transmitting the parameter value. By including the param_count and param_index fields in the message, the recipient can track the received parameters and re-request the missing ones after a loss or timeout.

Field Type Size Units

param_count

Vector{UInt16}

vector

—

param_index

UInt16

scalar

—

param_id

UInt8

vector of length 16

—

param_value

UInt8

vector of length 128

—

param_type

Vector{UInt8}

vector

—

PARAM_MAP_RC

Binding the RC channel to a parameter. The parameter must be changed according to the value of the RC channel.

Field Type Size Units

param_value0

Float64

scalar

—

scale

Float64

scalar

—

param_value_min

Vector{Float64}

vector

—

param_value_max

Float64

scalar

—

param_index

Int16

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

param_id

UInt8

vector of length 16

—

parameter_rc_channel_index

UInt8

scalar

—

PARAM_REQUEST_LIST

Request for all parameters of this component. After this request, all parameters are passed. The parameters microservice is described by link

Field Type Size Units

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

PARAM_REQUEST_READ

Request to read an on-board parameter by string identifier param_id. On-board parameters are stored as a pair key (char) → value (float). This allows you to send a parameter to any other component (for example, GCS) without first knowing the possible parameter names. Thus, the same GCS can store different parameters for different autopilots. For full documentation on the QGroundControl and IMU code, see link.

Field Type Size Units

param_index

Vector{Int16}

vector

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

param_id

UInt8

vector of length 16

—

PARAM_SET

Setting the parameter value (writing a new value to the permanent storage). The receiving component must confirm the new parameter value by sending a message. PARAM_VALUE (broadcasting ensures that multiple GCS will have an up-to-date list of all parameters). If the sending GCS has not received PARAM_VALUE During the waiting time, she should resend the message. PARAM_SET. The parameters microservice is described by link.

Field Type Size Units

param_value

Vector{Float64}

vector

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

param_id

UInt8

vector of length 16

—

param_type

UInt8

scalar

—

PARAM_VALUE

Transmitting the value of the on-board parameter. By including the param_count and param_index fields in the message, the recipient can track the received parameters and re-request the missing ones after a loss or timeout. The parameters microservice is described by link

Field Type Size Units

param_value

Float64

scalar

—

param_count

Vector{UInt16}

vector

—

param_index

UInt16

scalar

—

param_id

UInt8

vector of length 16

—

param_type

UInt8

scalar

—

PING

Message ping to request or respond to ping. It allows you to measure delays in the system, including serial port, radio modem and UDP connections. Microservice ping described by link

Field Type Size Units

time_usec

UInt64

scalar

us

seq

UInt32

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

PLAY_TUNE

Control of tone generation by the device (sound alarm).

Field Type Size Units

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

tune

Vector{UInt8}

vector of length 30

—

tune2

Vector{UInt8}

vector of length 200

—

POSITION_TARGET_GLOBAL_INT

Transmits the current position, speed, and acceleration of the vehicle set by the autopilot. They must match the commands sent to SET_POSITION_TARGET_GLOBAL_INT if the device is controlled in this way.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

lat_int

Int32

scalar

degE7

lon_int

Int32

scalar

degE7

alt

Float64

scalar

m

vx

Float64

scalar

m/s

vy

Float64

scalar

m/s

vz

Float64

scalar

m/s

afx

Float64

scalar

m/s/s

afy

Float64

scalar

m/s/s

afz

Float64

scalar

m/s/s

yaw

Float64

scalar

rad

yaw_rate

Float64

scalar

rad/s

type_mask

UInt16

scalar

—

coordinate_frame

UInt8

scalar

—

POSITION_TARGET_LOCAL_NED

Transmits the current position, speed, and acceleration of the vehicle set by the autopilot. They must match the commands sent to SET_POSITION_TARGET_LOCAL_NED if the device is controlled in this way.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

x

Float64

scalar

m

y

Float64

scalar

m

z

Float64

scalar

m

vx

Float64

scalar

m/s

vy

Float64

scalar

m/s

vz

Float64

scalar

m/s

afx

Float64

scalar

m/s/s

afy

Float64

scalar

m/s/s

afz

Float64

scalar

m/s/s

yaw

Float64

scalar

rad

yaw_rate

Float64

scalar

rad/s

type_mask

UInt16

scalar

—

coordinate_frame

UInt8

scalar

—

POWER_STATUS

The state of the power supply.

Field Type Size Units

Vcc

UInt16

scalar

mV

Vservo

UInt16

scalar

mV

flags

UInt16

scalar

—

RADIO_STATUS

The state generated by the radio module and entered into the MAVLink stream.

Field Type Size Units

rxerrors

UInt16

scalar

—

fixed

UInt16

scalar

—

rssi

UInt8

scalar

—

remrssi

UInt8

scalar

—

txbuf

UInt8

scalar

%

noise

UInt8

scalar

—

remnoise

UInt8

scalar

—

RAW_IMU

Raw IMU readings for the 9DOF sensor, which is determined by the field id (by default IMU1). The message should always contain true raw values without any scaling to ensure data collection and debugging of the system.

Field Type Size Units

time_usec

UInt64

scalar

us

xacc

Int16

scalar

—

yacc

Int16

scalar

—

zacc

Int16

scalar

—

xgyro

Int16

scalar

—

ygyro

Int16

scalar

—

zgyro

Int16

scalar

—

xmag

Int16

scalar

—

ymag

Int16

scalar

—

zmag

Int16

scalar

—

id

UInt8

scalar

—

temperature

Int16

scalar

cdegC

RAW_PRESSURE

Raw pressure readings for a typical configuration of one absolute pressure sensor and one differential pressure sensor. The sensor values must be raw, unscaled ADC values.

Field Type Size Units

time_usec

UInt64

scalar

us

press_abs

Int16

scalar

—

press_diff1

Int16

scalar

—

press_diff2

Int16

scalar

—

temperature

Int16

scalar

—

RAW_RPM

A message with data from the speed sensor.

Field Type Size Units

frequency

Float64

scalar

rpm

index

UInt8

scalar

—

RC_CHANNELS

The PPM values of the received RC channels. Standard PPM modulation: 1000 The ISS — 0 %, 2000 The ISS — 100 %. Value UINT16_MAX means that the channel is not in use. Individual receivers and transmitters may deviate from this specification.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

chan1_raw

UInt16

scalar

us

chan2_raw

UInt16

scalar

us

chan3_raw

UInt16

scalar

us

chan4_raw

UInt16

scalar

us

chan5_raw

UInt16

scalar

us

chan6_raw

UInt16

scalar

us

chan7_raw

UInt16

scalar

us

chan8_raw

UInt16

scalar

us

chan9_raw

UInt16

scalar

us

chan10_raw

UInt16

scalar

us

chan11_raw

UInt16

scalar

us

chan12_raw

UInt16

scalar

us

chan13_raw

UInt16

scalar

us

chan14_raw

UInt16

scalar

us

chan15_raw

UInt16

scalar

us

chan16_raw

UInt16

scalar

us

chan17_raw

UInt16

scalar

us

chan18_raw

UInt16

scalar

us

chancount

UInt8

scalar

—

rssi

UInt8

scalar

—

RC_CHANNELS_OVERRIDE

The raw values of the RC channels sent by the MAV to override the data received over the RC radio channel. Standard PPM modulation: 1000 The ISS — 0 %, 2000 The ISS — 100 %. Individual receivers and transmitters may deviate from this specification. Pay special attention to the semantic differences between the first 8 channels and the subsequent channels.

Field Type Size Units

chan1_raw

UInt16

scalar

us

chan2_raw

UInt16

scalar

us

chan3_raw

UInt16

scalar

us

chan4_raw

UInt16

scalar

us

chan5_raw

UInt16

scalar

us

chan6_raw

UInt16

scalar

us

chan7_raw

UInt16

scalar

us

chan8_raw

UInt16

scalar

us

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

chan9_raw

UInt16

scalar

us

chan10_raw

UInt16

scalar

us

chan11_raw

UInt16

scalar

us

chan12_raw

UInt16

scalar

us

chan13_raw

UInt16

scalar

us

chan14_raw

UInt16

scalar

us

chan15_raw

UInt16

scalar

us

chan16_raw

UInt16

scalar

us

chan17_raw

UInt16

scalar

us

chan18_raw

UInt16

scalar

us

RC_CHANNELS_RAW

The raw values of the received RC channels. Standard PPM modulation: 1000 The ISS — 0 %, 2000 The ISS — 100 %. Value UINT16_MAX means that the channel is not in use. Individual receivers and transmitters may deviate from this specification.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

chan1_raw

UInt16

scalar

us

chan2_raw

UInt16

scalar

us

chan3_raw

UInt16

scalar

us

chan4_raw

UInt16

scalar

us

chan5_raw

UInt16

scalar

us

chan6_raw

UInt16

scalar

us

chan7_raw

UInt16

scalar

us

chan8_raw

UInt16

scalar

us

port

UInt8

scalar

—

rssi

UInt8

scalar

—

RC_CHANNELS_SCALED

Scaled values of received RC channels: −100 % — 10000, 0 % — 0, 100 % — 10000. Inactive channels should take the value UINT16_MAX.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

chan1_scaled

Int16

scalar

—

chan2_scaled

Int16

scalar

—

chan3_scaled

Int16

scalar

—

chan4_scaled

Int16

scalar

—

chan5_scaled

Int16

scalar

—

chan6_scaled

Int16

scalar

—

chan7_scaled

Int16

scalar

—

chan8_scaled

Int16

scalar

—

port

UInt8

scalar

—

rssi

UInt8

scalar

—

RELAY_STATUS

Transmits the on/off status of relays controlled by the command MAV_CMD_DO_SET_RELAY.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

on

UInt16

scalar

—

present

UInt16

scalar

—

REQUEST_DATA_STREAM

Requesting a data stream.

Field Type Size Units

req_message_rate

UInt16

scalar

Hz

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

req_stream_id

UInt8

scalar

—

start_stop

UInt8

scalar

—

RESOURCE_REQUEST

Autopilot requests a resource (file, binary file, other type of data).

Field Type Size Units

request_id

UInt8

scalar

—

uri_type

UInt8

scalar

—

uri

Vector{UInt8}

vector of length 120

—

transfer_type

UInt8

scalar

—

storage

Vector{UInt8}

vector of length 120

—

SAFETY_ALLOWED_AREA

Reading the safe zone that MAV considers current.

Field Type Size Units

p1x

Float64

scalar

m

p1y

Float64

scalar

m

p1z

Float64

scalar

m

p2x

Float64

scalar

m

p2y

Float64

scalar

m

p2z

Float64

scalar

m

frame

UInt8

scalar

—

SAFETY_SET_ALLOWED_AREA

Setting the safe zone (volume) defined by the two corners of the cube. This message can be used to tell the MAV which setpoints/waypoints to accept and which to reject. Safe zones are often set by national or competitive rules.

Field Type Size Units

p1x

Float64

scalar

m

p1y

Float64

scalar

m

p1z

Float64

scalar

m

p2x

Float64

scalar

m

p2y

Float64

scalar

m

p2z

Float64

scalar

m

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

frame

UInt8

scalar

—

SCALED_IMU

Raw IMU readings for a typical 9DOF sensor configuration. The message must contain values scaled to the specified units.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

xacc

Int16

scalar

mG

yacc

Int16

scalar

mG

zacc

Int16

scalar

mG

xgyro

Int16

scalar

mrad/s

ygyro

Int16

scalar

mrad/s

zgyro

Int16

scalar

mrad/s

xmag

Int16

scalar

mgauss

ymag

Int16

scalar

mgauss

zmag

Int16

scalar

mgauss

temperature

Int16

scalar

cdegC

SCALED_IMU2

Raw IMU readings for the second 9DOF sensor configuration. The message must contain values scaled to the specified units.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

xacc

Int16

scalar

mG

yacc

Int16

scalar

mG

zacc

Int16

scalar

mG

xgyro

Int16

scalar

mrad/s

ygyro

Int16

scalar

mrad/s

zgyro

Int16

scalar

mrad/s

xmag

Int16

scalar

mgauss

ymag

Int16

scalar

mgauss

zmag

Int16

scalar

mgauss

temperature

Int16

scalar

cdegC

SCALED_IMU3

Raw IMU readings for the third 9DOF sensor configuration. The message must contain values scaled to the specified units.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

xacc

Int16

scalar

mG

yacc

Int16

scalar

mG

zacc

Int16

scalar

mG

xgyro

Int16

scalar

mrad/s

ygyro

Int16

scalar

mrad/s

zgyro

Int16

scalar

mrad/s

xmag

Int16

scalar

mgauss

ymag

Int16

scalar

mgauss

zmag

Int16

scalar

mgauss

temperature

Int16

scalar

cdegC

SCALED_PRESSURE

Pressure readings for a typical configuration of one absolute pressure sensor and one differential pressure sensor. The units of measurement are indicated in each field.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

press_abs

Float64

scalar

hPa

press_diff

Float64

scalar

hPa

temperature

Int16

scalar

cdegC

temperature_press_diff

Int16

scalar

cdegC

SCALED_PRESSURE2

The readings of the second barometer.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

press_abs

Float64

scalar

hPa

press_diff

Float64

scalar

hPa

temperature

Int16

scalar

cdegC

temperature_press_diff

Int16

scalar

cdegC

SCALED_PRESSURE3

Readings of the third barometer.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

press_abs

Float64

scalar

hPa

press_diff

Float64

scalar

hPa

temperature

Int16

scalar

cdegC

temperature_press_diff

Int16

scalar

cdegC

SERIAL_CONTROL

Serial port management. It can be used for direct access to an on-board serial peripheral device such as GPS or a telemetry radio module. It is designed so that you can update the device’s firmware using MAVLink messages or change device settings. A message with a zero number of bytes can only be used to change the data transfer rate.

Field Type Size Units

baudrate

UInt32

scalar

bits/s

timeout

UInt16

scalar

ms

device

UInt8

scalar

—

flags

UInt8

scalar

—

count

UInt8

scalar

bytes

data

Vector{UInt8}

vector of length 70

—

SERVO_OUTPUT_RAW

Replaced with a message ACTUATOR_OUTPUT_STATUS. Raw values of the servo outputs (for RC data from the remote control, use the messages RC_CHANNELS). Standard PPM modulation: 1000 The ISS — 0 %, 2000 The ISS — 100 %.

Field Type Size Units

time_usec

UInt32

scalar

us

servo1_raw

UInt16

scalar

us

servo2_raw

UInt16

scalar

us

servo3_raw

UInt16

scalar

us

servo4_raw

UInt16

scalar

us

servo5_raw

UInt16

scalar

us

servo6_raw

UInt16

scalar

us

servo7_raw

UInt16

scalar

us

servo8_raw

UInt16

scalar

us

port

UInt8

scalar

—

servo9_raw

UInt16

scalar

us

servo10_raw

UInt16

scalar

us

servo11_raw

UInt16

scalar

us

servo12_raw

UInt16

scalar

us

servo13_raw

UInt16

scalar

us

servo14_raw

UInt16

scalar

us

servo15_raw

UInt16

scalar

us

servo16_raw

UInt16

scalar

us

SETUP_SIGNING

Configuring the MAVLink2 signing key. If called with a secret_key of all zeros and zero initial_timestamp, the signature is disabled.

Field Type Size Units

initial_timestamp

Vector{UInt64}

vector

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

secret_key

UInt8

vector of length 32

—

SET_ACTUATOR_CONTROL_TARGET

Setting the orientation of the device and the angular velocities of the associated coordinate system.

Field Type Size Units

time_usec

UInt64

scalar

us

controls

Float64

vector of length 8

—

group_mlx

Vector{UInt8}

vector

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

SET_ATTITUDE_TARGET

Setting the desired orientation of the device. It is used by an external controller to control the device (a manual controller or other system).

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

q

Float64

vector of length 4

—

body_roll_rate

Float64

scalar

rad/s

body_pitch_rate

Float64

scalar

rad/s

body_yaw_rate

Float64

scalar

rad/s

thrust

Float64

scalar

—

target_system

Vector{UInt8}

vector

—

target_component

UInt8

scalar

—

type_mask

UInt8

scalar

—

SET_GPS_GLOBAL_ORIGIN

Setting the GPS coordinates of the local origin of the device (0,0,0). The device must transmit GPS_GLOBAL_ORIGIN regardless of whether the origin has changed. This provides a conversion between the local coordinate system and the global (GPS) coordinate system, which may be necessary, for example, when internal and external conditions are connected and the MAV needs to move from indoors to outdoors.

Field Type Size Units

latitude

Int32

scalar

degE7

longitude

Int32

scalar

degE7

altitude

Int32

scalar

mm

target_system

UInt8

scalar

—

time_usec

UInt64

scalar

us

SET_HOME_POSITION

The position to which the system will return and where it will land. The position is set automatically by the system during takeoff, unless the operator has explicitly set it before or after. The global and local positions encode the position in the corresponding coordinate systems, and the parameter q encodes the orientation of the surface. Under normal conditions, it describes the course and slope of the terrain, which the device can use to adjust the approach. The three-dimensional approach vector describes the point to which the system should fly in normal flight mode, and then perform a landing sequence along the vector.

Field Type Size Units

latitude

Int32

scalar

degE7

longitude

Int32

scalar

degE7

altitude

Int32

scalar

mm

x

Float64

scalar

m

y

Float64

scalar

m

z

Vector{Float64}

vector

m

q

Float64

vector of length 4

—

approach_x

Float64

scalar

m

approach_y

Float64

scalar

m

approach_z

Float64

scalar

m

target_system

UInt8

scalar

—

time_usec

UInt64

scalar

us

SET_MODE

Setting the system mode according to the enumeration MAV_MODE. There is no target component identifier, because the mode, by definition, refers to the entire device, not just one component.

Field Type Size Units

custom_mode

UInt32

scalar

—

target_system

UInt8

scalar

—

base_mode

UInt8

scalar

—

SET_POSITION_TARGET_GLOBAL_INT

Setting the required position, velocity, and/or acceleration of the vehicle in the global coordinate system (WGS84). It is used by an external controller to control the device (a manual controller or other system).

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

lat_int

Int32

scalar

degE7

lon_int

Int32

scalar

degE7

alt

Float64

scalar

m

vx

Float64

scalar

m/s

vy

Float64

scalar

m/s

vz

Float64

scalar

m/s

afx

Float64

scalar

m/s/s

afy

Float64

scalar

m/s/s

afz

Float64

scalar

m/s/s

yaw

Float64

scalar

rad

yaw_rate

Float64

scalar

rad/s

type_mask

UInt16

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

coordinate_frame

UInt8

scalar

—

SET_POSITION_TARGET_LOCAL_NED

Setting the required position of the device in the local coordinate system «North-east-down». It is used by an external controller to control the device (a manual controller or other system).

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

x

Float64

scalar

m

y

Float64

scalar

m

z

Float64

scalar

m

vx

Float64

scalar

m/s

vy

Float64

scalar

m/s

vz

Float64

scalar

m/s

afx

Float64

scalar

m/s/s

afy

Float64

scalar

m/s/s

afz

Float64

scalar

m/s/s

yaw

Float64

scalar

rad

yaw_rate

Float64

scalar

rad/s

type_mask

UInt16

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

coordinate_frame

UInt8

scalar

—

SIM_STATE

The state of the simulation environment, if it is in use.

Field Type Size Units

q1

Float64

scalar

—

q2

Float64

scalar

—

q3

Float64

scalar

—

q4

Float64

scalar

—

roll

Float64

scalar

—

pitch

Float64

scalar

—

yaw

Float64

scalar

—

xacc

Float64

scalar

m/s/s

yacc

Float64

scalar

m/s/s

zacc

Float64

scalar

m/s/s

xgyro

Float64

scalar

rad/s

ygyro

Float64

scalar

rad/s

zgyro

Float64

scalar

rad/s

lat

Float64

scalar

deg

lon

Float64

scalar

deg

alt

Float64

scalar

m

std_dev_horz

Float64

scalar

—

std_dev_vert

Float64

scalar

—

vn

Float64

scalar

m/s

ve

Float64

scalar

m/s

vd

Float64

scalar

m/s

lat_int

Int32

scalar

degE7

lon_int

Int32

scalar

degE7

SMART_BATTERY_INFO

Information about the smart battery (static or rarely updated). It is used for transfers from the smart battery to the flight stack and from the flight stack to the GCS. For frequent updates from a smart battery, use BATTERY_STATUS.

Field Type Size Units

capacity_full_specification

Int32

scalar

mAh

capacity_full

Int32

scalar

mAh

cycle_count

UInt16

scalar

—

weight

UInt16

scalar

g

discharge_minimum_voltage

UInt16

scalar

mV

charging_minimum_voltage

Vector{UInt16}

vector

mV

resting_minimum_voltage

Vector{UInt16}

vector

mV

id

UInt8

scalar

—

battery_function

UInt8

scalar

—

type

UInt8

scalar

—

serial_number

UInt8

vector of length 16

—

device_name

UInt8

vector of length 50

—

charging_maximum_voltage

UInt16

scalar

mV

cells_in_series

UInt8

scalar

—

discharge_maximum_current

UInt32

scalar

mA

discharge_maximum_burst_current

UInt32

scalar

mA

manufacture_date

Vector{UInt8}

vector of length 11

—

STATUSTEXT

A text message about the status. Such messages are displayed in yellow in the COMM QGroundControl console. ATTENTION: They take up a significant portion of the bandwidth, so use them only for important status and error messages. If implemented correctly, these messages are buffered on the MCU and transmitted with a limited frequency (for example, 10 Hz).

Field Type Size Units

severity

UInt8

scalar

—

text

Vector{UInt8}

vector of length 50

—

id

UInt16

scalar

—

chunk_seq

UInt8

scalar

—

STORAGE_INFORMATION

Information about the data carrier. A message is sent in response to a request from MAV_CMD_REQUEST_MESSAGE, as well as with each change in the state of the media (STORAGE_STATUS). Use MAV_CMD_REQUEST_MESSAGE with param2 to specify the index/identifier of the requested media: 0 — That’s it, 1 — the first one, 2 — the second one , etc .

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

total_capacity

Float64

scalar

MiB

used_capacity

Float64

scalar

MiB

available_capacity

Float64

scalar

MiB

read_speed

Float64

scalar

MiB/s

write_speed

Float64

scalar

MiB/s

storage_id

UInt8

scalar

—

storage_count

UInt8

scalar

—

status

UInt8

scalar

—

type

UInt8

scalar

—

name

Vector{UInt8}

vector of length 32

—

SYSTEM_TIME

The system time is the time of the master clock, usually the computer clock of the main on—board computer.

Field Type Size Units

time_unix_usec

UInt64

scalar

us

time_boot_ms

UInt32

scalar

ms

SYS_STATUS

The general condition of the system. If the system conforms to the MAVLink standard, the system state is mainly determined by three orthogonal states/modes. System mode: LOCKED (engines are turned off and locked), MANUAL (RC-controlled system), GUIDED (a system with autonomous position control, the position setting is set manually) or AUTO (the system is controlled by a route/waypoint planner). Navigation mode (NAV_MODE) determines the current flight status: LIFTOFF (often an open-loop maneuver), LANDING, WAYPOINTS or VECTOR. It represents an internal finite state navigation machine. The system status indicates whether the system is currently active and whether an emergency has occurred. In the states CRITICAL and EMERGENCY MAV It is still considered active, but must initiate emergency procedures on its own. After a failure occurs, it must first switch from an active state to a critical one in order to allow manual intervention, and then, after a certain waiting time, to an emergency state.

Field Type Size Units

onboard_control_sensors_present

UInt32

scalar

—

onboard_control_sensors_enabled

UInt32

scalar

—

onboard_control_sensors_health

UInt32

scalar

—

load

UInt16

scalar

d%

voltage_battery

UInt16

scalar

mV

current_battery

Int16

scalar

cA

drop_rate_comm

UInt16

scalar

c%

errors_comm

UInt16

scalar

—

errors_count1

UInt16

scalar

—

errors_count2

UInt16

scalar

—

errors_count3

UInt16

scalar

—

errors_count4

UInt16

scalar

—

battery_remaining

Int8

scalar

%

TERRAIN_CHECK

Request the device to report the height of the relief at a given point (expected response — TERRAIN_REPORT). The GCS is used to check whether the vehicle has all the terrain data needed for the mission.

Field Type Size Units

lat

Int32

scalar

degE7

lon

Int32

scalar

degE7

TERRAIN_DATA

Terrain data sent from GCS. Values lat/lon and grid_spacing must match the values lat/lon from TERRAIN_REQUEST. The documentation of the relief protocol is provided by link.

Field Type Size Units

lat

Int32

scalar

degE7

lon

Int32

scalar

degE7

grid_spacing

UInt16

scalar

m

data

Int16

vector of length 16

m

gridbit

Vector{UInt8}

vector

—

TERRAIN_REPORT

Transmitted from the UAV to report on the progress of loading the terrain map (running TERRAIN_REQUEST) or is sent in response to a request TERRAIN_CHECK. The documentation of the relief protocol is provided by link.

Field Type Size Units

lat

Int32

scalar

degE7

lon

Int32

scalar

degE7

terrain_height

Float64

scalar

m

current_height

Float64

scalar

m

spacing

UInt16

scalar

—

pending

UInt16

scalar

—

loaded

UInt16

scalar

—

TERRAIN_REQUEST

Request for terrain and terrain status data. The documentation of the relief protocol is provided by link.

Field Type Size Units

mask

UInt64

scalar

—

lat

Int32

scalar

degE7

lon

Int32

scalar

degE7

grid_spacing

UInt16

scalar

m

TIMESYNC

Time synchronization message.

Field Type Size Units

tc1

Int64

scalar

—

ts1

Int64

scalar

—

TRAJECTORY_REPRESENTATION_BEZIER

Trajectory description using an array up to 5 Bezier control points in the local coordinate system (MAV_FRAME_LOCAL_NED).

Field Type Size Units

time_usec

UInt64

scalar

us

pos_x

Vector{Float64}

vector of length 5

m

pos_y

Vector{Float64}

vector of length 5

m

pos_z

Vector{Float64}

vector of length 5

m

delta

Vector{Float64}

vector of length 5

s

pos_yaw

Float64

vector of length 5

rad

valid_points

Vector{UInt8}

vector

—

TRAJECTORY_REPRESENTATION_WAYPOINTS

Trajectory description using an array of up to 5 waypoints in the local coordinate system (MAV_FRAME_LOCAL_NED).

Field Type Size Units

time_usec

UInt64

scalar

us

pos_x

Vector{Float64}

vector of length 5

m

pos_y

Vector{Float64}

vector of length 5

m

pos_z

Vector{Float64}

vector of length 5

m

vel_x

Vector{Float64}

vector of length 5

m/s

vel_y

Vector{Float64}

vector of length 5

m/s

vel_z

Vector{Float64}

vector of length 5

m/s

acc_x

Vector{Float64}

vector of length 5

m/s/s

acc_y

Vector{Float64}

vector of length 5

m/s/s

acc_z

Vector{Float64}

vector of length 5

m/s/s

pos_yaw

Vector{Float64}

vector of length 5

rad

vel_yaw

Vector{Float64}

vector of length 5

rad/s

command

UInt16

vector of length 5

—

valid_points

Vector{UInt8}

vector

—

TUNNEL

Message to send «arbitrary» variable-length data from one component to another (broadcasting is not prohibited, but is not recommended). Data encoding is usually defined by the extension, that is, it is specified by the source, and is usually not documented as part of the MAVLink specification.

Field Type Size Units

payload_type

UInt16

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

payload_length

UInt8

scalar

—

payload

Vector{UInt8}

vector of length 128

—

UAVCAN_NODE_INFO

General information about a specific UAVCAN node. For more information, see the UAVCAN service definition. «uavcan.protocol.GetNodeInfo». The system must transmit this message every time a new node goes online or an existing node restarts. In addition, it can be transmitted on request from the other side of the MAVLink channel (see MAV_CMD_UAVCAN_GET_NODE_INFO). It is also not prohibited to transmit this message unconditionally with a low frequency. The UAVCAN specification is available at Cyphal.

Field Type Size Units

time_usec

UInt64

scalar

us

uptime_sec

UInt32

scalar

s

sw_vcs_commit

UInt32

scalar

—

name

UInt8

vector of length 80

—

hw_version_major

Vector{UInt8}

vector

—

hw_version_minor

UInt8

scalar

—

hw_unique_id

UInt8

vector of length 16

—

sw_version_major

Vector{UInt8}

vector

—

sw_version_minor

UInt8

scalar

—

UAVCAN_NODE_STATUS

General information about the status of the UAVCAN node. For more information, see the UAVCAN message definition. «uavcan.protocol.NodeStatus». The UAVCAN specification is available at Cyphal.

Field Type Size Units

time_usec

UInt64

scalar

us

uptime_sec

UInt32

scalar

s

vendor_specific_status_code

UInt16

scalar

—

health

UInt8

scalar

—

mode

UInt8

scalar

—

sub_mode

UInt8

scalar

—

UTM_GLOBAL_POSITION

The global position obtained by combining GPS and sensor data.

Field Type Size Units

time

UInt64

scalar

us

lat

Int32

scalar

degE7

lon

Int32

scalar

degE7

alt

Int32

scalar

mm

relative_alt

Int32

scalar

mm

next_lat

Int32

scalar

degE7

next_lon

Int32

scalar

degE7

next_alt

Int32

scalar

mm

vx

Int16

scalar

cm/s

vy

Int16

scalar

cm/s

vz

Int16

scalar

cm/s

h_acc

UInt16

scalar

mm

v_acc

UInt16

scalar

mm

vel_acc

UInt16

scalar

cm/s

update_rate

Vector{UInt16}

vector

cs

uas_id

UInt8

vector of length 18

—

flight_state

UInt8

scalar

—

flags

UInt8

scalar

—

V2_EXTENSION

A message implementing part of the payload specifications V2 in the frames V1 for transitional support.

Field Type Size Units

message_type

UInt16

scalar

—

target_network

UInt8

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

payload

Vector{UInt8}

vector of length 249

—

VFR_HUD

Metrics that are usually displayed on the HUD of the aircraft.

Field Type Size Units

airspeed

Float64

scalar

m/s

groundspeed

Float64

scalar

m/s

alt

Float64

scalar

m

climb

Float64

scalar

m/s

heading

Int16

scalar

deg

throttle

UInt16

scalar

%

VIBRATION

Vibration levels and saturation of the accelerometer.

Field Type Size Units

time_usec

UInt64

scalar

us

vibration_x

Float64

scalar

—

vibration_y

Float64

scalar

—

vibration_z

Float64

scalar

—

clipping_0

UInt32

scalar

—

clipping_1

UInt32

scalar

—

clipping_2

UInt32

scalar

—

VICON_POSITION_ESTIMATE

Global position estimation from the source of the Vicon motion capture system.

Field Type Size Units

usec

UInt64

scalar

us

x

Float64

scalar

m

y

Float64

scalar

m

z

Float64

scalar

m

roll

Float64

scalar

rad

pitch

Float64

scalar

rad

yaw

Float64

scalar

rad

covariance

Vector{Float64}

vector of length 21

—

VIDEO_STREAM_INFORMATION

Information about the video stream. Can be requested using MAV_CMD_REQUEST_MESSAGE, where param2 specifies the ID of the video stream: 0 — all streams, 1 — the first one, 2 — the second one , etc .

Field Type Size Units

framerate

Float64

scalar

Hz

bitrate

UInt32

scalar

bits/s

flags

UInt16

scalar

—

resolution_h

UInt16

scalar

pix

resolution_v

UInt16

scalar

pix

rotation

UInt16

scalar

deg

hfov

UInt16

scalar

deg

stream_id

UInt8

scalar

—

count

UInt8

scalar

—

type

UInt8

scalar

—

name

Vector{UInt8}

vector of length 32

—

uri

Vector{UInt8}

vector of length 160

—

encoding

UInt8

scalar

—

VIDEO_STREAM_STATUS

Information about the status of the video stream. Can be requested using MAV_CMD_REQUEST_MESSAGE.

Field Type Size Units

framerate

Float64

scalar

Hz

bitrate

UInt32

scalar

bits/s

flags

UInt16

scalar

—

resolution_h

UInt16

scalar

pix

resolution_v

UInt16

scalar

pix

rotation

UInt16

scalar

deg

hfov

UInt16

scalar

deg

stream_id

UInt8

scalar

—

VISION_POSITION_ESTIMATE

Assessment of the local position/orientation from a visual data source.

Field Type Size Units

usec

UInt64

scalar

us

x

Float64

scalar

m

y

Float64

scalar

m

z

Float64

scalar

m

roll

Float64

scalar

rad

pitch

Float64

scalar

rad

yaw

Float64

scalar

rad

covariance

Vector{Float64}

vector of length 21

—

reset_counter

UInt8

scalar

—

VISION_SPEED_ESTIMATE

Speed estimation from a visual data source.

Field Type Size Units

usec

UInt64

scalar

us

x

Float64

scalar

m/s

y

Float64

scalar

m/s

z

Float64

scalar

m/s

covariance

Vector{Float64}

vector of length 9

—

reset_counter

UInt8

scalar

—

WHEEL_DISTANCE

The total distance traveled by each of the wheels.

Field Type Size Units

time_usec

UInt64

scalar

us

distance

Float64

vector of length 16

m

count

Vector{UInt8}

vector

—

WIFI_CONFIG_AP

Configure the SSID, password, and WiFi hotspot mode. This message is retransmitted by the access point as a confirmation. The message can also be explicitly requested using MAV_CMD_REQUEST_MESSAGE.

Field Type Size Units

ssid

Vector{UInt8}

vector of length 32

—

password

Vector{UInt8}

vector of length 64

—

WINCH_STATUS

The condition of the winch.

Field Type Size Units

time_usec

UInt64

scalar

us

line_length

Float64

scalar

m

speed

Float64

scalar

m/s

tension

Float64

scalar

kg

voltage

Float64

scalar

V

current

Float64

scalar

A

status

UInt32

scalar

—

temperature

Int16

scalar

degC

WIND_COV

Estimation of wind covariance by the apparatus.

Field Type Size Units

time_usec

UInt64

scalar

us

wind_x

Float64

scalar

m/s

wind_y

Float64

scalar

m/s

wind_z

Float64

scalar

m/s

var_horiz

Float64

scalar

m/s

var_vert

Float64

scalar

m/s

wind_alt

Float64

scalar

m

horiz_accuracy

Float64

scalar

m

vert_accuracy

Float64

scalar

m

Dialect ardupilotmega

ADAP_TUNING

Information about configuring the adaptive controller.

Field Type Size Units

desired

Float64

scalar

deg/s

achieved

Float64

scalar

deg/s

error

Float64

scalar

—

theta

Float64

scalar

—

omega

Float64

scalar

—

sigma

Float64

scalar

—

theta_dot

Float64

scalar

—

omega_dot

Float64

scalar

—

sigma_dot

Float64

scalar

—

f

Float64

scalar

—

f_dot

Float64

scalar

—

u

Float64

scalar

—

axis

UInt8

scalar

—

AHRS

The status of the DCM orientation evaluator.

Field Type Size Units

omegaIx

Float64

scalar

rad/s

omegaIy

Float64

scalar

rad/s

omegaIz

Float64

scalar

rad/s

accel_weight

Float64

scalar

—

renorm_val

Float64

scalar

—

error_rp

Float64

scalar

—

error_yaw

Float64

scalar

—

AHRS2

The status of the AHRS secondary filter, if available.

Field Type Size Units

roll

Float64

scalar

rad

pitch

Float64

scalar

rad

yaw

Float64

scalar

rad

altitude

Float64

scalar

m

lat

Int32

scalar

degE7

lng

Int32

scalar

degE7

AHRS3

The status of the third AHRS filter, if available. It is intended for the ANU research group (Ali and Sean).

Field Type Size Units

roll

Float64

scalar

rad

pitch

Float64

scalar

rad

yaw

Float64

scalar

rad

altitude

Float64

scalar

m

lat

Int32

scalar

degE7

lng

Int32

scalar

degE7

v1

Float64

scalar

—

v2

Float64

scalar

—

v3

Float64

scalar

—

v4

Float64

scalar

—

Authorization package.

Field Type Size Units

login

Vector{UInt8}

vector of length 50

—

password

Vector{UInt8}

vector of length 50

—

The response to the authorization request.

Field Type Size Units

resp_type

UInt8

scalar

—

AIRSPEED_AUTOCAL

Automatic airspeed calibration.

Field Type Size Units

vx

Float64

scalar

m/s

vy

Float64

scalar

m/s

vz

Float64

scalar

m/s

diff_pressure

Float64

scalar

Pa

EAS2TAS

Float64

scalar

—

ratio

Float64

scalar

—

state_x

Float64

scalar

—

state_y

Float64

scalar

—

state_z

Float64

scalar

—

Pax

Float64

scalar

—

Pby

Float64

scalar

—

Pcz

Float64

scalar

—

AOA_SSA

Angle of attack and angle of slip.

Field Type Size Units

time_usec

UInt64

scalar

us

AOA

Float64

scalar

deg

SSA

Float64

scalar

deg

AP_ADC

The raw output of the ADC.

Field Type Size Units

adc1

UInt16

scalar

—

adc2

UInt16

scalar

—

adc3

UInt16

scalar

—

adc4

UInt16

scalar

—

adc5

UInt16

scalar

—

adc6

UInt16

scalar

—

AUTOPILOT_VERSION_REQUEST

Request the autopilot version from the system/component.

Field Type Size Units

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

BATTERY2

The status of the second battery.

Field Type Size Units

voltage

UInt16

scalar

mV

current_battery

Int16

scalar

cA

CAMERA_FEEDBACK

Confirmation of camera shooting.

Field Type Size Units

time_usec

UInt64

scalar

us

lat

Int32

scalar

degE7

lng

Int32

scalar

degE7

alt_msl

Float64

scalar

m

alt_rel

Float64

scalar

m

roll

Float64

scalar

deg

pitch

Float64

scalar

deg

yaw

Float64

scalar

deg

foc_len

Float64

scalar

mm

img_idx

UInt16

scalar

—

target_system

UInt8

scalar

—

cam_idx

UInt8

scalar

—

flags

UInt8

scalar

—

completed_captures

UInt16

scalar

—

CAMERA_STATUS

Camera event.

Field Type Size Units

time_usec

UInt64

scalar

us

p1

Float64

scalar

—

p2

Float64

scalar

—

p3

Float64

scalar

—

p4

Float64

scalar

—

img_idx

UInt16

scalar

—

target_system

UInt8

scalar

—

cam_idx

UInt8

scalar

—

event_id

UInt8

scalar

—

COMPASSMOT_STATUS

Calibration status compassmot.

Field Type Size Units

current

Float64

scalar

A

CompensationX

Float64

scalar

—

CompensationY

Float64

scalar

—

CompensationZ

Float64

scalar

—

throttle

UInt16

scalar

d%

interference

UInt16

scalar

%

CUBEPILOT_FIRMWARE_UPDATE_RESP

Delayed response for encapsulated data.

Field Type Size Units

offset

UInt32

scalar

bytes

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

CUBEPILOT_FIRMWARE_UPDATE_START

Launching a firmware update with encapsulated data.

Field Type Size Units

size

UInt32

scalar

bytes

crc

UInt32

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

CUBEPILOT_RAW_RC

Raw RC data.

Field Type Size Units

rc_raw

Vector{UInt8}

vector of length 32

—

DATA16

Data packet, size 16.

Field Type Size Units

type

UInt8

scalar

—

len

UInt8

scalar

bytes

data

Vector{UInt8}

vector of length 16

—

DATA32

Data packet, size 32.

Field Type Size Units

type

UInt8

scalar

—

len

UInt8

scalar

bytes

data

Vector{UInt8}

vector of length 32

—

DATA64

Data packet, size 64.

Field Type Size Units

type

UInt8

scalar

—

len

UInt8

scalar

bytes

data

Vector{UInt8}

vector of length 64

—

DATA96

Data packet, size 96.

Field Type Size Units

type

UInt8

scalar

—

len

UInt8

scalar

bytes

data

Vector{UInt8}

vector of length 96

—

DEEPSTALL

Planning the landing trajectory using the deepstall method.

Field Type Size Units

landing_lat

Int32

scalar

degE7

landing_lon

Int32

scalar

degE7

path_lat

Int32

scalar

degE7

path_lon

Int32

scalar

degE7

arc_entry_lat

Int32

scalar

degE7

arc_entry_lon

Int32

scalar

degE7

altitude

Float64

scalar

m

expected_travel_distance

Float64

scalar

m

cross_track_error

Float64

scalar

m

stage

UInt8

scalar

—

DEVICE_OP_READ

Reading device registers.

Field Type Size Units

request_id

UInt32

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

bustype

UInt8

scalar

—

bus

UInt8

scalar

—

address

UInt8

scalar

—

busname

Vector{UInt8}

vector of length 40

—

regstart

UInt8

scalar

—

count

UInt8

scalar

—

bank

UInt8

scalar

—

DEVICE_OP_READ_REPLY

A response with register data.

Field Type Size Units

request_id

UInt32

scalar

—

result

UInt8

scalar

—

regstart

UInt8

scalar

—

count

UInt8

scalar

—

data

Vector{UInt8}

vector of length 128

—

bank

UInt8

scalar

—

DEVICE_OP_WRITE

Writing device registers.

Field Type Size Units

request_id

UInt32

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

bustype

UInt8

scalar

—

bus

UInt8

scalar

—

address

UInt8

scalar

—

busname

Vector{UInt8}

vector of length 40

—

regstart

UInt8

scalar

—

count

UInt8

scalar

—

data

Vector{UInt8}

vector of length 128

—

bank

UInt8

scalar

—

DEVICE_OP_WRITE_REPLY

The response to the register entry.

Field Type Size Units

request_id

UInt32

scalar

—

result

UInt8

scalar

—

DIGICAM_CONFIGURE

Setting up the on-board camera control system.

Field Type Size Units

extra_value

Float64

scalar

—

shutter_speed

UInt16

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

mode

UInt8

scalar

—

aperture

UInt8

scalar

—

iso

UInt8

scalar

—

exposure_type

UInt8

scalar

—

command_id

UInt8

scalar

—

engine_cut_off

UInt8

scalar

ds

extra_param

UInt8

scalar

—

DIGICAM_CONTROL

Control of the on-board camera system for taking pictures.

Field Type Size Units

extra_value

Float64

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

session

UInt8

scalar

—

zoom_pos

UInt8

scalar

—

zoom_step

Int8

scalar

—

focus_lock

UInt8

scalar

—

shot

UInt8

scalar

—

command_id

UInt8

scalar

—

extra_param

UInt8

scalar

—

EKF_STATUS_REPORT

An EKF status message, including flags and variances.

Field Type Size Units

velocity_variance

Float64

scalar

—

pos_horiz_variance

Float64

scalar

—

pos_vert_variance

Float64

scalar

—

compass_variance

Float64

scalar

—

terrain_alt_variance

Float64

scalar

—

flags

UInt16

scalar

—

airspeed_variance

Float64

scalar

—

ESC_TELEMETRY_13_TO_16

The telemetry data of the speed regulators (ESC) from 13 to 16, corresponding to the data transmitted by the BLHeli regulators.

Field Type Size Units

voltage

Vector{UInt16}

vector of length 4

cV

current

Vector{UInt16}

vector of length 4

cA

totalcurrent

Vector{UInt16}

vector of length 4

mAh

rpm

Vector{UInt16}

vector of length 4

rpm

count

Vector{UInt16}

vector of length 4

—

temperature

Vector{UInt8}

vector of length 4

degC

ESC_TELEMETRY_17_TO_20

The telemetry data of the speed regulators (ESC) from 17 to 20, corresponding to the data transmitted by the BLHeli regulators.

Field Type Size Units

voltage

Vector{UInt16}

vector of length 4

cV

current

Vector{UInt16}

vector of length 4

cA

totalcurrent

Vector{UInt16}

vector of length 4

mAh

rpm

Vector{UInt16}

vector of length 4

rpm

count

Vector{UInt16}

vector of length 4

—

temperature

Vector{UInt8}

vector of length 4

degC

ESC_TELEMETRY_1_TO_4

The telemetry data of the speed regulators (ESC) from 1 to 4, corresponding to the data transmitted by the BLHeli regulators.

Field Type Size Units

voltage

Vector{UInt16}

vector of length 4

cV

current

Vector{UInt16}

vector of length 4

cA

totalcurrent

Vector{UInt16}

vector of length 4

mAh

rpm

Vector{UInt16}

vector of length 4

rpm

count

Vector{UInt16}

vector of length 4

—

temperature

Vector{UInt8}

vector of length 4

degC

ESC_TELEMETRY_21_TO_24

The telemetry data of the speed regulators (ESC) from 21 to 24, corresponding to the data transmitted by the BLHeli regulators.

Field Type Size Units

voltage

Vector{UInt16}

vector of length 4

cV

current

Vector{UInt16}

vector of length 4

cA

totalcurrent

Vector{UInt16}

vector of length 4

mAh

rpm

Vector{UInt16}

vector of length 4

rpm

count

Vector{UInt16}

vector of length 4

—

temperature

Vector{UInt8}

vector of length 4

degC

ESC_TELEMETRY_25_TO_28

The telemetry data of the speed regulators (ESC) from 25 to 28, corresponding to the data transmitted by the BLHeli regulators.

Field Type Size Units

voltage

Vector{UInt16}

vector of length 4

cV

current

Vector{UInt16}

vector of length 4

cA

totalcurrent

Vector{UInt16}

vector of length 4

mAh

rpm

Vector{UInt16}

vector of length 4

rpm

count

Vector{UInt16}

vector of length 4

—

temperature

Vector{UInt8}

vector of length 4

degC

ESC_TELEMETRY_29_TO_32

The telemetry data of the speed regulators (ESC) from 29 to 32, corresponding to the data transmitted by the BLHeli regulators.

Field Type Size Units

voltage

Vector{UInt16}

vector of length 4

cV

current

Vector{UInt16}

vector of length 4

cA

totalcurrent

Vector{UInt16}

vector of length 4

mAh

rpm

Vector{UInt16}

vector of length 4

rpm

count

Vector{UInt16}

vector of length 4

—

temperature

Vector{UInt8}

vector of length 4

degC

ESC_TELEMETRY_5_TO_8

The telemetry data of the speed regulators (ESC) from 5 to 8, corresponding to the data transmitted by the BLHeli regulators.

Field Type Size Units

voltage

Vector{UInt16}

vector of length 4

cV

current

Vector{UInt16}

vector of length 4

cA

totalcurrent

Vector{UInt16}

vector of length 4

mAh

rpm

Vector{UInt16}

vector of length 4

rpm

count

Vector{UInt16}

vector of length 4

—

temperature

Vector{UInt8}

vector of length 4

degC

ESC_TELEMETRY_9_TO_12

The telemetry data of the speed regulators (ESC) from 9 to 12, corresponding to the data transmitted by the BLHeli regulators.

Field Type Size Units

voltage

Vector{UInt16}

vector of length 4

cV

current

Vector{UInt16}

vector of length 4

cA

totalcurrent

Vector{UInt16}

vector of length 4

mAh

rpm

Vector{UInt16}

vector of length 4

rpm

count

Vector{UInt16}

vector of length 4

—

temperature

Vector{UInt8}

vector of length 4

degC

FENCE_FETCH_POINT

Request the current geofence point from MAV.

Field Type Size Units

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

idx

UInt8

scalar

—

FENCE_POINT

A geofence point. It is used to set a point when transferring from GCS → MAV, as well as to return a point from MAV → GCS.

Field Type Size Units

lat

Float64

scalar

deg

lng

Float64

scalar

deg

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

idx

UInt8

scalar

—

count

UInt8

scalar

—

GIMBAL_CONTROL

A control message for a speed-controlled suspension.

Field Type Size Units

demanded_rate_x

Float64

scalar

rad/s

demanded_rate_y

Float64

scalar

rad/s

demanded_rate_z

Float64

scalar

rad/s

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

GIMBAL_REPORT

Measurements of the three-axis suspension.

Field Type Size Units

delta_time

Float64

scalar

s

delta_angle_x

Float64

scalar

rad

delta_angle_y

Float64

scalar

rad

delta_angle_z

Float64

scalar

rad

delta_velocity_x

Float64

scalar

m/s

delta_velocity_y

Float64

scalar

m/s

delta_velocity_z

Float64

scalar

m/s

joint_roll

Float64

scalar

rad

joint_el

Float64

scalar

rad

joint_az

Float64

scalar

rad

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

GIMBAL_TORQUE_CMD_REPORT

Telemetry of suspension torque commands at frequency 100 Hz.

Field Type Size Units

rl_torque_cmd

Int16

scalar

—

el_torque_cmd

Int16

scalar

—

az_torque_cmd

Int16

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

GOPRO_GET_REQUEST

Response Request GOPRO_COMMAND the GoPro camera.

Field Type Size Units

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

cmd_id

UInt8

scalar

—

GOPRO_GET_RESPONSE

Response to the request GOPRO_COMMAND get.

Field Type Size Units

cmd_id

UInt8

scalar

—

status

UInt8

scalar

—

value

Vector{UInt8}

vector of length 4

—

GOPRO_HEARTBEAT

Heartbeat from a GoPro camera connected via a bus HeroBus.

Field Type Size Units

status

UInt8

scalar

—

capture_mode

UInt8

scalar

—

flags

UInt8

scalar

—

GOPRO_SET_REQUEST

Installation Request GOPRO_COMMAND with the required value.

Field Type Size Units

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

cmd_id

UInt8

scalar

—

value

Vector{UInt8}

vector of length 4

—

GOPRO_SET_RESPONSE

Response to the installation request GOPRO_COMMAND.

Field Type Size Units

cmd_id

UInt8

scalar

—

status

UInt8

scalar

—

Herelink telemetry.

Field Type Size Units

rf_freq

UInt32

scalar

—

link_bw

UInt32

scalar

—

link_rate

UInt32

scalar

—

snr

Int16

scalar

—

cpu_temp

Int16

scalar

—

board_temp

Int16

scalar

—

rssi

UInt8

scalar

—

Information about the video stream.

Field Type Size Units

framerate

Float64

scalar

Hz

bitrate

UInt32

scalar

bits/s

resolution_h

UInt16

scalar

pix

resolution_v

UInt16

scalar

pix

rotation

UInt16

scalar

deg

camera_id

UInt8

scalar

—

status

UInt8

scalar

—

uri

Vector{UInt8}

vector of length 230

—

HWSTATUS

The status of key hardware components.

Field Type Size Units

Vcc

UInt16

scalar

mV

I2Cerr

UInt8

scalar

—

ICAROUS_HEARTBEAT

Heartbeat ICAROUS.

Field Type Size Units

status

UInt8

scalar

—

ICAROUS_KINEMATIC_BANDS

The output of kinematic ranges (according to the course) from Daidalus.

Field Type Size Units

min1

Float64

scalar

deg

max1

Float64

scalar

deg

min2

Float64

scalar

deg

max2

Float64

scalar

deg

min3

Float64

scalar

deg

max3

Float64

scalar

deg

min4

Float64

scalar

deg

max4

Float64

scalar

deg

min5

Float64

scalar

deg

max5

Float64

scalar

deg

numBands

Int8

scalar

—

type1

UInt8

scalar

—

type2

UInt8

scalar

—

type3

UInt8

scalar

—

type4

UInt8

scalar

—

type5

UInt8

scalar

—

LED_CONTROL

Control of the device’s LEDs.

Field Type Size Units

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

instance

UInt8

scalar

—

pattern

UInt8

scalar

—

custom_len

UInt8

scalar

—

custom_bytes

Vector{UInt8}

vector of length 24

—

LIMITS_STATUS

Condition AP_Limits. It is sent in the extended status stream when AP_Limits enabled.

Field Type Size Units

last_trigger

UInt32

scalar

ms

last_action

UInt32

scalar

ms

last_recovery

UInt32

scalar

ms

last_clear

UInt32

scalar

ms

breach_count

UInt16

scalar

—

limits_state

UInt8

scalar

—

mods_enabled

UInt8

scalar

—

mods_required

UInt8

scalar

—

mods_triggered

UInt8

scalar

—

LOWEHEISER_GOV_EFI

Composite EFI and regulator data from Loweheiser equipment. The message is generated by the EFI unit based on its own data and data received from the controller connected to this EFI unit.

Field Type Size Units

volt_batt

Float64

scalar

V

curr_batt

Float64

scalar

A

curr_gen

Float64

scalar

A

curr_rot

Float64

scalar

A

fuel_level

Float64

scalar

l

throttle

Float64

scalar

%

runtime

UInt32

scalar

s

until_maintenance

Int32

scalar

s

rectifier_temp

Float64

scalar

degC

generator_temp

Float64

scalar

degC

efi_batt

Float64

scalar

V

efi_rpm

Float64

scalar

rpm

efi_pw

Float64

scalar

ms

efi_fuel_flow

Float64

scalar

—

efi_fuel_consumed

Float64

scalar

l

efi_baro

Float64

scalar

kPa

efi_mat

Float64

scalar

degC

efi_clt

Float64

scalar

degC

efi_tps

Float64

scalar

%

efi_exhaust_gas_temperature

Float64

scalar

degC

generator_status

UInt16

scalar

—

efi_status

UInt16

scalar

—

efi_index

UInt8

scalar

—

MAG_CAL_PROGRESS

Report on the progress of compass calibration.

Field Type Size Units

direction_x

Float64

scalar

—

direction_y

Float64

scalar

—

direction_z

Vector{Float64}

vector

—

compass_id

UInt8

scalar

—

cal_mask

UInt8

scalar

—

cal_status

UInt8

scalar

—

attempt

UInt8

scalar

—

completion_pct

UInt8

scalar

%

completion_mask

UInt8

vector of length 10

—

MCU_STATUS

MCU status: temperature and voltage. The minimum and maximum voltages allow you to detect power instability.

Field Type Size Units

MCU_temperature

Int16

scalar

cdegC

MCU_voltage

UInt16

scalar

mV

MCU_voltage_min

UInt16

scalar

mV

MCU_voltage_max

UInt16

scalar

mV

id

UInt8

scalar

—

MEMINFO

Autopilot RAM status.

Field Type Size Units

brkval

UInt16

scalar

—

freemem

UInt16

scalar

bytes

freemem32

UInt32

scalar

bytes

MOUNT_CONFIGURE

A message for setting up the camera mount, directional antenna, etc.

Field Type Size Units

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

mount_mode

UInt8

scalar

—

stab_roll

UInt8

scalar

—

stab_pitch

UInt8

scalar

—

stab_yaw

UInt8

scalar

—

MOUNT_CONTROL

A message for controlling the camera mount, directional antenna, etc.

Field Type Size Units

input_a

Int32

scalar

—

input_b

Int32

scalar

—

input_c

Int32

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

save_position

UInt8

scalar

—

MOUNT_STATUS

A message from the autopilot to the GCS with information about the status of the camera or antenna mount.

Field Type Size Units

pointing_a

Int32

scalar

cdeg

pointing_b

Int32

scalar

cdeg

pointing_c

Int32

scalar

cdeg

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

mount_mode

UInt8

scalar

—

OBSTACLE_DISTANCE_3D

An obstacle defined as a three-dimensional vector.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

x

Float64

scalar

m

y

Float64

scalar

m

z

Float64

scalar

m

min_distance

Float64

scalar

m

max_distance

Float64

scalar

m

obstacle_id

UInt16

scalar

—

sensor_type

UInt8

scalar

—

frame

UInt8

scalar

—

OSD_PARAM_CONFIG

Setting the OSD parameter slot.

Field Type Size Units

request_id

UInt32

scalar

—

min_value

Float64

scalar

—

max_value

Vector{Float64}

vector

—

increment

Float64

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

osd_screen

UInt8

scalar

—

osd_index

UInt8

scalar

—

param_id

UInt8

vector of length 16

—

config_type

UInt8

scalar

—

OSD_PARAM_CONFIG_REPLY

The response to the OSD parameter setting.

Field Type Size Units

request_id

UInt32

scalar

—

result

UInt8

scalar

—

OSD_PARAM_SHOW_CONFIG

Reading the configured OSD parameter slot.

Field Type Size Units

request_id

UInt32

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

osd_screen

UInt8

scalar

—

osd_index

UInt8

scalar

—

OSD_PARAM_SHOW_CONFIG_REPLY

The response with the OSD parameter settings.

Field Type Size Units

request_id

UInt32

scalar

—

min_value

Float64

scalar

—

max_value

Vector{Float64}

vector

—

increment

Float64

scalar

—

result

UInt8

scalar

—

param_id

UInt8

vector of length 16

—

config_type

UInt8

scalar

—

PID_TUNING

Information about setting up the PID controller.

Field Type Size Units

desired

Float64

scalar

—

achieved

Float64

scalar

—

FF

Float64

scalar

—

P

Float64

scalar

—

I

Float64

scalar

—

D

Float64

scalar

—

axis

UInt8

scalar

—

SRate

Float64

scalar

—

PDmod

Float64

scalar

—

RADIO

The state generated by the radio module.

Field Type Size Units

rxerrors

UInt16

scalar

—

fixed

UInt16

scalar

—

rssi

UInt8

scalar

—

remrssi

UInt8

scalar

—

txbuf

UInt8

scalar

%

noise

UInt8

scalar

—

remnoise

UInt8

scalar

—

RALLY_FETCH_POINT

Request the current rally point from MAV. The MAV should respond with a message RALLY_POINT. MAV should not respond if the request is incorrect.

Field Type Size Units

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

idx

UInt8

scalar

—

RALLY_POINT

Rally point. It is used to set a point when transferring from GCS → MAV, as well as to return a point from MAV → GCS.

Field Type Size Units

lat

Int32

scalar

degE7

lng

Int32

scalar

degE7

alt

Int16

scalar

m

break_alt

Int16

scalar

m

land_dir

UInt16

scalar

cdeg

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

idx

UInt8

scalar

—

count

UInt8

scalar

—

flags

UInt8

scalar

—

RANGEFINDER

The rangefinder report.

Field Type Size Units

distance

Float64

scalar

m

voltage

Float64

scalar

V

REMOTE_LOG_BLOCK_STATUS

Sending the status of each log block that the autopilot board could transmit.

Field Type Size Units

seqno

UInt32

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

status

UInt8

scalar

—

REMOTE_LOG_DATA_BLOCK

Sending a block of log data to a remote location.

Field Type Size Units

seqno

UInt32

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

data

Vector{UInt8}

vector of length 200

—

RPM

The output of the rotation speed sensor.

Field Type Size Units

rpm1

Float64

scalar

—

rpm2

Float64

scalar

—

SECURE_COMMAND

Sending a secure command. The data must be signed with a private key corresponding to the public key known to the recipient. The signature must be calculated to concatenate the sequence number (in little-endian format), operation (in little-endian format), data, and session key. For SECURE_COMMAND_GET_SESSION_KEY The session key must have a length of zero. The data array consists of data followed by a signature. The amount data_length and sig_length may not exceed 220. The data format depends on the command.

Field Type Size Units

sequence

UInt32

scalar

—

operation

UInt32

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

data_length

UInt8

scalar

—

sig_length

UInt8

scalar

—

data

Vector{UInt8}

vector of length 220

—

SECURE_COMMAND_REPLY

Response to a secure command.

Field Type Size Units

sequence

UInt32

scalar

—

operation

UInt32

scalar

—

result

UInt8

scalar

—

data_length

UInt8

scalar

—

data

Vector{UInt8}

vector of length 220

—

SENSOR_OFFSETS

Offsets and calibration values of hardware sensors. This makes it easier to debug the calibration process.

Field Type Size Units

mag_declination

Float64

scalar

rad

raw_press

Int32

scalar

—

raw_temp

Int32

scalar

—

gyro_cal_x

Float64

scalar

—

gyro_cal_y

Float64

scalar

—

gyro_cal_z

Float64

scalar

—

accel_cal_x

Float64

scalar

—

accel_cal_y

Float64

scalar

—

accel_cal_z

Float64

scalar

—

mag_ofs_x

Int16

scalar

—

mag_ofs_y

Int16

scalar

—

mag_ofs_z

Int16

scalar

—

SET_MAG_OFFSETS

Setting the magnetometer offsets.

Field Type Size Units

mag_ofs_x

Int16

scalar

—

mag_ofs_y

Int16

scalar

—

mag_ofs_z

Int16

scalar

—

target_system

UInt8

scalar

—

target_component

UInt8

scalar

—

SIMSTATE

The state of the simulation environment, if it is in use.

Field Type Size Units

roll

Float64

scalar

rad

pitch

Float64

scalar

rad

yaw

Float64

scalar

rad

xacc

Float64

scalar

m/s/s

yacc

Float64

scalar

m/s/s

zacc

Float64

scalar

m/s/s

xgyro

Float64

scalar

rad/s

ygyro

Float64

scalar

rad/s

zgyro

Float64

scalar

rad/s

lat

Int32

scalar

degE7

lng

Int32

scalar

degE7

UAVIONIX_ADSB_GET

Request for messages.

Field Type Size Units

ReqMessageId

UInt32

scalar

—

UAVIONIX_ADSB_OUT_CFG

Static data for setting up the ADS-B transponder (transmitted during 10 with after POR and then every 10 c).

Field Type Size Units

ICAO

UInt32

scalar

—

stallSpeed

UInt16

scalar

cm/s

callsign

UInt8

vector of length 9

—

emitterType

Vector{UInt8}

vector

—

aircraftSize

UInt8

scalar

—

gpsOffsetLat

UInt8

scalar

—

gpsOffsetLon

UInt8

scalar

—

rfSelect

UInt8

scalar

—

UAVIONIX_ADSB_OUT_CFG_FLIGHTID

Flight identification for vehicles with ADS-B-Out.

Field Type Size Units

flight_id

Vector{UInt8}

vector of length 9

—

UAVIONIX_ADSB_OUT_CFG_REGISTRATION

The registration number of the device.

Field Type Size Units

registration

Vector{UInt8}

vector of length 9

—

UAVIONIX_ADSB_OUT_CONTROL

A control message with all the data transmitted in the UCP control message.

Field Type Size Units

baroAltMSL

Int32

scalar

mbar

squawk

UInt16

scalar

—

state

UInt8

scalar

—

emergencyStatus

UInt8

scalar

—

flight_id

Vector{UInt8}

vector of length 8

—

x_bit

UInt8

scalar

—

UAVIONIX_ADSB_OUT_DYNAMIC

Dynamic data used to generate ADS-B-Out transponder data (transmitted with frequency 5 Hz).

Field Type Size Units

utcTime

UInt32

scalar

s

gpsLat

Int32

scalar

degE7

gpsLon

Int32

scalar

degE7

gpsAlt

Int32

scalar

mm

baroAltMSL

Int32

scalar

mbar

accuracyHor

UInt32

scalar

mm

accuracyVert

UInt16

scalar

cm

accuracyVel

UInt16

scalar

mm/s

velVert

Int16

scalar

cm/s

velNS

Int16

scalar

cm/s

VelEW

Int16

scalar

cm/s

state

UInt16

scalar

—

squawk

UInt16

scalar

—

gpsFix

UInt8

scalar

—

numSats

UInt8

scalar

—

emergencyStatus

UInt8

scalar

—

UAVIONIX_ADSB_OUT_STATUS

Status message with information from messages Heartbeat and Status UCP.

Field Type Size Units

squawk

UInt16

scalar

—

state

UInt8

scalar

—

NIC_NACp

UInt8

scalar

—

boardTemp

UInt8

scalar

—

fault

UInt8

scalar

—

flight_id

Vector{UInt8}

vector of length 8

—

UAVIONIX_ADSB_TRANSCEIVER_HEALTH_REPORT

Heartbeat a transceiver with a health report (updated every 10 c).

Field Type Size Units

rfHealth

UInt8

scalar

—

VISION_POSITION_DELTA

Orientation and position increments based on the camera’s visual data.

Field Type Size Units

time_usec

UInt64

scalar

us

time_delta_usec

UInt64

scalar

us

angle_delta

Vector{Float64}

vector of length 3

rad

position_delta

Vector{Float64}

vector of length 3

m

confidence

Float64

scalar

%

WATER_DEPTH

The depth of the water.

Field Type Size Units

time_boot_ms

UInt32

scalar

ms

lat

Int32

scalar

degE7

lng

Int32

scalar

degE7

alt

Float64

scalar

m

roll

Float64

scalar

rad

pitch

Float64

scalar

rad

yaw

Float64

scalar

rad

distance

Float64

scalar

m

temperature

Float64

scalar

degC

id

UInt8

scalar

—

healthy

UInt8

scalar

—

WIND

Wind assessment.

Field Type Size Units

direction

Float64

scalar

deg

speed

Float64

scalar

m/s

speed_z

Float64

scalar

m/s