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. - Memory
Link - An in-process byte link: one end of a bidirectional pipe between two connections.
- Sitl
Autopilot - A hardware-free autopilot stand-in for software-in-the-loop testing.
Traits§
- Byte
Link - A bidirectional byte stream: the seam a MAVLink
Connectionmoves frames over.