Crate mavlink_core

Source
Expand description

The MAVLink message set.

§Message sets and the Message trait

Each message set has its own module with corresponding data types, including a MavMessage enum that represents all possible messages in that message set. The Message trait is used to represent messages in an abstract way, and each MavMessage enum implements this trait (for example, [ardupilotmega::MavMessage]). This is then monomorphized to the specific message set you are using in your application at compile-time via type parameters. If you expect ArduPilotMega-flavored messages, then you will need a MavConnection<ardupilotmega::MavMessage> and you will receive ardupilotmega::MavMessages from it.

Some message sets include others. For example, all message sets except common include the common message set. This is represented with extra values in the MavMessage enum: a message in the common message set received on an ArduPilotMega connection will be an ardupilotmega::MavMessage::common(common::MavMessage).

Please note that if you want to enable a given message set, you must also enable the feature for the message sets that it includes. For example, you cannot use the ardupilotmega feature without also using the uavionix and icarous features.

Modules§

bytes
bytes_mut
error
peek_reader
This module implements a buffered/peekable reader.
utils

Structs§

MAVLinkV1MessageRaw
MAVLinkV2MessageRaw
MavFrame
Encapsulation of the Mavlink message and the header, important to preserve information about the sender system and component id
MavHeader
Metadata from a MAVLink packet header

Enums§

MavlinkVersion
Versions of the Mavlink protocol that we support

Constants§

MAV_STX
Message framing marker for mavlink v1
MAV_STX_V2
Message framing marker for mavlink v2
MAX_FRAME_SIZE

Traits§

MavConnection
A MAVLink connection
Message
MessageData

Functions§

calculate_crc
connect
Connect to a MAVLink node by address string.
read_v1_msg
Read a MAVLink v1 message from a Read stream.
read_v1_raw_message
Return a raw buffer with the mavlink message V1 maximum size is 263 bytes: <https://mavlink.io/en/guide/serialization.html>
read_v2_msg
Read a MAVLink v2 message from a Read stream.
read_v2_raw_message
Return a raw buffer with the mavlink message V2 maximum size is 280 bytes: <https://mavlink.io/en/guide/serialization.html>
read_versioned_msg
write_v1_msg
Write a MAVLink v1 message to a Write stream.
write_v2_msg
Write a MAVLink v2 message to a Write stream.
write_versioned_msg
Write a message using the given mavlink version