[package]
name = "mavio"
description = "Minimalistic MAVLink client that supports `no-std` and `no-alloc` targets."
version = "0.2.6"
edition = "2021"
authors = ["Mykhailo Ziatin <ziatin@mathwithoutend.org>"]
repository = "https://gitlab.com/mavka/libs/mavio"
readme = "../README.md"
license = "MIT OR Apache-2.0"
homepage = "https://mavka.gitlab.io/home/projects/mavio"
keywords = ["MAVLink", "UAV", "drones"]
categories = [
"aerospace::protocols",
"aerospace::drones",
"aerospace::unmanned-aerial-vehicles",
"no-std",
"no-std::no-alloc",
]
resolver = "2"
include = [
"message_definitions",
"src",
"build.rs",
"Cargo.toml"
]
[lib]
name = "mavio"
path = "src/lib.rs"
[dependencies]
bitflags = { version = "2.5.0", default-features = false }
crc-any = { version = "2.4.4", default-features = false }
mavspec = { version = "0.3.4", default-features = false, features = ["rust"] }
paste = "1.0.14"
serde = { version = "1.0.197", default-features = false, features = ["derive"], optional = true }
serde_arrays = { version = "0.1.0", default-features = false, optional = true }
sha2 = { version = "0.10.8", default-features = false, optional = true }
tbytes = { version = "0.1.0", default-features = false }
thiserror = { version = "1.0.58", optional = true }
tokio = { version = "1.36.0", features = ["io-util"], optional = true }
[dev-dependencies]
log = "0.4.21"
env_logger = "0.11.3"
portpicker = "0.1.1"
[build-dependencies]
mavspec = { version = "0.3.4", default-features = false, features = ["rust_gen", "fingerprints"] }
[features]
default = []
unstable = []
extras = []
unsafe = []
alloc = [
"mavspec/alloc",
"serde/alloc",
"tbytes/alloc",
]
std = [
"alloc",
"mavspec/std",
"serde/std",
"sha2/std",
"tbytes/std",
"thiserror",
"bitflags/std"
]
sha2 = ["dep:sha2"]
serde = [
"dep:serde",
"dep:serde_arrays",
"mavspec/serde",
"bitflags/serde",
]
async = ["dep:tokio", "std"]
ardupilotmega = ["common"]
asluav = ["common"]
avssuas = ["common"]
common = ["minimal"]
cs_air_link = []
cubepilot = ["common"]
development = ["common"]
icarous = []
matrixpilot = ["common"]
minimal = []
paparazzi = ["common"]
standard = ["minimal"]
ualberta = ["common"]
uavionix = ["common"]
all = [
"ardupilotmega",
"common",
"asluav",
"avssuas",
"cs_air_link",
"cubepilot",
"development",
"icarous",
"matrixpilot",
"minimal",
"paparazzi",
"standard",
"ualberta",
"uavionix",
]
[package.metadata.docs.rs]
features = ["serde", "all", "unstable", "unsafe", "extras", "std", "async", "sha2"]