[][src]Crate mavlink

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

ardupilotmega
asluav
autoquad
common
error
icarous
matrixpilot
minimal
paparazzi
python_array_test
slugs
standard
test
ualberta
uavionix

Structs

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

Traits

MavConnection

A MAVLink connection

Message

Functions

connect

Connect to a MAVLink node by address string.

read_v1_msg

Read a MAVLink v1 message from a Read stream.

read_v2_msg

Read a MAVLink v2 message from a Read stream.

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