[package]
edition = "2024"
name = "mavkit"
version = "0.2.1"
authors = ["Alexander Averyanov"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Async MAVLink SDK for vehicle control, missions, and parameters"
homepage = "https://github.com/averyanalex/mavkit"
documentation = "https://docs.rs/mavkit"
readme = "README.md"
keywords = [
"mavlink",
"uav",
"drone",
"ardupilot",
]
categories = [
"aerospace",
"asynchronous",
"api-bindings",
]
license = "MIT"
repository = "https://github.com/averyanalex/mavkit"
[features]
ardupilot = []
default = [
"udp",
"serial",
"ardupilot",
]
serial = ["mavlink/direct-serial"]
stream = [
"async-trait",
"futures",
]
tcp = ["mavlink/tcp"]
udp = ["mavlink/udp"]
[lib]
name = "mavkit"
path = "src/lib.rs"
[[example]]
name = "connect_tcp"
path = "examples/connect_tcp.rs"
[[example]]
name = "connect_udp"
path = "examples/connect_udp.rs"
[[example]]
name = "list_modes"
path = "examples/list_modes.rs"
[[example]]
name = "mission_upload_download"
path = "examples/mission_upload_download.rs"
[[example]]
name = "monitor_statustext"
path = "examples/monitor_statustext.rs"
[[example]]
name = "monitor_telemetry"
path = "examples/monitor_telemetry.rs"
[[example]]
name = "params_roundtrip"
path = "examples/params_roundtrip.rs"
[[example]]
name = "params_write"
path = "examples/params_write.rs"
[[example]]
name = "set_mode_and_arm"
path = "examples/set_mode_and_arm.rs"
[[test]]
name = "sitl_commands"
path = "tests/sitl_commands.rs"
[[test]]
name = "sitl_mission"
path = "tests/sitl_mission.rs"
[[test]]
name = "sitl_params"
path = "tests/sitl_params.rs"
[[test]]
name = "sitl_roundtrip"
path = "tests/sitl_roundtrip.rs"
[dependencies.async-trait]
version = "0.1"
optional = true
[dependencies.futures]
version = "0.3"
features = ["alloc"]
optional = true
default-features = false
[dependencies.mavlink]
version = "0.17"
features = [
"tokio-1",
"emit-extensions",
]
[dependencies.num-traits]
version = "0.2"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"sync",
"time",
"rt",
"macros",
]
[dependencies.tokio-util]
version = "0.7"
features = ["rt"]
[dependencies.tracing]
version = "0.1"
[dev-dependencies.tokio]
version = "1"
features = ["full"]