MavMessage

Enum MavMessage 

Source
#[repr(u32)]
pub enum MavMessage {
Show 233 variants ACTUATOR_CONTROL_TARGET(ACTUATOR_CONTROL_TARGET_DATA), ACTUATOR_OUTPUT_STATUS(ACTUATOR_OUTPUT_STATUS_DATA), ADSB_VEHICLE(ADSB_VEHICLE_DATA), AIS_VESSEL(AIS_VESSEL_DATA), ALTITUDE(ALTITUDE_DATA), ATTITUDE(ATTITUDE_DATA), ATTITUDE_QUATERNION(ATTITUDE_QUATERNION_DATA), ATTITUDE_QUATERNION_COV(ATTITUDE_QUATERNION_COV_DATA), ATTITUDE_TARGET(ATTITUDE_TARGET_DATA), ATT_POS_MOCAP(ATT_POS_MOCAP_DATA), AUTH_KEY(AUTH_KEY_DATA), AUTOPILOT_STATE_FOR_GIMBAL_DEVICE(AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA), AUTOPILOT_VERSION(AUTOPILOT_VERSION_DATA), AVAILABLE_MODES(AVAILABLE_MODES_DATA), AVAILABLE_MODES_MONITOR(AVAILABLE_MODES_MONITOR_DATA), AVSS_DRONE_IMU(AVSS_DRONE_IMU_DATA), AVSS_DRONE_OPERATION_MODE(AVSS_DRONE_OPERATION_MODE_DATA), AVSS_DRONE_POSITION(AVSS_DRONE_POSITION_DATA), AVSS_PRS_SYS_STATUS(AVSS_PRS_SYS_STATUS_DATA), BATTERY_INFO(BATTERY_INFO_DATA), BATTERY_STATUS(BATTERY_STATUS_DATA), BUTTON_CHANGE(BUTTON_CHANGE_DATA), CAMERA_CAPTURE_STATUS(CAMERA_CAPTURE_STATUS_DATA), CAMERA_FOV_STATUS(CAMERA_FOV_STATUS_DATA), CAMERA_IMAGE_CAPTURED(CAMERA_IMAGE_CAPTURED_DATA), CAMERA_INFORMATION(CAMERA_INFORMATION_DATA), CAMERA_SETTINGS(CAMERA_SETTINGS_DATA), CAMERA_THERMAL_RANGE(CAMERA_THERMAL_RANGE_DATA), CAMERA_TRACKING_GEO_STATUS(CAMERA_TRACKING_GEO_STATUS_DATA), CAMERA_TRACKING_IMAGE_STATUS(CAMERA_TRACKING_IMAGE_STATUS_DATA), CAMERA_TRIGGER(CAMERA_TRIGGER_DATA), CANFD_FRAME(CANFD_FRAME_DATA), CAN_FILTER_MODIFY(CAN_FILTER_MODIFY_DATA), CAN_FRAME(CAN_FRAME_DATA), CELLULAR_CONFIG(CELLULAR_CONFIG_DATA), CELLULAR_STATUS(CELLULAR_STATUS_DATA), CHANGE_OPERATOR_CONTROL(CHANGE_OPERATOR_CONTROL_DATA), CHANGE_OPERATOR_CONTROL_ACK(CHANGE_OPERATOR_CONTROL_ACK_DATA), COLLISION(COLLISION_DATA), COMMAND_ACK(COMMAND_ACK_DATA), COMMAND_CANCEL(COMMAND_CANCEL_DATA), COMMAND_INT(COMMAND_INT_DATA), COMMAND_LONG(COMMAND_LONG_DATA), COMPONENT_INFORMATION(COMPONENT_INFORMATION_DATA), COMPONENT_INFORMATION_BASIC(COMPONENT_INFORMATION_BASIC_DATA), COMPONENT_METADATA(COMPONENT_METADATA_DATA), CONTROL_SYSTEM_STATE(CONTROL_SYSTEM_STATE_DATA), CURRENT_EVENT_SEQUENCE(CURRENT_EVENT_SEQUENCE_DATA), CURRENT_MODE(CURRENT_MODE_DATA), DATA_STREAM(DATA_STREAM_DATA), DATA_TRANSMISSION_HANDSHAKE(DATA_TRANSMISSION_HANDSHAKE_DATA), DEBUG(DEBUG_DATA), DEBUG_FLOAT_ARRAY(DEBUG_FLOAT_ARRAY_DATA), DEBUG_VECT(DEBUG_VECT_DATA), DISTANCE_SENSOR(DISTANCE_SENSOR_DATA), EFI_STATUS(EFI_STATUS_DATA), ENCAPSULATED_DATA(ENCAPSULATED_DATA_DATA), ESC_INFO(ESC_INFO_DATA), ESC_STATUS(ESC_STATUS_DATA), ESTIMATOR_STATUS(ESTIMATOR_STATUS_DATA), EVENT(EVENT_DATA), EXTENDED_SYS_STATE(EXTENDED_SYS_STATE_DATA), FENCE_STATUS(FENCE_STATUS_DATA), FILE_TRANSFER_PROTOCOL(FILE_TRANSFER_PROTOCOL_DATA), FLIGHT_INFORMATION(FLIGHT_INFORMATION_DATA), FOLLOW_TARGET(FOLLOW_TARGET_DATA), FUEL_STATUS(FUEL_STATUS_DATA), GENERATOR_STATUS(GENERATOR_STATUS_DATA), GIMBAL_DEVICE_ATTITUDE_STATUS(GIMBAL_DEVICE_ATTITUDE_STATUS_DATA), GIMBAL_DEVICE_INFORMATION(GIMBAL_DEVICE_INFORMATION_DATA), GIMBAL_DEVICE_SET_ATTITUDE(GIMBAL_DEVICE_SET_ATTITUDE_DATA), GIMBAL_MANAGER_INFORMATION(GIMBAL_MANAGER_INFORMATION_DATA), GIMBAL_MANAGER_SET_ATTITUDE(GIMBAL_MANAGER_SET_ATTITUDE_DATA), GIMBAL_MANAGER_SET_MANUAL_CONTROL(GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA), GIMBAL_MANAGER_SET_PITCHYAW(GIMBAL_MANAGER_SET_PITCHYAW_DATA), GIMBAL_MANAGER_STATUS(GIMBAL_MANAGER_STATUS_DATA), GLOBAL_POSITION_INT(GLOBAL_POSITION_INT_DATA), GLOBAL_POSITION_INT_COV(GLOBAL_POSITION_INT_COV_DATA), GLOBAL_VISION_POSITION_ESTIMATE(GLOBAL_VISION_POSITION_ESTIMATE_DATA), GPS2_RAW(GPS2_RAW_DATA), GPS2_RTK(GPS2_RTK_DATA), GPS_GLOBAL_ORIGIN(GPS_GLOBAL_ORIGIN_DATA), GPS_INJECT_DATA(GPS_INJECT_DATA_DATA), GPS_INPUT(GPS_INPUT_DATA), GPS_RAW_INT(GPS_RAW_INT_DATA), GPS_RTCM_DATA(GPS_RTCM_DATA_DATA), GPS_RTK(GPS_RTK_DATA), GPS_STATUS(GPS_STATUS_DATA), HEARTBEAT(HEARTBEAT_DATA), HIGHRES_IMU(HIGHRES_IMU_DATA), HIGH_LATENCY(HIGH_LATENCY_DATA), HIGH_LATENCY2(HIGH_LATENCY2_DATA), HIL_ACTUATOR_CONTROLS(HIL_ACTUATOR_CONTROLS_DATA), HIL_CONTROLS(HIL_CONTROLS_DATA), HIL_GPS(HIL_GPS_DATA), HIL_OPTICAL_FLOW(HIL_OPTICAL_FLOW_DATA), HIL_RC_INPUTS_RAW(HIL_RC_INPUTS_RAW_DATA), HIL_SENSOR(HIL_SENSOR_DATA), HIL_STATE(HIL_STATE_DATA), HIL_STATE_QUATERNION(HIL_STATE_QUATERNION_DATA), HOME_POSITION(HOME_POSITION_DATA), HYGROMETER_SENSOR(HYGROMETER_SENSOR_DATA), ILLUMINATOR_STATUS(ILLUMINATOR_STATUS_DATA), ISBD_LINK_STATUS(ISBD_LINK_STATUS_DATA), LANDING_TARGET(LANDING_TARGET_DATA), LINK_NODE_STATUS(LINK_NODE_STATUS_DATA), LOCAL_POSITION_NED(LOCAL_POSITION_NED_DATA), LOCAL_POSITION_NED_COV(LOCAL_POSITION_NED_COV_DATA), LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET(LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA), LOGGING_ACK(LOGGING_ACK_DATA), LOGGING_DATA(LOGGING_DATA_DATA), LOGGING_DATA_ACKED(LOGGING_DATA_ACKED_DATA), LOG_DATA(LOG_DATA_DATA), LOG_ENTRY(LOG_ENTRY_DATA), LOG_ERASE(LOG_ERASE_DATA), LOG_REQUEST_DATA(LOG_REQUEST_DATA_DATA), LOG_REQUEST_END(LOG_REQUEST_END_DATA), LOG_REQUEST_LIST(LOG_REQUEST_LIST_DATA), MAG_CAL_REPORT(MAG_CAL_REPORT_DATA), MANUAL_CONTROL(MANUAL_CONTROL_DATA), MANUAL_SETPOINT(MANUAL_SETPOINT_DATA), MEMORY_VECT(MEMORY_VECT_DATA), MESSAGE_INTERVAL(MESSAGE_INTERVAL_DATA), MISSION_ACK(MISSION_ACK_DATA), MISSION_CLEAR_ALL(MISSION_CLEAR_ALL_DATA), MISSION_COUNT(MISSION_COUNT_DATA), MISSION_CURRENT(MISSION_CURRENT_DATA), MISSION_ITEM(MISSION_ITEM_DATA), MISSION_ITEM_INT(MISSION_ITEM_INT_DATA), MISSION_ITEM_REACHED(MISSION_ITEM_REACHED_DATA), MISSION_REQUEST(MISSION_REQUEST_DATA), MISSION_REQUEST_INT(MISSION_REQUEST_INT_DATA), MISSION_REQUEST_LIST(MISSION_REQUEST_LIST_DATA), MISSION_REQUEST_PARTIAL_LIST(MISSION_REQUEST_PARTIAL_LIST_DATA), MISSION_SET_CURRENT(MISSION_SET_CURRENT_DATA), MISSION_WRITE_PARTIAL_LIST(MISSION_WRITE_PARTIAL_LIST_DATA), MOUNT_ORIENTATION(MOUNT_ORIENTATION_DATA), NAMED_VALUE_FLOAT(NAMED_VALUE_FLOAT_DATA), NAMED_VALUE_INT(NAMED_VALUE_INT_DATA), NAV_CONTROLLER_OUTPUT(NAV_CONTROLLER_OUTPUT_DATA), OBSTACLE_DISTANCE(OBSTACLE_DISTANCE_DATA), ODOMETRY(ODOMETRY_DATA), ONBOARD_COMPUTER_STATUS(ONBOARD_COMPUTER_STATUS_DATA), OPEN_DRONE_ID_ARM_STATUS(OPEN_DRONE_ID_ARM_STATUS_DATA), OPEN_DRONE_ID_AUTHENTICATION(OPEN_DRONE_ID_AUTHENTICATION_DATA), OPEN_DRONE_ID_BASIC_ID(OPEN_DRONE_ID_BASIC_ID_DATA), OPEN_DRONE_ID_LOCATION(OPEN_DRONE_ID_LOCATION_DATA), OPEN_DRONE_ID_MESSAGE_PACK(OPEN_DRONE_ID_MESSAGE_PACK_DATA), OPEN_DRONE_ID_OPERATOR_ID(OPEN_DRONE_ID_OPERATOR_ID_DATA), OPEN_DRONE_ID_SELF_ID(OPEN_DRONE_ID_SELF_ID_DATA), OPEN_DRONE_ID_SYSTEM(OPEN_DRONE_ID_SYSTEM_DATA), OPEN_DRONE_ID_SYSTEM_UPDATE(OPEN_DRONE_ID_SYSTEM_UPDATE_DATA), OPTICAL_FLOW(OPTICAL_FLOW_DATA), OPTICAL_FLOW_RAD(OPTICAL_FLOW_RAD_DATA), ORBIT_EXECUTION_STATUS(ORBIT_EXECUTION_STATUS_DATA), PARAM_EXT_ACK(PARAM_EXT_ACK_DATA), PARAM_EXT_REQUEST_LIST(PARAM_EXT_REQUEST_LIST_DATA), PARAM_EXT_REQUEST_READ(PARAM_EXT_REQUEST_READ_DATA), PARAM_EXT_SET(PARAM_EXT_SET_DATA), PARAM_EXT_VALUE(PARAM_EXT_VALUE_DATA), PARAM_MAP_RC(PARAM_MAP_RC_DATA), PARAM_REQUEST_LIST(PARAM_REQUEST_LIST_DATA), PARAM_REQUEST_READ(PARAM_REQUEST_READ_DATA), PARAM_SET(PARAM_SET_DATA), PARAM_VALUE(PARAM_VALUE_DATA), PING(PING_DATA), PLAY_TUNE(PLAY_TUNE_DATA), PLAY_TUNE_V2(PLAY_TUNE_V2_DATA), POSITION_TARGET_GLOBAL_INT(POSITION_TARGET_GLOBAL_INT_DATA), POSITION_TARGET_LOCAL_NED(POSITION_TARGET_LOCAL_NED_DATA), POWER_STATUS(POWER_STATUS_DATA), PROTOCOL_VERSION(PROTOCOL_VERSION_DATA), RADIO_STATUS(RADIO_STATUS_DATA), RAW_IMU(RAW_IMU_DATA), RAW_PRESSURE(RAW_PRESSURE_DATA), RAW_RPM(RAW_RPM_DATA), RC_CHANNELS(RC_CHANNELS_DATA), RC_CHANNELS_OVERRIDE(RC_CHANNELS_OVERRIDE_DATA), RC_CHANNELS_RAW(RC_CHANNELS_RAW_DATA), RC_CHANNELS_SCALED(RC_CHANNELS_SCALED_DATA), REQUEST_DATA_STREAM(REQUEST_DATA_STREAM_DATA), REQUEST_EVENT(REQUEST_EVENT_DATA), RESOURCE_REQUEST(RESOURCE_REQUEST_DATA), RESPONSE_EVENT_ERROR(RESPONSE_EVENT_ERROR_DATA), SAFETY_ALLOWED_AREA(SAFETY_ALLOWED_AREA_DATA), SAFETY_SET_ALLOWED_AREA(SAFETY_SET_ALLOWED_AREA_DATA), SCALED_IMU(SCALED_IMU_DATA), SCALED_IMU2(SCALED_IMU2_DATA), SCALED_IMU3(SCALED_IMU3_DATA), SCALED_PRESSURE(SCALED_PRESSURE_DATA), SCALED_PRESSURE2(SCALED_PRESSURE2_DATA), SCALED_PRESSURE3(SCALED_PRESSURE3_DATA), SERIAL_CONTROL(SERIAL_CONTROL_DATA), SERVO_OUTPUT_RAW(SERVO_OUTPUT_RAW_DATA), SETUP_SIGNING(SETUP_SIGNING_DATA), SET_ACTUATOR_CONTROL_TARGET(SET_ACTUATOR_CONTROL_TARGET_DATA), SET_ATTITUDE_TARGET(SET_ATTITUDE_TARGET_DATA), SET_GPS_GLOBAL_ORIGIN(SET_GPS_GLOBAL_ORIGIN_DATA), SET_HOME_POSITION(SET_HOME_POSITION_DATA), SET_MODE(SET_MODE_DATA), SET_POSITION_TARGET_GLOBAL_INT(SET_POSITION_TARGET_GLOBAL_INT_DATA), SET_POSITION_TARGET_LOCAL_NED(SET_POSITION_TARGET_LOCAL_NED_DATA), SIM_STATE(SIM_STATE_DATA), SMART_BATTERY_INFO(SMART_BATTERY_INFO_DATA), STATUSTEXT(STATUSTEXT_DATA), STORAGE_INFORMATION(STORAGE_INFORMATION_DATA), SUPPORTED_TUNES(SUPPORTED_TUNES_DATA), SYSTEM_TIME(SYSTEM_TIME_DATA), SYS_STATUS(SYS_STATUS_DATA), TERRAIN_CHECK(TERRAIN_CHECK_DATA), TERRAIN_DATA(TERRAIN_DATA_DATA), TERRAIN_REPORT(TERRAIN_REPORT_DATA), TERRAIN_REQUEST(TERRAIN_REQUEST_DATA), TIMESYNC(TIMESYNC_DATA), TIME_ESTIMATE_TO_TARGET(TIME_ESTIMATE_TO_TARGET_DATA), TRAJECTORY_REPRESENTATION_BEZIER(TRAJECTORY_REPRESENTATION_BEZIER_DATA), TRAJECTORY_REPRESENTATION_WAYPOINTS(TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA), TUNNEL(TUNNEL_DATA), UAVCAN_NODE_INFO(UAVCAN_NODE_INFO_DATA), UAVCAN_NODE_STATUS(UAVCAN_NODE_STATUS_DATA), UTM_GLOBAL_POSITION(UTM_GLOBAL_POSITION_DATA), V2_EXTENSION(V2_EXTENSION_DATA), VFR_HUD(VFR_HUD_DATA), VIBRATION(VIBRATION_DATA), VICON_POSITION_ESTIMATE(VICON_POSITION_ESTIMATE_DATA), VIDEO_STREAM_INFORMATION(VIDEO_STREAM_INFORMATION_DATA), VIDEO_STREAM_STATUS(VIDEO_STREAM_STATUS_DATA), VISION_POSITION_ESTIMATE(VISION_POSITION_ESTIMATE_DATA), VISION_SPEED_ESTIMATE(VISION_SPEED_ESTIMATE_DATA), WHEEL_DISTANCE(WHEEL_DISTANCE_DATA), WIFI_CONFIG_AP(WIFI_CONFIG_AP_DATA), WINCH_STATUS(WINCH_STATUS_DATA), WIND_COV(WIND_COV_DATA),
}
Available on crate feature avssuas only.

Variants§

§

ACTUATOR_CONTROL_TARGET(ACTUATOR_CONTROL_TARGET_DATA)

Set the vehicle attitude and body angular rates.

ID: 140

§

ACTUATOR_OUTPUT_STATUS(ACTUATOR_OUTPUT_STATUS_DATA)

The raw values of the actuator outputs (e.g. on Pixhawk, from MAIN, AUX ports). This message supersedes SERVO_OUTPUT_RAW.

ID: 375

§

ADSB_VEHICLE(ADSB_VEHICLE_DATA)

The location and information of an ADSB vehicle.

ID: 246

§

AIS_VESSEL(AIS_VESSEL_DATA)

The location and information of an AIS vessel.

ID: 301

§

ALTITUDE(ALTITUDE_DATA)

The current system altitude.

ID: 141

§

ATTITUDE(ATTITUDE_DATA)

The attitude in the aeronautical frame (right-handed, Z-down, Y-right, X-front, ZYX, intrinsic).

ID: 30

§

ATTITUDE_QUATERNION(ATTITUDE_QUATERNION_DATA)

The attitude in the aeronautical frame (right-handed, Z-down, X-front, Y-right), expressed as quaternion. Quaternion order is w, x, y, z and a zero rotation would be expressed as (1 0 0 0).

ID: 31

§

ATTITUDE_QUATERNION_COV(ATTITUDE_QUATERNION_COV_DATA)

The attitude in the aeronautical frame (right-handed, Z-down, X-front, Y-right), expressed as quaternion. Quaternion order is w, x, y, z and a zero rotation would be expressed as (1 0 0 0).

ID: 61

§

ATTITUDE_TARGET(ATTITUDE_TARGET_DATA)

Reports the current commanded attitude of the vehicle as specified by the autopilot. This should match the commands sent in a SET_ATTITUDE_TARGET message if the vehicle is being controlled this way.

ID: 83

§

ATT_POS_MOCAP(ATT_POS_MOCAP_DATA)

Motion capture attitude and position.

ID: 138

§

AUTH_KEY(AUTH_KEY_DATA)

Emit an encrypted signature / key identifying this system. PLEASE NOTE: This protocol has been kept simple, so transmitting the key requires an encrypted channel for true safety.

ID: 7

§

AUTOPILOT_STATE_FOR_GIMBAL_DEVICE(AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_DATA)

Low level message containing autopilot state relevant for a gimbal device. This message is to be sent from the autopilot to the gimbal device component. The data of this message are for the gimbal device’s estimator corrections, in particular horizon compensation, as well as indicates autopilot control intentions, e.g. feed forward angular control in the z-axis.

ID: 286

§

AUTOPILOT_VERSION(AUTOPILOT_VERSION_DATA)

Version and capability of autopilot software. This should be emitted in response to a request with MAV_CMD_REQUEST_MESSAGE.

ID: 148

§

AVAILABLE_MODES(AVAILABLE_MODES_DATA)

Information about a flight mode. The message can be enumerated to get information for all modes, or requested for a particular mode, using MAV_CMD_REQUEST_MESSAGE. Specify 0 in param2 to request that the message is emitted for all available modes or the specific index for just one mode. The modes must be available/settable for the current vehicle/frame type. Each mode should only be emitted once (even if it is both standard and custom). Note that the current mode should be emitted in CURRENT_MODE, and that if the mode list can change then AVAILABLE_MODES_MONITOR must be emitted on first change and subsequently streamed. See https://mavlink.io/en/services/standard_modes.html.

ID: 435

§

AVAILABLE_MODES_MONITOR(AVAILABLE_MODES_MONITOR_DATA)

A change to the sequence number indicates that the set of AVAILABLE_MODES has changed. A receiver must re-request all available modes whenever the sequence number changes. This is only emitted after the first change and should then be broadcast at low rate (nominally 0.3 Hz) and on change. See https://mavlink.io/en/services/standard_modes.html.

ID: 437

§

AVSS_DRONE_IMU(AVSS_DRONE_IMU_DATA)

Drone IMU data. Quaternion order is w, x, y, z and a zero rotation would be expressed as (1 0 0 0).

ID: 60052

§

AVSS_DRONE_OPERATION_MODE(AVSS_DRONE_OPERATION_MODE_DATA)

Drone operation mode.

ID: 60053

§

AVSS_DRONE_POSITION(AVSS_DRONE_POSITION_DATA)

Drone position.

ID: 60051

§

AVSS_PRS_SYS_STATUS(AVSS_PRS_SYS_STATUS_DATA)

AVSS PRS system status.

ID: 60050

§

BATTERY_INFO(BATTERY_INFO_DATA)

Battery information that is static, or requires infrequent update. This message should requested using MAV_CMD_REQUEST_MESSAGE and/or streamed at very low rate. BATTERY_STATUS_V2 is used for higher-rate battery status information.

ID: 372

§

BATTERY_STATUS(BATTERY_STATUS_DATA)

Battery information. Updates GCS with flight controller battery status. Smart batteries also use this message, but may additionally send BATTERY_INFO.

ID: 147

§

BUTTON_CHANGE(BUTTON_CHANGE_DATA)

Report button state change.

ID: 257

§

CAMERA_CAPTURE_STATUS(CAMERA_CAPTURE_STATUS_DATA)

Information about the status of a capture. Can be requested with a MAV_CMD_REQUEST_MESSAGE command.

ID: 262

§

CAMERA_FOV_STATUS(CAMERA_FOV_STATUS_DATA)

Information about the field of view of a camera. Can be requested with a MAV_CMD_REQUEST_MESSAGE command.

ID: 271

§

CAMERA_IMAGE_CAPTURED(CAMERA_IMAGE_CAPTURED_DATA)

Information about a captured image. This is emitted every time a message is captured. MAV_CMD_REQUEST_MESSAGE can be used to (re)request this message for a specific sequence number or range of sequence numbers: MAV_CMD_REQUEST_MESSAGE.param2 indicates the sequence number the first image to send, or set to -1 to send the message for all sequence numbers. MAV_CMD_REQUEST_MESSAGE.param3 is used to specify a range of messages to send: set to 0 (default) to send just the the message for the sequence number in param 2, set to -1 to send the message for the sequence number in param 2 and all the following sequence numbers, set to the sequence number of the final message in the range.

ID: 263

§

CAMERA_INFORMATION(CAMERA_INFORMATION_DATA)

Information about a camera. Can be requested with a MAV_CMD_REQUEST_MESSAGE command.

ID: 259

§

CAMERA_SETTINGS(CAMERA_SETTINGS_DATA)

Settings of a camera. Can be requested with a MAV_CMD_REQUEST_MESSAGE command.

ID: 260

§

CAMERA_THERMAL_RANGE(CAMERA_THERMAL_RANGE_DATA)

Camera absolute thermal range. This can be streamed when the associated VIDEO_STREAM_STATUS flag field bit VIDEO_STREAM_STATUS_FLAGS_THERMAL_RANGE_ENABLED is set, but a GCS may choose to only request it for the current active stream. Use MAV_CMD_SET_MESSAGE_INTERVAL to define message interval (param3 indicates the stream id of the current camera, or 0 for all streams, param4 indicates the target camera_device_id for autopilot-attached cameras or 0 for MAVLink cameras).

ID: 277

§

CAMERA_TRACKING_GEO_STATUS(CAMERA_TRACKING_GEO_STATUS_DATA)

Camera tracking status, sent while in active tracking. Use MAV_CMD_SET_MESSAGE_INTERVAL to define message interval.

ID: 276

§

CAMERA_TRACKING_IMAGE_STATUS(CAMERA_TRACKING_IMAGE_STATUS_DATA)

Camera tracking status, sent while in active tracking. Use MAV_CMD_SET_MESSAGE_INTERVAL to define message interval.

ID: 275

§

CAMERA_TRIGGER(CAMERA_TRIGGER_DATA)

Camera-IMU triggering and synchronisation message.

ID: 112

§

CANFD_FRAME(CANFD_FRAME_DATA)

A forwarded CANFD frame as requested by MAV_CMD_CAN_FORWARD. These are separated from CAN_FRAME as they need different handling (eg. TAO handling).

ID: 387

§

CAN_FILTER_MODIFY(CAN_FILTER_MODIFY_DATA)

Modify the filter of what CAN messages to forward over the mavlink. This can be used to make CAN forwarding work well on low bandwidth links. The filtering is applied on bits 8 to 24 of the CAN id (2nd and 3rd bytes) which corresponds to the DroneCAN message ID for DroneCAN. Filters with more than 16 IDs can be constructed by sending multiple CAN_FILTER_MODIFY messages.

ID: 388

§

CAN_FRAME(CAN_FRAME_DATA)

A forwarded CAN frame as requested by MAV_CMD_CAN_FORWARD.

ID: 386

§

CELLULAR_CONFIG(CELLULAR_CONFIG_DATA)

Configure cellular modems. This message is re-emitted as an acknowledgement by the modem. The message may also be explicitly requested using MAV_CMD_REQUEST_MESSAGE.

ID: 336

§

CELLULAR_STATUS(CELLULAR_STATUS_DATA)

Report current used cellular network status.

ID: 334

§

CHANGE_OPERATOR_CONTROL(CHANGE_OPERATOR_CONTROL_DATA)

Request to control this MAV.

ID: 5

§

CHANGE_OPERATOR_CONTROL_ACK(CHANGE_OPERATOR_CONTROL_ACK_DATA)

Accept / deny control of this MAV.

ID: 6

§

COLLISION(COLLISION_DATA)

Information about a potential collision.

ID: 247

§

COMMAND_ACK(COMMAND_ACK_DATA)

Report status of a command. Includes feedback whether the command was executed. The command microservice is documented at https://mavlink.io/en/services/command.html.

ID: 77

§

COMMAND_CANCEL(COMMAND_CANCEL_DATA)

Cancel a long running command. The target system should respond with a COMMAND_ACK to the original command with result=MAV_RESULT_CANCELLED if the long running process was cancelled. If it has already completed, the cancel action can be ignored. The cancel action can be retried until some sort of acknowledgement to the original command has been received. The command microservice is documented at https://mavlink.io/en/services/command.html.

ID: 80

§

COMMAND_INT(COMMAND_INT_DATA)

Send a command with up to seven parameters to the MAV, where params 5 and 6 are integers and the other values are floats. This is preferred over COMMAND_LONG as it allows the MAV_FRAME to be specified for interpreting positional information, such as altitude. COMMAND_INT is also preferred when sending latitude and longitude data in params 5 and 6, as it allows for greater precision. Param 5 and 6 encode positional data as scaled integers, where the scaling depends on the actual command value. NaN or INT32_MAX may be used in float/integer params (respectively) to indicate optional/default values (e.g. to use the component’s current latitude, yaw rather than a specific value). The command microservice is documented at https://mavlink.io/en/services/command.html.

ID: 75

§

COMMAND_LONG(COMMAND_LONG_DATA)

Send a command with up to seven parameters to the MAV. COMMAND_INT is generally preferred when sending MAV_CMD commands that include positional information; it offers higher precision and allows the MAV_FRAME to be specified (which may otherwise be ambiguous, particularly for altitude). The command microservice is documented at https://mavlink.io/en/services/command.html.

ID: 76

§

COMPONENT_INFORMATION(COMPONENT_INFORMATION_DATA)

👎Deprecated: See COMPONENT_METADATA (Deprecated since 2022-04)

Component information message, which may be requested using MAV_CMD_REQUEST_MESSAGE.

ID: 395

§

COMPONENT_INFORMATION_BASIC(COMPONENT_INFORMATION_BASIC_DATA)

Basic component information data. Should be requested using MAV_CMD_REQUEST_MESSAGE on startup, or when required.

ID: 396

§

COMPONENT_METADATA(COMPONENT_METADATA_DATA)

Component metadata message, which may be requested using MAV_CMD_REQUEST_MESSAGE. This contains the MAVLink FTP URI and CRC for the component’s general metadata file. The file must be hosted on the component, and may be xz compressed. The file CRC can be used for file caching. The general metadata file can be read to get the locations of other metadata files (COMP_METADATA_TYPE) and translations, which may be hosted either on the vehicle or the internet. For more information see: https://mavlink.io/en/services/component_information.html. Note: Camera components should use CAMERA_INFORMATION instead, and autopilots may use both this message and AUTOPILOT_VERSION.

ID: 397

§

CONTROL_SYSTEM_STATE(CONTROL_SYSTEM_STATE_DATA)

The smoothed, monotonic system state used to feed the control loops of the system.

ID: 146

§

CURRENT_EVENT_SEQUENCE(CURRENT_EVENT_SEQUENCE_DATA)

Regular broadcast for the current latest event sequence number for a component. This is used to check for dropped events.

ID: 411

§

CURRENT_MODE(CURRENT_MODE_DATA)

Get the current mode. This should be emitted on any mode change, and broadcast at low rate (nominally 0.5 Hz). It may be requested using MAV_CMD_REQUEST_MESSAGE. See https://mavlink.io/en/services/standard_modes.html.

ID: 436

§

DATA_STREAM(DATA_STREAM_DATA)

👎Deprecated: See MESSAGE_INTERVAL (Deprecated since 2015-08)

Data stream status information.

ID: 67

§

DATA_TRANSMISSION_HANDSHAKE(DATA_TRANSMISSION_HANDSHAKE_DATA)

Handshake message to initiate, control and stop image streaming when using the Image Transmission Protocol: https://mavlink.io/en/services/image_transmission.html.

ID: 130

§

DEBUG(DEBUG_DATA)

Send a debug value. The index is used to discriminate between values. These values show up in the plot of QGroundControl as DEBUG N.

ID: 254

§

DEBUG_FLOAT_ARRAY(DEBUG_FLOAT_ARRAY_DATA)

Large debug/prototyping array. The message uses the maximum available payload for data. The array_id and name fields are used to discriminate between messages in code and in user interfaces (respectively). Do not use in production code.

ID: 350

§

DEBUG_VECT(DEBUG_VECT_DATA)

To debug something using a named 3D vector.

ID: 250

§

DISTANCE_SENSOR(DISTANCE_SENSOR_DATA)

Distance sensor information for an onboard rangefinder.

ID: 132

§

EFI_STATUS(EFI_STATUS_DATA)

EFI status output.

ID: 225

§

ENCAPSULATED_DATA(ENCAPSULATED_DATA_DATA)

Data packet for images sent using the Image Transmission Protocol: https://mavlink.io/en/services/image_transmission.html.

ID: 131

§

ESC_INFO(ESC_INFO_DATA)

ESC information for lower rate streaming. Recommended streaming rate 1Hz. See ESC_STATUS for higher-rate ESC data.

ID: 290

§

ESC_STATUS(ESC_STATUS_DATA)

ESC information for higher rate streaming. Recommended streaming rate is ~10 Hz. Information that changes more slowly is sent in ESC_INFO. It should typically only be streamed on high-bandwidth links (i.e. to a companion computer).

ID: 291

§

ESTIMATOR_STATUS(ESTIMATOR_STATUS_DATA)

Estimator status message including flags, innovation test ratios and estimated accuracies. The flags message is an integer bitmask containing information on which EKF outputs are valid. See the ESTIMATOR_STATUS_FLAGS enum definition for further information. The innovation test ratios show the magnitude of the sensor innovation divided by the innovation check threshold. Under normal operation the innovation test ratios should be below 0.5 with occasional values up to 1.0. Values greater than 1.0 should be rare under normal operation and indicate that a measurement has been rejected by the filter. The user should be notified if an innovation test ratio greater than 1.0 is recorded. Notifications for values in the range between 0.5 and 1.0 should be optional and controllable by the user.

ID: 230

§

EVENT(EVENT_DATA)

Event message. Each new event from a particular component gets a new sequence number. The same message might be sent multiple times if (re-)requested. Most events are broadcast, some can be specific to a target component (as receivers keep track of the sequence for missed events, all events need to be broadcast. Thus we use destination_component instead of target_component).

ID: 410

§

EXTENDED_SYS_STATE(EXTENDED_SYS_STATE_DATA)

Provides state for additional features.

ID: 245

§

FENCE_STATUS(FENCE_STATUS_DATA)

Status of geo-fencing. Sent in extended status stream when fencing enabled.

ID: 162

§

FILE_TRANSFER_PROTOCOL(FILE_TRANSFER_PROTOCOL_DATA)

File transfer protocol message: https://mavlink.io/en/services/ftp.html.

ID: 110

§

FLIGHT_INFORMATION(FLIGHT_INFORMATION_DATA)

Flight information. This includes time since boot for arm, takeoff, and land, and a flight number. Takeoff and landing values reset to zero on arm. This can be requested using MAV_CMD_REQUEST_MESSAGE. Note, some fields are misnamed - timestamps are from boot (not UTC) and the flight_uuid is a sequence number.

ID: 264

§

FOLLOW_TARGET(FOLLOW_TARGET_DATA)

Current motion information from a designated system.

ID: 144

§

FUEL_STATUS(FUEL_STATUS_DATA)

Fuel status. This message provides “generic” fuel level information for in a GCS and for triggering failsafes in an autopilot. The fuel type and associated units for fields in this message are defined in the enum MAV_FUEL_TYPE. The reported consumed_fuel and remaining_fuel must only be supplied if measured: they must not be inferred from the maximum_fuel and the other value. A recipient can assume that if these fields are supplied they are accurate. If not provided, the recipient can infer remaining_fuel from maximum_fuel and consumed_fuel on the assumption that the fuel was initially at its maximum (this is what battery monitors assume). Note however that this is an assumption, and the UI should prompt the user appropriately (i.e. notify user that they should fill the tank before boot). This kind of information may also be sent in fuel-specific messages such as BATTERY_STATUS_V2. If both messages are sent for the same fuel system, the ids and corresponding information must match. This should be streamed (nominally at 0.1 Hz).

ID: 371

§

GENERATOR_STATUS(GENERATOR_STATUS_DATA)

Telemetry of power generation system. Alternator or mechanical generator.

ID: 373

§

GIMBAL_DEVICE_ATTITUDE_STATUS(GIMBAL_DEVICE_ATTITUDE_STATUS_DATA)

Message reporting the status of a gimbal device. This message should be broadcast by a gimbal device component at a low regular rate (e.g. 5 Hz). For the angles encoded in the quaternion and the angular velocities holds: If the flag GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME is set, then they are relative to the vehicle heading (vehicle frame). If the flag GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME is set, then they are relative to absolute North (earth frame). If neither of these flags are set, then (for backwards compatibility) it holds: If the flag GIMBAL_DEVICE_FLAGS_YAW_LOCK is set, then they are relative to absolute North (earth frame), else they are relative to the vehicle heading (vehicle frame). Other conditions of the flags are not allowed. The quaternion and angular velocities in the other frame can be calculated from delta_yaw and delta_yaw_velocity as q_earth = q_delta_yaw * q_vehicle and w_earth = w_delta_yaw_velocity + w_vehicle (if not NaN). If neither the GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME nor the GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME flag is set, then (for backwards compatibility) the data in the delta_yaw and delta_yaw_velocity fields are to be ignored. New implementations should always set either GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME or GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME, and always should set delta_yaw and delta_yaw_velocity either to the proper value or NaN.

ID: 285

§

GIMBAL_DEVICE_INFORMATION(GIMBAL_DEVICE_INFORMATION_DATA)

Information about a low level gimbal. This message should be requested by the gimbal manager or a ground station using MAV_CMD_REQUEST_MESSAGE. The maximum angles and rates are the limits by hardware. However, the limits by software used are likely different/smaller and dependent on mode/settings/etc..

ID: 283

§

GIMBAL_DEVICE_SET_ATTITUDE(GIMBAL_DEVICE_SET_ATTITUDE_DATA)

Low level message to control a gimbal device’s attitude. This message is to be sent from the gimbal manager to the gimbal device component. The quaternion and angular velocities can be set to NaN according to use case. For the angles encoded in the quaternion and the angular velocities holds: If the flag GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME is set, then they are relative to the vehicle heading (vehicle frame). If the flag GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME is set, then they are relative to absolute North (earth frame). If neither of these flags are set, then (for backwards compatibility) it holds: If the flag GIMBAL_DEVICE_FLAGS_YAW_LOCK is set, then they are relative to absolute North (earth frame), else they are relative to the vehicle heading (vehicle frame). Setting both GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME and GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME is not allowed. These rules are to ensure backwards compatibility. New implementations should always set either GIMBAL_DEVICE_FLAGS_YAW_IN_VEHICLE_FRAME or GIMBAL_DEVICE_FLAGS_YAW_IN_EARTH_FRAME.

ID: 284

§

GIMBAL_MANAGER_INFORMATION(GIMBAL_MANAGER_INFORMATION_DATA)

Information about a high level gimbal manager. This message should be requested by a ground station using MAV_CMD_REQUEST_MESSAGE.

ID: 280

§

GIMBAL_MANAGER_SET_ATTITUDE(GIMBAL_MANAGER_SET_ATTITUDE_DATA)

High level message to control a gimbal’s attitude. This message is to be sent to the gimbal manager (e.g. from a ground station). Angles and rates can be set to NaN according to use case.

ID: 282

§

GIMBAL_MANAGER_SET_MANUAL_CONTROL(GIMBAL_MANAGER_SET_MANUAL_CONTROL_DATA)

High level message to control a gimbal manually. The angles or angular rates are unitless; the actual rates will depend on internal gimbal manager settings/configuration (e.g. set by parameters). This message is to be sent to the gimbal manager (e.g. from a ground station). Angles and rates can be set to NaN according to use case.

ID: 288

§

GIMBAL_MANAGER_SET_PITCHYAW(GIMBAL_MANAGER_SET_PITCHYAW_DATA)

Set gimbal manager pitch and yaw angles (high rate message). This message is to be sent to the gimbal manager (e.g. from a ground station) and will be ignored by gimbal devices. Angles and rates can be set to NaN according to use case. Use MAV_CMD_DO_GIMBAL_MANAGER_PITCHYAW for low-rate adjustments that require confirmation.

ID: 287

§

GIMBAL_MANAGER_STATUS(GIMBAL_MANAGER_STATUS_DATA)

Current status about a high level gimbal manager. This message should be broadcast at a low regular rate (e.g. 5Hz).

ID: 281

§

GLOBAL_POSITION_INT(GLOBAL_POSITION_INT_DATA)

The filtered global position (e.g. fused GPS and accelerometers). The position is in GPS-frame (right-handed, Z-up). It is designed as scaled integer message since the resolution of float is not sufficient.

ID: 33

§

GLOBAL_POSITION_INT_COV(GLOBAL_POSITION_INT_COV_DATA)

The filtered global position (e.g. fused GPS and accelerometers). The position is in GPS-frame (right-handed, Z-up). It is designed as scaled integer message since the resolution of float is not sufficient. NOTE: This message is intended for onboard networks / companion computers and higher-bandwidth links and optimized for accuracy and completeness. Please use the GLOBAL_POSITION_INT message for a minimal subset.

ID: 63

§

GLOBAL_VISION_POSITION_ESTIMATE(GLOBAL_VISION_POSITION_ESTIMATE_DATA)

Global position/attitude estimate from a vision source.

ID: 101

§

GPS2_RAW(GPS2_RAW_DATA)

Second GPS data.

ID: 124

§

GPS2_RTK(GPS2_RTK_DATA)

RTK GPS data. Gives information on the relative baseline calculation the GPS is reporting.

ID: 128

§

GPS_GLOBAL_ORIGIN(GPS_GLOBAL_ORIGIN_DATA)

Publishes the GPS coordinates of the vehicle local origin (0,0,0) position. Emitted whenever a new GPS-Local position mapping is requested or set - e.g. following SET_GPS_GLOBAL_ORIGIN message.

ID: 49

§

GPS_INJECT_DATA(GPS_INJECT_DATA_DATA)

👎Deprecated: See GPS_RTCM_DATA (Deprecated since 2022-05)

Data for injecting into the onboard GPS (used for DGPS).

ID: 123

§

GPS_INPUT(GPS_INPUT_DATA)

GPS sensor input message. This is a raw sensor value sent by the GPS. This is NOT the global position estimate of the system.

ID: 232

§

GPS_RAW_INT(GPS_RAW_INT_DATA)

The global position, as returned by the Global Positioning System (GPS). This is NOT the global position estimate of the system, but rather a RAW sensor value. See message GLOBAL_POSITION_INT for the global position estimate.

ID: 24

§

GPS_RTCM_DATA(GPS_RTCM_DATA_DATA)

RTCM message for injecting into the onboard GPS (used for DGPS).

ID: 233

§

GPS_RTK(GPS_RTK_DATA)

RTK GPS data. Gives information on the relative baseline calculation the GPS is reporting.

ID: 127

§

GPS_STATUS(GPS_STATUS_DATA)

The positioning status, as reported by GPS. This message is intended to display status information about each satellite visible to the receiver. See message GLOBAL_POSITION_INT for the global position estimate. This message can contain information for up to 20 satellites.

ID: 25

§

HEARTBEAT(HEARTBEAT_DATA)

The heartbeat message shows that a system or component is present and responding. The type and autopilot fields (along with the message component id), allow the receiving system to treat further messages from this system appropriately (e.g. by laying out the user interface based on the autopilot). This microservice is documented at https://mavlink.io/en/services/heartbeat.html.

ID: 0

§

HIGHRES_IMU(HIGHRES_IMU_DATA)

The IMU readings in SI units in NED body frame.

ID: 105

§

HIGH_LATENCY(HIGH_LATENCY_DATA)

👎Deprecated: See HIGH_LATENCY2 (Deprecated since 2020-10)

Message appropriate for high latency connections like Iridium.

ID: 234

§

HIGH_LATENCY2(HIGH_LATENCY2_DATA)

Message appropriate for high latency connections like Iridium (version 2).

ID: 235

§

HIL_ACTUATOR_CONTROLS(HIL_ACTUATOR_CONTROLS_DATA)

Sent from autopilot to simulation. Hardware in the loop control outputs. Alternative to HIL_CONTROLS.

ID: 93

§

HIL_CONTROLS(HIL_CONTROLS_DATA)

Sent from autopilot to simulation. Hardware in the loop control outputs. Alternative to HIL_ACTUATOR_CONTROLS.

ID: 91

§

HIL_GPS(HIL_GPS_DATA)

The global position, as returned by the Global Positioning System (GPS). This is NOT the global position estimate of the system, but rather a RAW sensor value. See message GLOBAL_POSITION_INT for the global position estimate.

ID: 113

§

HIL_OPTICAL_FLOW(HIL_OPTICAL_FLOW_DATA)

Simulated optical flow from a flow sensor (e.g. PX4FLOW or optical mouse sensor).

ID: 114

§

HIL_RC_INPUTS_RAW(HIL_RC_INPUTS_RAW_DATA)

Sent from simulation to autopilot. The RAW values of the RC channels received. The standard PPM modulation is as follows: 1000 microseconds: 0%, 2000 microseconds: 100%. Individual receivers/transmitters might violate this specification.

ID: 92

§

HIL_SENSOR(HIL_SENSOR_DATA)

The IMU readings in SI units in NED body frame.

ID: 107

§

HIL_STATE(HIL_STATE_DATA)

👎Deprecated: Suffers from missing airspeed fields and singularities due to Euler angles. See HIL_STATE_QUATERNION (Deprecated since 2013-07)

Sent from simulation to autopilot. This packet is useful for high throughput applications such as hardware in the loop simulations.

ID: 90

§

HIL_STATE_QUATERNION(HIL_STATE_QUATERNION_DATA)

Sent from simulation to autopilot, avoids in contrast to HIL_STATE singularities. This packet is useful for high throughput applications such as hardware in the loop simulations.

ID: 115

§

HOME_POSITION(HOME_POSITION_DATA)

Contains the home position. The home position is the default position that the system will return to and land on. The position must be set automatically by the system during the takeoff, and may also be explicitly set using MAV_CMD_DO_SET_HOME. The global and local positions encode the position in the respective coordinate frames, while the q parameter encodes the orientation of the surface. Under normal conditions it describes the heading and terrain slope, which can be used by the aircraft to adjust the approach. The approach 3D vector describes the point to which the system should fly in normal flight mode and then perform a landing sequence along the vector. Note: this message can be requested by sending the MAV_CMD_REQUEST_MESSAGE with param1=242 (or the deprecated MAV_CMD_GET_HOME_POSITION command).

ID: 242

§

HYGROMETER_SENSOR(HYGROMETER_SENSOR_DATA)

Temperature and humidity from hygrometer.

ID: 12920

§

ILLUMINATOR_STATUS(ILLUMINATOR_STATUS_DATA)

Illuminator status.

ID: 440

Status of the Iridium SBD link.

ID: 335

§

LANDING_TARGET(LANDING_TARGET_DATA)

The location of a landing target. See: https://mavlink.io/en/services/landing_target.html.

ID: 149

Status generated in each node in the communication chain and injected into MAVLink stream.

ID: 8

§

LOCAL_POSITION_NED(LOCAL_POSITION_NED_DATA)

The filtered local position (e.g. fused computer vision and accelerometers). Coordinate frame is right-handed, Z-axis down (aeronautical frame, NED / north-east-down convention).

ID: 32

§

LOCAL_POSITION_NED_COV(LOCAL_POSITION_NED_COV_DATA)

The filtered local position (e.g. fused computer vision and accelerometers). Coordinate frame is right-handed, Z-axis down (aeronautical frame, NED / north-east-down convention).

ID: 64

§

LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET(LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET_DATA)

The offset in X, Y, Z and yaw between the LOCAL_POSITION_NED messages of MAV X and the global coordinate frame in NED coordinates. Coordinate frame is right-handed, Z-axis down (aeronautical frame, NED / north-east-down convention).

ID: 89

§

LOGGING_ACK(LOGGING_ACK_DATA)

An ack for a LOGGING_DATA_ACKED message.

ID: 268

§

LOGGING_DATA(LOGGING_DATA_DATA)

A message containing logged data (see also MAV_CMD_LOGGING_START).

ID: 266

§

LOGGING_DATA_ACKED(LOGGING_DATA_ACKED_DATA)

A message containing logged data which requires a LOGGING_ACK to be sent back.

ID: 267

§

LOG_DATA(LOG_DATA_DATA)

Reply to LOG_REQUEST_DATA.

ID: 120

§

LOG_ENTRY(LOG_ENTRY_DATA)

Reply to LOG_REQUEST_LIST.

ID: 118

§

LOG_ERASE(LOG_ERASE_DATA)

Erase all logs.

ID: 121

§

LOG_REQUEST_DATA(LOG_REQUEST_DATA_DATA)

Request a chunk of a log.

ID: 119

§

LOG_REQUEST_END(LOG_REQUEST_END_DATA)

Stop log transfer and resume normal logging.

ID: 122

§

LOG_REQUEST_LIST(LOG_REQUEST_LIST_DATA)

Request a list of available logs. On some systems calling this may stop on-board logging until LOG_REQUEST_END is called. If there are no log files available this request shall be answered with one LOG_ENTRY message with id = 0 and num_logs = 0.

ID: 117

§

MAG_CAL_REPORT(MAG_CAL_REPORT_DATA)

Reports results of completed compass calibration. Sent until MAG_CAL_ACK received.

ID: 192

§

MANUAL_CONTROL(MANUAL_CONTROL_DATA)

This message provides an API for manually controlling the vehicle using standard joystick axes nomenclature, along with a joystick-like input device. Unused axes can be disabled and buttons states are transmitted as individual on/off bits of a bitmask.

ID: 69

§

MANUAL_SETPOINT(MANUAL_SETPOINT_DATA)

Setpoint in roll, pitch, yaw and thrust from the operator.

ID: 81

§

MEMORY_VECT(MEMORY_VECT_DATA)

Send raw controller memory. The use of this message is discouraged for normal packets, but a quite efficient way for testing new messages and getting experimental debug output.

ID: 249

§

MESSAGE_INTERVAL(MESSAGE_INTERVAL_DATA)

The interval between messages for a particular MAVLink message ID. This message is sent in response to the MAV_CMD_REQUEST_MESSAGE command with param1=244 (this message) and param2=message_id (the id of the message for which the interval is required). It may also be sent in response to MAV_CMD_GET_MESSAGE_INTERVAL. This interface replaces DATA_STREAM.

ID: 244

§

MISSION_ACK(MISSION_ACK_DATA)

Acknowledgment message during waypoint handling. The type field states if this message is a positive ack (type=0) or if an error happened (type=non-zero).

ID: 47

§

MISSION_CLEAR_ALL(MISSION_CLEAR_ALL_DATA)

Delete all mission items at once.

ID: 45

§

MISSION_COUNT(MISSION_COUNT_DATA)

This message is emitted as response to MISSION_REQUEST_LIST by the MAV and to initiate a write transaction. The GCS can then request the individual mission item based on the knowledge of the total number of waypoints.

ID: 44

§

MISSION_CURRENT(MISSION_CURRENT_DATA)

Message that announces the sequence number of the current target mission item (that the system will fly towards/execute when the mission is running). This message should be streamed all the time (nominally at 1Hz). This message should be emitted following a call to MAV_CMD_DO_SET_MISSION_CURRENT or MISSION_SET_CURRENT.

ID: 42

§

MISSION_ITEM(MISSION_ITEM_DATA)

👎Deprecated: See MISSION_ITEM_INT (Deprecated since 2020-06)

Message encoding a mission item. This message is emitted to announce the presence of a mission item and to set a mission item on the system. The mission item can be either in x, y, z meters (type: LOCAL) or x:lat, y:lon, z:altitude. Local frame is Z-down, right handed (NED), global frame is Z-up, right handed (ENU). NaN may be used to indicate an optional/default value (e.g. to use the system’s current latitude or yaw rather than a specific value). See also https://mavlink.io/en/services/mission.html.

ID: 39

§

MISSION_ITEM_INT(MISSION_ITEM_INT_DATA)

Message encoding a mission item. This message is emitted to announce the presence of a mission item and to set a mission item on the system. The mission item can be either in x, y, z meters (type: LOCAL) or x:lat, y:lon, z:altitude. Local frame is Z-down, right handed (NED), global frame is Z-up, right handed (ENU). NaN or INT32_MAX may be used in float/integer params (respectively) to indicate optional/default values (e.g. to use the component’s current latitude, yaw rather than a specific value). See also https://mavlink.io/en/services/mission.html.

ID: 73

§

MISSION_ITEM_REACHED(MISSION_ITEM_REACHED_DATA)

A certain mission item has been reached. The system will either hold this position (or circle on the orbit) or (if the autocontinue on the WP was set) continue to the next waypoint.

ID: 46

§

MISSION_REQUEST(MISSION_REQUEST_DATA)

👎Deprecated: A system that gets this request should respond with MISSION_ITEM_INT (as though MISSION_REQUEST_INT was received). See MISSION_REQUEST_INT (Deprecated since 2020-06)

Request the information of the mission item with the sequence number seq. The response of the system to this message should be a MISSION_ITEM message. https://mavlink.io/en/services/mission.html.

ID: 40

§

MISSION_REQUEST_INT(MISSION_REQUEST_INT_DATA)

Request the information of the mission item with the sequence number seq. The response of the system to this message should be a MISSION_ITEM_INT message. https://mavlink.io/en/services/mission.html.

ID: 51

§

MISSION_REQUEST_LIST(MISSION_REQUEST_LIST_DATA)

Request the overall list of mission items from the system/component.

ID: 43

§

MISSION_REQUEST_PARTIAL_LIST(MISSION_REQUEST_PARTIAL_LIST_DATA)

Request a partial list of mission items from the system/component. https://mavlink.io/en/services/mission.html. If start and end index are the same, just send one waypoint.

ID: 37

§

MISSION_SET_CURRENT(MISSION_SET_CURRENT_DATA)

👎Deprecated: See MAV_CMD_DO_SET_MISSION_CURRENT (Deprecated since 2022-08)

Set the mission item with sequence number seq as the current item and emit MISSION_CURRENT (whether or not the mission number changed). If a mission is currently being executed, the system will continue to this new mission item on the shortest path, skipping any intermediate mission items. Note that mission jump repeat counters are not reset (see MAV_CMD_DO_JUMP param2). This message may trigger a mission state-machine change on some systems: for example from MISSION_STATE_NOT_STARTED or MISSION_STATE_PAUSED to MISSION_STATE_ACTIVE. If the system is in mission mode, on those systems this command might therefore start, restart or resume the mission. If the system is not in mission mode this message must not trigger a switch to mission mode.

ID: 41

§

MISSION_WRITE_PARTIAL_LIST(MISSION_WRITE_PARTIAL_LIST_DATA)

This message is sent to the MAV to write a partial list. If start index == end index, only one item will be transmitted / updated. If the start index is NOT 0 and above the current list size, this request should be REJECTED!.

ID: 38

§

MOUNT_ORIENTATION(MOUNT_ORIENTATION_DATA)

👎Deprecated: This message is being superseded by MAV_CMD_DO_GIMBAL_MANAGER_PITCHYAW. The message can still be used to communicate with legacy gimbals implementing it. See MAV_CMD_DO_GIMBAL_MANAGER_PITCHYAW (Deprecated since 2020-01)

Orientation of a mount.

ID: 265

§

NAMED_VALUE_FLOAT(NAMED_VALUE_FLOAT_DATA)

Send a key-value pair as float. The use of this message is discouraged for normal packets, but a quite efficient way for testing new messages and getting experimental debug output.

ID: 251

§

NAMED_VALUE_INT(NAMED_VALUE_INT_DATA)

Send a key-value pair as integer. The use of this message is discouraged for normal packets, but a quite efficient way for testing new messages and getting experimental debug output.

ID: 252

§

NAV_CONTROLLER_OUTPUT(NAV_CONTROLLER_OUTPUT_DATA)

The state of the navigation and position controller.

ID: 62

§

OBSTACLE_DISTANCE(OBSTACLE_DISTANCE_DATA)

Obstacle distances in front of the sensor, starting from the left in increment degrees to the right.

ID: 330

§

ODOMETRY(ODOMETRY_DATA)

Odometry message to communicate odometry information with an external interface. Fits ROS REP 147 standard for aerial vehicles (http://www.ros.org/reps/rep-0147.html).

ID: 331

§

ONBOARD_COMPUTER_STATUS(ONBOARD_COMPUTER_STATUS_DATA)

Hardware status sent by an onboard computer.

ID: 390

§

OPEN_DRONE_ID_ARM_STATUS(OPEN_DRONE_ID_ARM_STATUS_DATA)

Transmitter (remote ID system) is enabled and ready to start sending location and other required information. This is streamed by transmitter. A flight controller uses it as a condition to arm.

ID: 12918

§

OPEN_DRONE_ID_AUTHENTICATION(OPEN_DRONE_ID_AUTHENTICATION_DATA)

Data for filling the OpenDroneID Authentication message. The Authentication Message defines a field that can provide a means of authenticity for the identity of the UAS (Unmanned Aircraft System). The Authentication message can have two different formats. For data page 0, the fields PageCount, Length and TimeStamp are present and AuthData is only 17 bytes. For data page 1 through 15, PageCount, Length and TimeStamp are not present and the size of AuthData is 23 bytes.

ID: 12902

§

OPEN_DRONE_ID_BASIC_ID(OPEN_DRONE_ID_BASIC_ID_DATA)

Data for filling the OpenDroneID Basic ID message. This and the below messages are primarily meant for feeding data to/from an OpenDroneID implementation. E.g. https://github.com/opendroneid/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 usage of these messages is documented at https://mavlink.io/en/services/opendroneid.html.

ID: 12900

§

OPEN_DRONE_ID_LOCATION(OPEN_DRONE_ID_LOCATION_DATA)

Data for filling the OpenDroneID Location message. The float data types are 32-bit IEEE 754. The Location message provides the location, altitude, direction and speed of the aircraft.

ID: 12901

§

OPEN_DRONE_ID_MESSAGE_PACK(OPEN_DRONE_ID_MESSAGE_PACK_DATA)

An OpenDroneID message pack is a container for multiple encoded OpenDroneID messages (i.e. not in the format given for the above message descriptions but after encoding into the compressed OpenDroneID byte format). Used e.g. when transmitting on Bluetooth 5.0 Long Range/Extended Advertising or on WiFi Neighbor Aware Networking or on WiFi Beacon.

ID: 12915

§

OPEN_DRONE_ID_OPERATOR_ID(OPEN_DRONE_ID_OPERATOR_ID_DATA)

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

ID: 12905

§

OPEN_DRONE_ID_SELF_ID(OPEN_DRONE_ID_SELF_ID_DATA)

Data for filling the OpenDroneID Self ID message. The Self ID Message is an opportunity for the operator to (optionally) declare their identity and purpose of the flight. This message can provide additional information that could reduce the threat profile of a UA (Unmanned Aircraft) flying in a particular area or manner. This message can also be used to provide optional additional clarification in an emergency/remote ID system failure situation.

ID: 12903

§

OPEN_DRONE_ID_SYSTEM(OPEN_DRONE_ID_SYSTEM_DATA)

Data for filling the OpenDroneID System message. The System Message contains general system information including the operator location/altitude and possible aircraft group and/or category/class information.

ID: 12904

§

OPEN_DRONE_ID_SYSTEM_UPDATE(OPEN_DRONE_ID_SYSTEM_UPDATE_DATA)

Update the data in the OPEN_DRONE_ID_SYSTEM message with new location information. This can be sent to update the location information for the operator when no other information in the SYSTEM message has changed. This message allows for efficient operation on radio links which have limited uplink bandwidth while meeting requirements for update frequency of the operator location.

ID: 12919

§

OPTICAL_FLOW(OPTICAL_FLOW_DATA)

Optical flow from a flow sensor (e.g. optical mouse sensor).

ID: 100

§

OPTICAL_FLOW_RAD(OPTICAL_FLOW_RAD_DATA)

Optical flow from an angular rate flow sensor (e.g. PX4FLOW or mouse sensor).

ID: 106

§

ORBIT_EXECUTION_STATUS(ORBIT_EXECUTION_STATUS_DATA)

Vehicle status report that is sent out while orbit execution is in progress (see MAV_CMD_DO_ORBIT).

ID: 360

§

PARAM_EXT_ACK(PARAM_EXT_ACK_DATA)

Response from a PARAM_EXT_SET message.

ID: 324

§

PARAM_EXT_REQUEST_LIST(PARAM_EXT_REQUEST_LIST_DATA)

Request all parameters of this component. All parameters should be emitted in response as PARAM_EXT_VALUE.

ID: 321

§

PARAM_EXT_REQUEST_READ(PARAM_EXT_REQUEST_READ_DATA)

Request to read the value of a parameter with either the param_id string id or param_index. PARAM_EXT_VALUE should be emitted in response.

ID: 320

§

PARAM_EXT_SET(PARAM_EXT_SET_DATA)

Set a parameter value. In order to deal with message loss (and retransmission of PARAM_EXT_SET), when setting a parameter value and the new value is the same as the current value, you will immediately get a PARAM_ACK_ACCEPTED response. If the current state is PARAM_ACK_IN_PROGRESS, you will accordingly receive a PARAM_ACK_IN_PROGRESS in response.

ID: 323

§

PARAM_EXT_VALUE(PARAM_EXT_VALUE_DATA)

Emit the value of a parameter. The inclusion of param_count and param_index in the message allows the recipient to keep track of received parameters and allows them to re-request missing parameters after a loss or timeout.

ID: 322

§

PARAM_MAP_RC(PARAM_MAP_RC_DATA)

Bind a RC channel to a parameter. The parameter should change according to the RC channel value.

ID: 50

§

PARAM_REQUEST_LIST(PARAM_REQUEST_LIST_DATA)

Request all parameters of this component. After this request, all parameters are emitted. The parameter microservice is documented at https://mavlink.io/en/services/parameter.html.

ID: 21

§

PARAM_REQUEST_READ(PARAM_REQUEST_READ_DATA)

value[float]. This allows to send a parameter to any other component (such as the GCS) without the need of previous knowledge of possible parameter names. Thus the same GCS can store different parameters for different autopilots. See also https://mavlink.io/en/services/parameter.html for a full documentation of QGroundControl and IMU code.

ID: 20

§

PARAM_SET(PARAM_SET_DATA)

Set a parameter value (write new value to permanent storage). The receiving component should acknowledge the new parameter value by broadcasting a PARAM_VALUE message (broadcasting ensures that multiple GCS all have an up-to-date list of all parameters). If the sending GCS did not receive a PARAM_VALUE within its timeout time, it should re-send the PARAM_SET message. The parameter microservice is documented at https://mavlink.io/en/services/parameter.html.

ID: 23

§

PARAM_VALUE(PARAM_VALUE_DATA)

Emit the value of a onboard parameter. The inclusion of param_count and param_index in the message allows the recipient to keep track of received parameters and allows him to re-request missing parameters after a loss or timeout. The parameter microservice is documented at https://mavlink.io/en/services/parameter.html.

ID: 22

§

PING(PING_DATA)

👎Deprecated: To be removed / merged with TIMESYNC. See TIMESYNC (Deprecated since 2011-08)

A ping message either requesting or responding to a ping. This allows to measure the system latencies, including serial port, radio modem and UDP connections. The ping microservice is documented at https://mavlink.io/en/services/ping.html.

ID: 4

§

PLAY_TUNE(PLAY_TUNE_DATA)

👎Deprecated: New version explicitly defines format. More interoperable. See PLAY_TUNE_V2 (Deprecated since 2019-10)

Control vehicle tone generation (buzzer).

ID: 258

§

PLAY_TUNE_V2(PLAY_TUNE_V2_DATA)

Play vehicle tone/tune (buzzer). Supersedes message PLAY_TUNE.

ID: 400

§

POSITION_TARGET_GLOBAL_INT(POSITION_TARGET_GLOBAL_INT_DATA)

Reports the current commanded vehicle position, velocity, and acceleration as specified by the autopilot. This should match the commands sent in SET_POSITION_TARGET_GLOBAL_INT if the vehicle is being controlled this way.

ID: 87

§

POSITION_TARGET_LOCAL_NED(POSITION_TARGET_LOCAL_NED_DATA)

Reports the current commanded vehicle position, velocity, and acceleration as specified by the autopilot. This should match the commands sent in SET_POSITION_TARGET_LOCAL_NED if the vehicle is being controlled this way.

ID: 85

§

POWER_STATUS(POWER_STATUS_DATA)

Power supply status.

ID: 125

§

PROTOCOL_VERSION(PROTOCOL_VERSION_DATA)

Version and capability of protocol version. This message can be requested with MAV_CMD_REQUEST_MESSAGE and is used as part of the handshaking to establish which MAVLink version should be used on the network. Every node should respond to a request for PROTOCOL_VERSION to enable the handshaking. Library implementers should consider adding this into the default decoding state machine to allow the protocol core to respond directly.

ID: 300

§

RADIO_STATUS(RADIO_STATUS_DATA)

Status generated by radio and injected into MAVLink stream.

ID: 109

§

RAW_IMU(RAW_IMU_DATA)

The RAW IMU readings for a 9DOF sensor, which is identified by the id (default IMU1). This message should always contain the true raw values without any scaling to allow data capture and system debugging.

ID: 27

§

RAW_PRESSURE(RAW_PRESSURE_DATA)

The RAW pressure readings for the typical setup of one absolute pressure and one differential pressure sensor. The sensor values should be the raw, UNSCALED ADC values.

ID: 28

§

RAW_RPM(RAW_RPM_DATA)

RPM sensor data message.

ID: 339

§

RC_CHANNELS(RC_CHANNELS_DATA)

The PPM values of the RC channels received. The standard PPM modulation is as follows: 1000 microseconds: 0%, 2000 microseconds: 100%. A value of UINT16_MAX implies the channel is unused. Individual receivers/transmitters might violate this specification.

ID: 65

§

RC_CHANNELS_OVERRIDE(RC_CHANNELS_OVERRIDE_DATA)

The RAW values of the RC channels sent to the MAV to override info received from the RC radio. The standard PPM modulation is as follows: 1000 microseconds: 0%, 2000 microseconds: 100%. Individual receivers/transmitters might violate this specification. Note carefully the semantic differences between the first 8 channels and the subsequent channels.

ID: 70

§

RC_CHANNELS_RAW(RC_CHANNELS_RAW_DATA)

The RAW values of the RC channels received. The standard PPM modulation is as follows: 1000 microseconds: 0%, 2000 microseconds: 100%. A value of UINT16_MAX implies the channel is unused. Individual receivers/transmitters might violate this specification.

ID: 35

§

RC_CHANNELS_SCALED(RC_CHANNELS_SCALED_DATA)

The scaled values of the RC channels received: (-100%) -10000, (0%) 0, (100%) 10000. Channels that are inactive should be set to INT16_MAX.

ID: 34

§

REQUEST_DATA_STREAM(REQUEST_DATA_STREAM_DATA)

👎Deprecated: See MAV_CMD_SET_MESSAGE_INTERVAL (Deprecated since 2015-08)

Request a data stream.

ID: 66

§

REQUEST_EVENT(REQUEST_EVENT_DATA)

Request one or more events to be (re-)sent. If first_sequence==last_sequence, only a single event is requested. Note that first_sequence can be larger than last_sequence (because the sequence number can wrap). Each sequence will trigger an EVENT or EVENT_ERROR response.

ID: 412

§

RESOURCE_REQUEST(RESOURCE_REQUEST_DATA)

The autopilot is requesting a resource (file, binary, other type of data).

ID: 142

§

RESPONSE_EVENT_ERROR(RESPONSE_EVENT_ERROR_DATA)

Response to a REQUEST_EVENT in case of an error (e.g. the event is not available anymore).

ID: 413

§

SAFETY_ALLOWED_AREA(SAFETY_ALLOWED_AREA_DATA)

Read out the safety zone the MAV currently assumes.

ID: 55

§

SAFETY_SET_ALLOWED_AREA(SAFETY_SET_ALLOWED_AREA_DATA)

Set a safety zone (volume), which is defined by two corners of a cube. This message can be used to tell the MAV which setpoints/waypoints to accept and which to reject. Safety areas are often enforced by national or competition regulations.

ID: 54

§

SCALED_IMU(SCALED_IMU_DATA)

The RAW IMU readings for the usual 9DOF sensor setup. This message should contain the scaled values to the described units.

ID: 26

§

SCALED_IMU2(SCALED_IMU2_DATA)

The RAW IMU readings for secondary 9DOF sensor setup. This message should contain the scaled values to the described units.

ID: 116

§

SCALED_IMU3(SCALED_IMU3_DATA)

The RAW IMU readings for 3rd 9DOF sensor setup. This message should contain the scaled values to the described units.

ID: 129

§

SCALED_PRESSURE(SCALED_PRESSURE_DATA)

The pressure readings for the typical setup of one absolute and differential pressure sensor. The units are as specified in each field.

ID: 29

§

SCALED_PRESSURE2(SCALED_PRESSURE2_DATA)

Barometer readings for 2nd barometer.

ID: 137

§

SCALED_PRESSURE3(SCALED_PRESSURE3_DATA)

Barometer readings for 3rd barometer.

ID: 143

§

SERIAL_CONTROL(SERIAL_CONTROL_DATA)

Control a serial port. This can be used for raw access to an onboard serial peripheral such as a GPS or telemetry radio. It is designed to make it possible to update the devices firmware via MAVLink messages or change the devices settings. A message with zero bytes can be used to change just the baudrate.

ID: 126

§

SERVO_OUTPUT_RAW(SERVO_OUTPUT_RAW_DATA)

Superseded by ACTUATOR_OUTPUT_STATUS. The RAW values of the servo outputs (for RC input from the remote, use the RC_CHANNELS messages). The standard PPM modulation is as follows: 1000 microseconds: 0%, 2000 microseconds: 100%.

ID: 36

§

SETUP_SIGNING(SETUP_SIGNING_DATA)

Setup a MAVLink2 signing key. If called with secret_key of all zero and zero initial_timestamp will disable signing.

ID: 256

§

SET_ACTUATOR_CONTROL_TARGET(SET_ACTUATOR_CONTROL_TARGET_DATA)

Set the vehicle attitude and body angular rates.

ID: 139

§

SET_ATTITUDE_TARGET(SET_ATTITUDE_TARGET_DATA)

Sets a desired vehicle attitude. Used by an external controller to command the vehicle (manual controller or other system).

ID: 82

§

SET_GPS_GLOBAL_ORIGIN(SET_GPS_GLOBAL_ORIGIN_DATA)

👎Deprecated: See MAV_CMD_SET_GLOBAL_ORIGIN (Deprecated since 2025-04)

Sets the GPS coordinates of the vehicle local origin (0,0,0) position. Vehicle should emit GPS_GLOBAL_ORIGIN irrespective of whether the origin is changed. This enables transform between the local coordinate frame and the global (GPS) coordinate frame, which may be necessary when (for example) indoor and outdoor settings are connected and the MAV should move from in- to outdoor.

ID: 48

§

SET_HOME_POSITION(SET_HOME_POSITION_DATA)

👎Deprecated: The command protocol version (MAV_CMD_DO_SET_HOME) allows a GCS to detect when setting the home position has failed. See MAV_CMD_DO_SET_HOME (Deprecated since 2022-02)

Sets the home position. The home position is the default position that the system will return to and land on. The position is set automatically by the system during the takeoff (and may also be set using this message). The global and local positions encode the position in the respective coordinate frames, while the q parameter encodes the orientation of the surface. Under normal conditions it describes the heading and terrain slope, which can be used by the aircraft to adjust the approach. The approach 3D vector describes the point to which the system should fly in normal flight mode and then perform a landing sequence along the vector. Note: the current home position may be emitted in a HOME_POSITION message on request (using MAV_CMD_REQUEST_MESSAGE with param1=242).

ID: 243

§

SET_MODE(SET_MODE_DATA)

👎Deprecated: Use COMMAND_LONG with MAV_CMD_DO_SET_MODE instead. See MAV_CMD_DO_SET_MODE (Deprecated since 2015-12)

Set the system mode, as defined by enum MAV_MODE. There is no target component id as the mode is by definition for the overall aircraft, not only for one component.

ID: 11

§

SET_POSITION_TARGET_GLOBAL_INT(SET_POSITION_TARGET_GLOBAL_INT_DATA)

Sets a desired vehicle position, velocity, and/or acceleration in a global coordinate system (WGS84). Used by an external controller to command the vehicle (manual controller or other system).

ID: 86

§

SET_POSITION_TARGET_LOCAL_NED(SET_POSITION_TARGET_LOCAL_NED_DATA)

Sets a desired vehicle position in a local north-east-down coordinate frame. Used by an external controller to command the vehicle (manual controller or other system).

ID: 84

§

SIM_STATE(SIM_STATE_DATA)

Status of simulation environment, if used.

ID: 108

§

SMART_BATTERY_INFO(SMART_BATTERY_INFO_DATA)

👎Deprecated: The BATTERY_INFO message is better aligned with UAVCAN messages, and in any case is useful even if a battery is not “smart”. See BATTERY_INFO (Deprecated since 2024-02)

Smart Battery information (static/infrequent update). Use for updates from: smart battery to flight stack, flight stack to GCS. Use BATTERY_STATUS for the frequent battery updates.

ID: 370

§

STATUSTEXT(STATUSTEXT_DATA)

Status text message. These messages are printed in yellow in the COMM console of QGroundControl. WARNING: They consume quite some bandwidth, so use only for important status and error messages. If implemented wisely, these messages are buffered on the MCU and sent only at a limited rate (e.g. 10 Hz).

ID: 253

§

STORAGE_INFORMATION(STORAGE_INFORMATION_DATA)

Information about a storage medium. This message is sent in response to a request with MAV_CMD_REQUEST_MESSAGE and whenever the status of the storage changes (STORAGE_STATUS). Use MAV_CMD_REQUEST_MESSAGE.param2 to indicate the index/id of requested storage: 0 for all, 1 for first, 2 for second, etc.

ID: 261

§

SUPPORTED_TUNES(SUPPORTED_TUNES_DATA)

Tune formats supported by vehicle. This should be emitted as response to MAV_CMD_REQUEST_MESSAGE.

ID: 401

§

SYSTEM_TIME(SYSTEM_TIME_DATA)

The system time is the time of the master clock. This can be emitted by flight controllers, onboard computers, or other components in the MAVLink network. Components that are using a less reliable time source, such as a battery-backed real time clock, can choose to match their system clock to that of a SYSTEM_TYPE that indicates a more recent time. This allows more broadly accurate date stamping of logs, and so on. If precise time synchronization is needed then use TIMESYNC instead.

ID: 2

§

SYS_STATUS(SYS_STATUS_DATA)

The general system state. If the system is following the MAVLink standard, the system state is mainly defined by three orthogonal states/modes: The system mode, which is either LOCKED (motors shut down and locked), MANUAL (system under RC control), GUIDED (system with autonomous position control, position setpoint controlled manually) or AUTO (system guided by path/waypoint planner). The NAV_MODE defined the current flight state: LIFTOFF (often an open-loop maneuver), LANDING, WAYPOINTS or VECTOR. This represents the internal navigation state machine. The system status shows whether the system is currently active or not and if an emergency occurred. During the CRITICAL and EMERGENCY states the MAV is still considered to be active, but should start emergency procedures autonomously. After a failure occurred it should first move from active to critical to allow manual intervention and then move to emergency after a certain timeout.

ID: 1

§

TERRAIN_CHECK(TERRAIN_CHECK_DATA)

Request that the vehicle report terrain height at the given location (expected response is a TERRAIN_REPORT). Used by GCS to check if vehicle has all terrain data needed for a mission.

ID: 135

§

TERRAIN_DATA(TERRAIN_DATA_DATA)

Terrain data sent from GCS. The lat/lon and grid_spacing must be the same as a lat/lon from a TERRAIN_REQUEST. See terrain protocol docs: https://mavlink.io/en/services/terrain.html.

ID: 134

§

TERRAIN_REPORT(TERRAIN_REPORT_DATA)

Streamed from drone to report progress of terrain map download (initiated by TERRAIN_REQUEST), or sent as a response to a TERRAIN_CHECK request. See terrain protocol docs: https://mavlink.io/en/services/terrain.html.

ID: 136

§

TERRAIN_REQUEST(TERRAIN_REQUEST_DATA)

Request for terrain data and terrain status. See terrain protocol docs: https://mavlink.io/en/services/terrain.html.

ID: 133

§

TIMESYNC(TIMESYNC_DATA)

Time synchronization message. The message is used for both timesync requests and responses. The request is sent with ts1=syncing component timestamp and tc1=0, and may be broadcast or targeted to a specific system/component. The response is sent with ts1=syncing component timestamp (mirror back unchanged), and tc1=responding component timestamp, with the target_system and target_component set to ids of the original request. Systems can determine if they are receiving a request or response based on the value of tc. If the response has target_system==target_component==0 the remote system has not been updated to use the component IDs and cannot reliably timesync; the requestor may report an error. Timestamps are UNIX Epoch time or time since system boot in nanoseconds (the timestamp format can be inferred by checking for the magnitude of the number; generally it doesn’t matter as only the offset is used). The message sequence is repeated numerous times with results being filtered/averaged to estimate the offset. See also: https://mavlink.io/en/services/timesync.html.

ID: 111

§

TIME_ESTIMATE_TO_TARGET(TIME_ESTIMATE_TO_TARGET_DATA)

Time/duration estimates for various events and actions given the current vehicle state and position.

ID: 380

§

TRAJECTORY_REPRESENTATION_BEZIER(TRAJECTORY_REPRESENTATION_BEZIER_DATA)

Describe a trajectory using an array of up-to 5 bezier control points in the local frame (MAV_FRAME_LOCAL_NED).

ID: 333

§

TRAJECTORY_REPRESENTATION_WAYPOINTS(TRAJECTORY_REPRESENTATION_WAYPOINTS_DATA)

Describe a trajectory using an array of up-to 5 waypoints in the local frame (MAV_FRAME_LOCAL_NED).

ID: 332

§

TUNNEL(TUNNEL_DATA)

Message for transporting “arbitrary” variable-length data from one component to another (broadcast is not forbidden, but discouraged). The encoding of the data is usually extension specific, i.e. determined by the source, and is usually not documented as part of the MAVLink specification.

ID: 385

§

UAVCAN_NODE_INFO(UAVCAN_NODE_INFO_DATA)

General information describing a particular UAVCAN node. Please refer to the definition of the UAVCAN service “uavcan.protocol.GetNodeInfo” for the background information. This message should be emitted by the system whenever a new node appears online, or an existing node reboots. Additionally, it can be emitted upon request from the other end of the MAVLink channel (see MAV_CMD_UAVCAN_GET_NODE_INFO). It is also not prohibited to emit this message unconditionally at a low frequency. The UAVCAN specification is available at http://uavcan.org.

ID: 311

§

UAVCAN_NODE_STATUS(UAVCAN_NODE_STATUS_DATA)

General status information of an UAVCAN node. Please refer to the definition of the UAVCAN message “uavcan.protocol.NodeStatus” for the background information. The UAVCAN specification is available at http://uavcan.org.

ID: 310

§

UTM_GLOBAL_POSITION(UTM_GLOBAL_POSITION_DATA)

The global position resulting from GPS and sensor fusion.

ID: 340

§

V2_EXTENSION(V2_EXTENSION_DATA)

Message implementing parts of the V2 payload specs in V1 frames for transitional support.

ID: 248

§

VFR_HUD(VFR_HUD_DATA)

Metrics typically displayed on a HUD for fixed wing aircraft.

ID: 74

§

VIBRATION(VIBRATION_DATA)

Vibration levels and accelerometer clipping.

ID: 241

§

VICON_POSITION_ESTIMATE(VICON_POSITION_ESTIMATE_DATA)

Global position estimate from a Vicon motion system source.

ID: 104

§

VIDEO_STREAM_INFORMATION(VIDEO_STREAM_INFORMATION_DATA)

Information about video stream. It may be requested using MAV_CMD_REQUEST_MESSAGE, where param2 indicates the video stream id: 0 for all streams, 1 for first, 2 for second, etc.

ID: 269

§

VIDEO_STREAM_STATUS(VIDEO_STREAM_STATUS_DATA)

Information about the status of a video stream. It may be requested using MAV_CMD_REQUEST_MESSAGE.

ID: 270

§

VISION_POSITION_ESTIMATE(VISION_POSITION_ESTIMATE_DATA)

Local position/attitude estimate from a vision source.

ID: 102

§

VISION_SPEED_ESTIMATE(VISION_SPEED_ESTIMATE_DATA)

Speed estimate from a vision source.

ID: 103

§

WHEEL_DISTANCE(WHEEL_DISTANCE_DATA)

Cumulative distance traveled for each reported wheel.

ID: 9000

§

WIFI_CONFIG_AP(WIFI_CONFIG_AP_DATA)

Configure WiFi AP SSID, password, and mode. This message is re-emitted as an acknowledgement by the AP. The message may also be explicitly requested using MAV_CMD_REQUEST_MESSAGE.

ID: 299

§

WINCH_STATUS(WINCH_STATUS_DATA)

Winch status.

ID: 9005

§

WIND_COV(WIND_COV_DATA)

Wind estimate from vehicle. Note that despite the name, this message does not actually contain any covariances but instead variability and accuracy fields in terms of standard deviation (1-STD).

ID: 231

Implementations§

Source§

impl MavMessage

Source

pub const fn all_ids() -> &'static [u32]

Trait Implementations§

Source§

impl Clone for MavMessage

Source§

fn clone(&self) -> MavMessage

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MavMessage

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for MavMessage

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Message for MavMessage

Source§

fn parse( version: MavlinkVersion, id: u32, payload: &[u8], ) -> Result<Self, ParserError>

Parse a Message from its message id and payload bytes
Source§

fn message_name(&self) -> &'static str

MAVLink message name
Source§

fn message_id(&self) -> u32

MAVLink message ID
Source§

fn message_id_from_name(name: &str) -> Option<u32>

Return message id of specific message name
Source§

fn default_message_from_id(id: u32) -> Option<Self>

Return a default message of the speicfied message id
Source§

fn ser(&self, version: MavlinkVersion, bytes: &mut [u8]) -> usize

Serialize Message into byte slice and return count of bytes written
Source§

fn extra_crc(id: u32) -> u8

Return a message types CRC_EXTRA byte
Source§

fn target_system_id(&self) -> Option<u8>

Target system ID if the message is directed to a specific system
Source§

fn target_component_id(&self) -> Option<u8>

Target component ID if the message is directed to a specific component
Source§

impl PartialEq for MavMessage

Source§

fn eq(&self, other: &MavMessage) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for MavMessage

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for MavMessage

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,