Skip to main content

Module link

Module link 

Source
Expand description

The byte-stream link seam and an in-process autopilot to exercise it with no hardware.

MAVLink runs over anything that moves bytes: a serial line to a flight controller, a UDP socket to a ground station, a radio. This module abstracts that as a single ByteLink trait, so the same logic drives all of them, and a real serial or UDP backend plugs into it later without touching the protocol above. A Connection pairs a link with a Parser and, optionally, signing, so sending and receiving whole messages is one call each.

To make the whole path testable with nothing plugged in, MemoryLink connects two connections through an in-memory pipe, and SitlAutopilot is a software-in-the-loop stand-in that heartbeats and answers commands the way a real autopilot would. This is the drone equivalent of the loopback transport and device simulators the rest of the SDK uses to run with zero hardware.

This layer is available with the default std feature; the protocol core below it is no_std.

Structs§

Connection
A MAVLink endpoint over a ByteLink: sends and receives whole messages, and signs and verifies them when configured to.
MemoryLink
An in-process byte link: one end of a bidirectional pipe between two connections.
SitlAutopilot
A hardware-free autopilot stand-in for software-in-the-loop testing.

Traits§

ByteLink
A bidirectional byte stream: the seam a MAVLink Connection moves frames over.