Crates.io | mavlink-message-definitions |
lib.rs | mavlink-message-definitions |
version | |
source | src |
created_at | 2025-02-20 19:22:37.158334+00 |
updated_at | 2025-03-15 19:51:25.075629+00 |
description | MAVLink message definitions in MAVInspect format |
homepage | https://mavka.gitlab.io/home/projects/mavspec |
repository | https://gitlab.com/mavka/spec/protocols/mavlink/mavspec-definitions |
max_upload_size | |
id | 1563018 |
Cargo.toml error: | TOML parse error at line 24, column 1 | 24 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
β οΈ All issues related to this project should be submitted to MAVSpec.
This is a very simple crate with the whole purpose to collect MAVLink message definitions using MAVInspect. It is used by MAVSpec as a source of truth about MAVLink dialect specification.
Upstream crates that use Mavka libraries toolchain can use Cargo patch mechanism to replace this crate and therefore change which dialects will be packaged.
This crate exposes just one protocol
function that allows to obtain metadata for the entire set of MAVLink dialects.
fn main() {
let protocol = mavlink_message_definitions::protocol();
let common = protocol.get_dialect_by_name("common").unwrap();
let heartbeat_message = common.get_message_by_name("HEARTBEAT").unwrap();
assert_eq!(heartbeat_message.defined_in().unwrap(), "minimal");
}
All MAVLink message definitions live in the message_definitions
directory.
standard
β standard MAVLink dialects. These dialects enabled by dlct-*
feature
flags.test
β MAVLink dialects for test purposes. These dialects enabled by
test-dialects
feature flag.extra
β extra dialects. These dialects enabled by test-dialects
feature flag.
You can put your own message definitions here and patch this crate to generate additional dialects for upstream crates.The main development workflow for this crate involves inclusion into MAVSpec as a submodule.
We reserve a special extras
branch to test extra dialects' generation.
Here we simply comply with the suggested dual licensing according to Rust API Guidelines (C-PERMISSIVE).
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.