# MAVLink dialects the bridge reads The MAVLink bridge (`src/mavlink`, feature `mavlink`) decodes frames with the `mavlink` crate 0.21.0 and reads what each field *means* (its unit, its fixed-point scale, its range) from these XML files through `flowrs-iface`'s own reader. The two must describe the same messages, so these are the files the crate's build script compiles, unchanged: the `mavlink/mavlink` repository at `44a1229ece43cfc3ce1640451ad5aaba52a28459`, the commit the crate's `mavlink` submodule names at its 0.21.0 tag. Every file was compared byte for byte with the copy inside the published crate. `tests/mavlink.rs` checks that `flowrs-iface`'s `CRC_EXTRA` equals the crate's for every message of `ardupilotmega` and `common`; a crate upgrade that moves the XML fails it until these files follow. | File | Includes | What | |---|---|---| | `minimal.xml` | — | HEARTBEAT, PROTOCOL_VERSION and the core enums | | `standard.xml` | `minimal.xml` | the standard set | | `common.xml` | `standard.xml` | the common set, PX4's and ArduPilot's base (1,152-odd `units=` attributes) | | `ardupilotmega.xml` | `common.xml`, `uAvionix.xml`, `icarous.xml`, `loweheiser.xml`, `cubepilot.xml`, `csAirLink.xml` | ArduPilot's dialect | | `uAvionix.xml`, `icarous.xml`, `loweheiser.xml`, `cubepilot.xml`, `csAirLink.xml` | — or `common.xml` / `minimal.xml` | ardupilotmega's includes | This is a newer commit than the projection corpus pins (`crates/flowrs-iface/tests/corpus/pins/mavlink.json`, `2e2b6af…`): `common.xml`, `minimal.xml` and `standard.xml` differ between the two. The bridge follows the crate it links; the corpus measures the projections. ## Licence The message definition XML is MIT-licensed (https://mavlink.io/en/#license); `LICENSE` reproduces the permission notice from the repository's `COPYING`. The generator, mavgen and pymavlink, is LGPLv3 and is neither vendored nor linked. `MANIFEST.tsv` gives each file's SHA-256 and source.