[package]
edition = "2021"
rust-version = "1.93"
name = "ados-protocol"
version = "0.106.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Wire contracts for the ADOS Drone Agent: length-prefixed IPC framing, plugin RPC envelope and capability tokens, the vision frame bus, MSP and MAVLink helpers."
homepage = "https://altnautica.com"
documentation = "https://docs.rs/ados-protocol"
readme = "README.md"
keywords = [
"ados",
"drone",
"uav",
"mavlink",
"ipc",
]
categories = [
"aerospace",
"aerospace::protocols",
"aerospace::unmanned-aerial-vehicles",
"aerospace::drones",
"network-programming",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/altnautica/ADOSDroneAgent"
[package.metadata.docs.rs]
features = ["mavlink"]
targets = ["x86_64-unknown-linux-gnu"]
[features]
default = []
mavlink = ["dep:rust_mavlink"]
tls = ["dep:rustls"]
tracing-layer = ["dep:tracing-subscriber"]
[lib]
name = "ados_protocol"
path = "src/lib.rs"
[[example]]
name = "units"
path = "examples/units.rs"
[[test]]
name = "capabilities"
path = "tests/capabilities.rs"
[[test]]
name = "python_interop"
path = "tests/python_interop.rs"
[[test]]
name = "sidecar_registry_scan"
path = "tests/sidecar_registry_scan.rs"
[[test]]
name = "units_bijection"
path = "tests/units_bijection.rs"
[dependencies.base64]
version = "0.23"
[dependencies.bytes]
version = "1"
[dependencies.getrandom]
version = "0.4"
[dependencies.hex]
version = "0.4"
[dependencies.hmac]
version = "0.13"
[dependencies.nix]
version = "0.29"
features = [
"process",
"signal",
"fs",
"user",
"term",
"poll",
]
default-features = false
[dependencies.raptorq]
version = "2"
[dependencies.rmp-serde]
version = "1.3"
[dependencies.rmpv]
version = "1.3"
features = ["with-serde"]
[dependencies.rust_mavlink]
version = "0.18"
features = [
"dialect-ardupilotmega",
"std",
]
optional = true
default-features = false
package = "mavlink"
[dependencies.rustls]
version = "0.23"
features = [
"ring",
"std",
"tls12",
]
optional = true
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.serde_norway]
version = "0.9"
[dependencies.sha2]
version = "0.11"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"rt",
"rt-multi-thread",
"macros",
"net",
"io-util",
"sync",
"time",
"process",
"signal",
"fs",
]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
optional = true
[dependencies.ureq]
version = "2"
features = ["json"]
default-features = false
[dev-dependencies.tempfile]
version = "3"