0
0
Fork 0
esp32-c_its-companion/Cargo.toml
2026-07-22 15:39:33 +02:00

125 lines
3.8 KiB
TOML

[package]
edition = "2024"
name = "esp32-c_its-companion"
rust-version = "1.88"
version = "0.1.0"
default-run = "esp32-c_its-companion"
[[bin]]
name = "esp32-c_its-companion"
path = "./src/main.rs"
[[bin]]
name = "test"
path = "./src/test.rs"
required-features = ["std"]
[features]
default = ["esp", "spat", "gnss", "screen"]
# build for ESP (needed to build test for `host-tuple`)
esp = [
"dep:esp-hal",
"dep:esp-rtos",
"dep:esp-bootloader-esp-idf",
"dep:embassy-executor",
"dep:embassy-time",
"dep:embedded-io",
"dep:embedded-io-async",
"dep:esp-alloc",
"dep:esp-backtrace",
"dep:esp-println",
"dep:esp-radio",
]
std = ["c-its-parser/std"]
# enable L67K GNSS module
gnss = ["dep:embassy_gps"]
# echo CAM data on serial
cam = ["c-its-parser/cam"]
# echo DENM events on serial and BLE
denm = ["c-its-parser/denm"]
# evaluate SPAT information
spat = ["c-its-parser/spatem", "c-its-parser/mapem"]
# enable some debug printing (without enabling debug logging of the ESP RTOS)
spat_debug = []
# enable ST7789 based display
screen = ["dep:mipidsi", "dep:embedded-graphics", "dep:embedded-hal-bus", "dep:profont"]
[dependencies]
esp-hal = { version = "~1.1.0", optional = true, features = ["esp32c5", "log-04", "unstable"] }
esp-rtos = { version = "0.3.0", optional = true, features = [
"embassy",
"esp-alloc",
"esp-radio",
"esp32c5",
"log-04",
] }
esp-bootloader-esp-idf = { version = "0.5.0", optional = true, features = ["esp32c5", "log-04"] }
log = "0.4.27"
critical-section = "1.2.0"
embassy-executor = { version = "0.10.0", optional = true, features = ["log"] }
embassy-time = { version = "0.5.0", optional = true, features = ["log"] }
embedded-io = { version = "0.7.1", optional = true }
embedded-io-async = { version = "0.7.0", optional = true }
esp-alloc = { version = "0.10.0", optional = true }
esp-backtrace = { version = "0.19.0", optional = true, features = [
"esp32c5",
"panic-handler",
"println",
] }
esp-println = { version = "0.17.0", optional = true, features = ["esp32c5", "log-04"] }
esp-radio = { version = "0.18.0", optional = true, features = [
"esp-alloc",
"esp32c5",
"log-04",
"unstable",
"wifi",
"sniffer",
] }
embassy_gps = { version = "0.1.0", optional = true, default-features = false, features = ["esp", "log-04"], git = "https://github.com/jbeyerstedt/embassy_gps.git", branch = "feat/rework-gpsfix" }
embedded-hal-bus = { version = "0.3.0", optional = true }
embedded-graphics = { version = "0.8.2", optional = true }
c-its-parser = { version = "2.3.0", default-features = false, features = [
"time",
"geo",
"libm",
"transport",
] }
chrono = { version = "0.4.44", default-features = false, features = ["alloc"] }
crossbeam-queue = { version = "0.3.12", default-features = false, features = ["alloc"] }
geo-types = { version = "0.7.19", default-features = false }
mipidsi = { version = "0.10.0", optional = true }
num-traits = { version = "0.2.19", default-features = false, features = ["libm"] }
profont = { version = "0.7.0", optional = true }
prost = { version = "0.14", default-features = false, features = ["derive"] }
[dev-dependencies]
assert_float_eq = "1.2.0"
env_logger = "0.11.10"
[build-dependencies]
prost-build = "0.14"
# For fine tuning these settings, please refer to https://doc.rust-lang.org/cargo/reference/profiles.html
[profile.dev]
# The default debug profile is too slow and too big for resource-constrained devices.
# Always build with some optimizations enabled.
opt-level = "s"
[profile.release]
codegen-units = 1 # LLVM can perform better optimizations using a single thread
debug = 2 # prefer slower builds but better debugging experience
lto = 'fat'
opt-level = 's'
strip = "debuginfo"
[profile.release-dbg]
inherits = "release"
strip = false