Watch
0
0
Fork
You've already forked esp32-c_its-companion
0
esp32-c_its-companion/Cargo.toml
Jannik Beyerstedt 8f7525a9f3 Remove L67K GNSS support
The driver for the L67K GNSS is really flaky and causes performance issues.
So just remove it to not spread false hope.
2026-08-16 23:16:20 +02:00

148 lines
4.7 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", "cam"]
[features]
default = ["esp", "spat", "gnss_ubx", "screen", "ble"]
# 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-futures",
"dep:embassy-sync",
"dep:embassy-time",
"dep:embedded-io",
"dep:embedded-io-async",
"dep:esp-alloc",
"dep:esp-backtrace",
"dep:esp-println",
"dep:esp-radio",
"dep:bt-hci",
"esp32-cits-core/esp32c5",
"esp32-cits-core/log-04",
]
std = ["c-its-parser/std", "esp32-cits-core/std"]
# enable u-blox GNSS module
gnss_ubx = ["_gnss", "_uart", "dep:ublox"]
# echo CAM data on serial
cam = ["c-its-parser/cam"]
# send CAM autonomously
cam_tx = ["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"]
# enable I/O via UART
uart = ["_uart", "_gnss"]
# enable I/O via BLE
ble = ["_gnss", "denm"]
# internal feature, that any UART I/O is enabled
_uart = []
# internal feature, that any GNSS source is enabled
_gnss = []
[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",
"embassy",
"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"
bt-hci = { version = "0.8.0", optional = true }
embassy-executor = { version = "0.10.0", optional = true, features = ["log"] }
embassy-futures = { version = "0.1.2", optional = true }
embassy-sync = { version = "0.7", optional = true }
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",
"println",
] }
esp-println = { version = "0.17.0", optional = true, default-features = false, features = ["colors", "critical-section", "jtag-serial", "esp32c5", "log-04"] }
esp-radio = { version = "0.18.0", optional = true, features = [
"esp-alloc",
"esp32c5",
"log-04",
"unstable",
"wifi",
"sniffer",
"ble",
] }
trouble-host = { version = "0.6.0", features = ["gatt", "central", "derive", "default-packet-pool"] }
static_cell = "2"
esp32-cits-core = { version = "0.1.0", default-features = false, git = "https://git.hamburg.ccc.de/jtbx/esp32-cits-core", branch = "main" }
embedded-hal-bus = { version = "0.3.0", optional = true }
embedded-graphics = { version = "0.8.2", optional = true }
# needs newer GN with removed bitvec dependency
c-its-parser = { version = "2.4.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"] }
ublox = { version = "0.10", optional = true, default-features = false, features = ["alloc", "ubx_proto27"] }
[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