[package] name = "mavio" description = "Minimalistic MAVLink client that supports `no-std` and `no-alloc` targets." version = "0.2.6" edition = "2021" authors = ["Mykhailo Ziatin "] 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 ########################################################### [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 ########################################################### [features] ## Default features. default = [] ## Enable unstable API features. unstable = [] ## Additional auxilary tools. extras = [] ## Unsafe features, that allow access to internal state of the entities. unsafe = [] ## Enable memory allocation support. alloc = [ "mavspec/alloc", "serde/alloc", "tbytes/alloc", ] ## Enable Rust std library. std = [ "alloc", "mavspec/std", "serde/std", "sha2/std", "tbytes/std", "thiserror", "bitflags/std" ] ## Enable sha2 backend for message signing sha2 = ["dep:sha2"] ## Enable serde support. serde = [ "dep:serde", "dep:serde_arrays", "mavspec/serde", "bitflags/serde", ] ## Enable tokio (async) support async = ["dep:tokio", "std"] ########################################################### # Dialects ########################################################### ## Include `ardupilotmega` dialect ardupilotmega = ["common"] ## Include `ASLUAV` dialect asluav = ["common"] ## Include `AVSSUAS` dialect avssuas = ["common"] ## Include `common` dialect common = ["minimal"] ## Include `csAirLink` dialect cs_air_link = [] ## Include `cubepilot` dialect cubepilot = ["common"] ## Include `development` dialect development = ["common"] ## Include `icarous` dialect icarous = [] ## Include `matrixpilot` dialect matrixpilot = ["common"] ## Include `minimal` dialect minimal = [] ## Include `paparazzi` dialect paparazzi = ["common"] ## Include `standard` dialect standard = ["minimal"] ## Include `ualberta` dialect ualberta = ["common"] ## Include `uAvionix` dialect uavionix = ["common"] ## Include `all` meta-dialect all = [ "ardupilotmega", "common", "asluav", "avssuas", "cs_air_link", "cubepilot", "development", "icarous", "matrixpilot", "minimal", "paparazzi", "standard", "ualberta", "uavionix", ] ########################################################### # Metadata ########################################################### [package.metadata.docs.rs] # Features to include into `docs.rs` documentation features = ["serde", "all", "unstable", "unsafe", "extras", "std", "async", "sha2"]