The driver for the L67K GNSS is really flaky and causes performance issues. So just remove it to not spread false hope.
148 lines
4.7 KiB
TOML
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
|