protoflight 0.1.2

Protoflight flight controller.
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "protoflight"
version = "0.1.2"
authors = ["Martin Budden"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Protoflight flight controller."
readme = "README.md"
keywords = [
    "flight",
    "no-std",
]
categories = [
    "embedded",
    "mathematics",
    "no-std",
    "science::robotics",
    "aerospace::drones",
]
license = "GPL-3.0-or-later"
repository = "https://github.com/martinbudden/crate-protoflight"
resolver = "2"

[package.metadata.docs.rs]
all-features = true

[features]
align = [
    "vqm/align",
    "signal-filters/align",
]
autopilot = []
barometer = ["blackbox-logger/barometer"]
battery = []
blackbox = [
    "dep:blackbox-logger",
    "dep:embedded-sdmmc",
]
cms = []
dashboard = []
debug = []
default = [
    "libm",
    "std",
    "barometer",
    "blackbox",
    "debug",
    "dshot_telemetry",
    "gps",
    "huffman",
    "msp",
    "rpm_filters",
    "rtt-debug",
    "serde",
]
dshot_telemetry = ["blackbox-logger/dshot_telemetry"]
eight_motors = [
    "blackbox-logger/eight_motors",
    "motor-mixers/eight_motors",
]
gps = ["blackbox-logger/gps"]
huffman = ["blackbox-logger/huffman"]
libm = [
    "dep:libm",
    "num-traits/libm",
    "vqm/libm",
    "signal-filters/libm",
    "radio-controllers/libm",
]
magnetometer = ["blackbox-logger/magnetometer"]
max7456 = []
msp = []
multicore = []
optical_flow = []
osd = []
osd_hd = []
rangefinder = ["blackbox-logger/rangefinder"]
rp2350 = [
    "dep:cortex-m-rt",
    "dep:embassy-rp",
    "dep:cyw43-pio",
    "embassy-rp/rp235xa",
    "embassy-rp/rt",
    "embassy-rp/executor-thread",
    "embassy-rp/executor-interrupt",
    "embassy-executor/platform-cortex-m",
]
rpm_filters = []
rtt-debug = ["dep:rtt-target"]
serde = [
    "dep:serde",
    "blackbox-logger/serde",
    "imu-sensors/serde",
    "motor-mixers/serde",
    "radio-controllers/serde",
    "simple-bitset/serde",
    "vqm/serde",
]
servos = ["blackbox-logger/servos"]
simd = [
    "vqm/simd",
    "signal-filters/simd",
]
std = [
    "critical-section/std",
    "derive_more/std",
    "embassy-time/std",
    "embassy-executor/platform-std",
    "imu-sensors/std",
    "num-traits/std",
    "signal-filters/std",
    "vqm/std",
    "log/std",
    "dep:embedded-storage-file",
    "dep:env_logger",
    "dep:env_filter",
]
vtx = []

[[bin]]
name = "protoflight"
path = "src/main.rs"

[dependencies.blackbox-logger]
version = "0.1.9"
optional = true
default-features = false

[dependencies.cortex-m-rt]
version = "0.7.5"
optional = true

[dependencies.critical-section]
version = "1.2.0"

[dependencies.cyw43-pio]
version = "0.10.0"
optional = true

[dependencies.derive_more]
version = "2.1.1"
features = ["display"]
default-features = false

[dependencies.embassy-embedded-hal]
version = "0.6.0"

[dependencies.embassy-executor]
version = "0.10.0"
default-features = false

[dependencies.embassy-futures]
version = "0.1.2"
default-features = false

[dependencies.embassy-rp]
version = "0.10.0"
features = [
    "time-driver",
    "critical-section-impl",
]
optional = true
default-features = false

[dependencies.embassy-sync]
version = "0.8.0"
default-features = false

[dependencies.embassy-time]
version = "0.5.1"
default-features = false

[dependencies.embedded-hal-async]
version = "1.0.0"
default-features = false

[dependencies.embedded-hal-bus]
version = "0.3.0"
features = ["async"]

[dependencies.embedded-sdmmc]
version = "0.9.0"
features = ["log"]
optional = true
default-features = false

[dependencies.embedded-storage-async]
version = "0.4.1"
default-features = false

[dependencies.embedded-storage-file]
version = "0.2.0"
optional = true
default-features = false

[dependencies.env_filter]
version = "2.0.0"
optional = true
default-features = false

[dependencies.env_logger]
version = "0.11.10"
optional = true
default-features = false

[dependencies.imu-sensors]
version = "0.1.3"

[dependencies.libm]
version = "0.2.16"
optional = true

[dependencies.log]
version = "0.4.33"
default-features = false

[dependencies.motor-mixers]
version = "0.1.5"

[dependencies.num-traits]
version = "0.2.19"
default-features = false

[dependencies.paste]
version = "1.0.15"
default-features = false

[dependencies.pidsk-controller]
version = "0.1.8"

[dependencies.postcard]
version = "1.1.3"
features = ["embedded-io"]
optional = true
default-features = false

[dependencies.radio-controllers]
version = "0.1.6"

[dependencies.rtt-target]
version = "0.6.2"
optional = true

[dependencies.sensor-fusion]
version = "0.1.9"

[dependencies.sequential-storage]
version = "7.2.0"
features = ["postcard"]
default-features = false

[dependencies.serde]
version = "1.0.228"
features = ["derive"]
optional = true
default-features = false

[dependencies.signal-filters]
version = "0.1.10"

[dependencies.simple-bitset]
version = "0.1.5"

[dependencies.static_cell]
version = "2.1.1"

[dependencies.stream-buf]
version = "0.1.2"

[dependencies.strum]
version = "0.28.0"
features = ["derive"]
default-features = false

[dependencies.tinyrand]
version = "0.5.0"

[dependencies.vqm]
version = "0.1.14"

[dev-dependencies.approx]
version = "0.5.1"
default-features = false

[build-dependencies.rustc_version]
version = "0.4.1"

[profile.debugging]
debug = 2
inherits = "dev"

[profile.dev]
opt-level = 0
lto = false
codegen-units = 256
debug = "line-tables-only"
debug-assertions = true
rpath = false
panic = "unwind"
overflow-checks = true
incremental = true
strip = "none"

[profile.dev.package."*"]
debug = 0

[profile.release]
opt-level = 3
lto = false
codegen-units = 16
debug = 0
debug-assertions = false
rpath = false
panic = "abort"
overflow-checks = false
incremental = false
strip = "none"

[profile.release-lto]
lto = true
codegen-units = 1
inherits = "release"