[package]
edition = "2021"
rust-version = "1.83"
name = "turret"
version = "0.1.3"
authors = ["luofang@luofang.org"]
build = false
exclude = [
"test_daemon.sh",
"systemd/**",
".github/**",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "MAVLink Gimbal Manager and CLI for STorM32 RC Commands gimbals"
homepage = "https://github.com/luofang34/turret"
documentation = "https://docs.rs/turret"
readme = "README.md"
keywords = [
"turret",
"gimbal",
"storm32",
"mavlink",
"serial",
]
categories = [
"command-line-utilities",
"hardware-support",
]
license = "GPL-3.0"
repository = "https://github.com/luofang34/turret"
[features]
cli = [
"dep:clap",
"dep:tracing-subscriber",
]
daemon = [
"dep:tokio",
"dep:parking_lot",
"dep:serde_json",
"dep:serde_yaml_ng",
"dep:toml",
"dep:mavlink",
]
default = [
"cli",
"daemon",
]
[lib]
name = "turret"
path = "src/lib.rs"
[[bin]]
name = "turret"
path = "src/main.rs"
required-features = [
"cli",
"daemon",
]
[[test]]
name = "mavlink_smoke"
path = "tests/mavlink_smoke.rs"
required-features = ["daemon"]
[dependencies.clap]
version = "4.6"
features = ["derive"]
optional = true
[dependencies.mavlink]
version = "0.17"
optional = true
[dependencies.parking_lot]
version = "0.12"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.serde_yaml_ng]
version = "0.10"
optional = true
[dependencies.serialport]
version = "4.9"
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.52"
features = [
"rt",
"macros",
"io-util",
"net",
"signal",
"sync",
"time",
]
optional = true
default-features = false
[dependencies.toml]
version = "1.1"
features = [
"parse",
"display",
"serde",
]
optional = true
default-features = false
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
optional = true
[lints.clippy]
await_holding_lock = "forbid"
disallowed_types = "forbid"
expect_used = "deny"
let_underscore_future = "forbid"
let_underscore_must_use = "forbid"
panic = "deny"
unwrap_used = "deny"
[lints.rust]
missing_docs = "deny"
unsafe_code = "forbid"
[profile.release]
opt-level = "z"
lto = true
codegen-units = 1
panic = "abort"
strip = true