[package]
edition = "2024"
rust-version = "1.85.0"
name = "mavlink"
version = "0.18.0"
authors = [
"Todd Stellanova",
"Michal Podhradsky",
"Kevin Mehall",
"Tim Ryan",
"Patrick José Pereira",
"Ibiyemi Abiodun",
]
build = "build/main.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Implements the MAVLink data interchange format for UAVs."
readme = "README.md"
keywords = [
"mavlink",
"parser",
"protocol",
"embedded",
]
categories = [
"aerospace",
"aerospace::protocols",
"parsing",
"embedded",
]
license = "MIT/Apache-2.0"
repository = "https://github.com/mavlink/rust-mavlink"
resolver = "1"
[package.metadata.docs.rs]
all-features = true
[features]
arbitrary = [
"dep:arbitrary",
"dep:rand",
"mavlink-bindgen/arbitrary",
"mavlink-core/arbitrary",
"bitflags/arbitrary",
]
default = [
"std",
"transport-tcp",
"transport-udp",
"transport-direct-serial",
"serde",
"dialect-ardupilotmega",
"dialect-common",
"format-generated-code",
]
dialect-all = []
dialect-ardupilotmega = []
dialect-asluav = []
dialect-avssuas = []
dialect-common = []
dialect-csairlink = []
dialect-cubepilot = []
dialect-development = []
dialect-icarous = []
dialect-loweheiser = []
dialect-marsh = []
dialect-matrixpilot = []
dialect-minimal = []
dialect-paparazzi = []
dialect-python_array_test = []
dialect-standard = []
dialect-stemstudios = []
dialect-storm32 = []
dialect-test = []
dialect-ualberta = []
dialect-uavionix = []
embedded = ["mavlink-core/embedded"]
format-generated-code = []
mav2-message-extensions = ["mavlink-bindgen/mav2-message-extensions"]
mav2-message-signing = ["mavlink-core/mav2-message-signing"]
serde = [
"bitflags/serde",
"dep:serde",
"dep:serde_arrays",
"mavlink-core/serde",
]
std = ["mavlink-core/std"]
tokio = ["mavlink-core/tokio"]
transport-direct-serial = ["mavlink-core/transport-direct-serial"]
transport-tcp = ["mavlink-core/transport-tcp"]
transport-udp = ["mavlink-core/transport-udp"]
ts-rs = ["dep:ts-rs"]
[lib]
name = "mavlink"
path = "src/lib.rs"
[[test]]
name = "agnostic_decode_test"
path = "tests/agnostic_decode_test.rs"
[[test]]
name = "direct_serial_tests"
path = "tests/direct_serial_tests.rs"
[[test]]
name = "encode_decode_tests"
path = "tests/encode_decode_tests.rs"
[[test]]
name = "file_connection_tests"
path = "tests/file_connection_tests.rs"
[[test]]
name = "helper_tests"
path = "tests/helper_tests.rs"
[[test]]
name = "invalid_value_test"
path = "tests/invalid_value_test.rs"
[[test]]
name = "mav_frame_tests"
path = "tests/mav_frame_tests.rs"
[[test]]
name = "parse_test"
path = "tests/parse_test.rs"
[[test]]
name = "process_log_files"
path = "tests/process_log_files.rs"
[[test]]
name = "random_test"
path = "tests/random_test.rs"
[[test]]
name = "serde_test"
path = "tests/serde_test.rs"
[[test]]
name = "signing"
path = "tests/signing.rs"
[[test]]
name = "target_fields_tests"
path = "tests/target_fields_tests.rs"
[[test]]
name = "tcp_loopback_async_tests"
path = "tests/tcp_loopback_async_tests.rs"
[[test]]
name = "tcp_loopback_tests"
path = "tests/tcp_loopback_tests.rs"
[[test]]
name = "udp_loopback_async_tests"
path = "tests/udp_loopback_async_tests.rs"
[[test]]
name = "udp_loopback_tests"
path = "tests/udp_loopback_tests.rs"
[[test]]
name = "v1_encode_decode_tests"
path = "tests/v1_encode_decode_tests.rs"
[[test]]
name = "v2_encode_decode_tests"
path = "tests/v2_encode_decode_tests.rs"
[dependencies.arbitrary]
version = "1.4"
features = ["derive"]
optional = true
[dependencies.bitflags]
version = "2.9.1"
default-features = false
[dependencies.mavlink-core]
version = "=0.18.0"
default-features = false
[dependencies.num-derive]
version = "0.4"
[dependencies.num-traits]
version = "0.2"
default-features = false
[dependencies.rand]
version = "0.9"
features = [
"std",
"std_rng",
]
optional = true
default-features = false
[dependencies.serde]
version = "1.0.115"
features = ["derive"]
optional = true
[dependencies.serde_arrays]
version = "0.2.0"
optional = true
[dependencies.ts-rs]
version = "11.0.1"
optional = true
[dev-dependencies.serde_json]
version = "1.0"
features = ["preserve_order"]
[dev-dependencies.serde_test]
version = "1.0"
[dev-dependencies.tokio]
version = "1.0"
features = [
"macros",
"rt",
"time",
]
default-features = false
[build-dependencies.mavlink-bindgen]
version = "=0.18.0"
default-features = false
[lints.clippy]
multiple_crate_versions = "allow"
semicolon_if_nothing_returned = "warn"
uninlined_format_args = "warn"
unnecessary_semicolon = "warn"
use_self = "warn"
[lints.clippy.cargo]
level = "warn"
priority = -1