0
0
Fork 0

Evaluate remaining red/green time for upcoming intersection

This commit is contained in:
Jannik Beyerstedt 2026-05-30 23:34:06 +02:00
commit 7463adb038
12 changed files with 2979 additions and 103 deletions

View file

@ -2,6 +2,29 @@
Displays different C-ITS receive-only use cases for cheap.
## Hardware Requirements
The code is currently tailored to:
- Seeed XIAO ESP32-C5 (8MB PSRAM)
- Seeed XIAO L67K (connected on GPIO12 (RX), GPIO11 (TX), GPIO1 (wakeup) and GPIO25 (reset))
TODO: only enable in `spat` feature?
- TODO: display (when using `spat` feature)
## Features
### SPAT
Takes the current position and heading from the GNSS receiver and displays the signal phases of the upcoming intersection.
The upcoming intersection is selected when the own position is "inside" some ingress approach of the intersection.
The display will show the current phase and remaining time for all signal groups of the bike-able lanes in the approach.
### DENM
TODO: Not implemented yet!
Shall "publish" the most relevant information of a DENMs via BLE
### CAM
Just prints a line for each received CAM.
## Usage
### Toolchain Installation
@ -24,10 +47,23 @@ rustup component add --toolchain nightly rustfmt
```
### Build and Flash
In default configuration only signal phases (SPAT) data is displayed for the upcoming intersection.
Additional features are available though feature flags:
- `esp`: Run on ESP (required as feature flag to enable unit tests on host)
- `std`: Run on system with `std` library
- `spat`: Enable signal phase (and intersection map) data
- `denm`: Enable DENMs
- `cam`: Enable CAMs
Connect your ESP32-C5 and run:
```
# default configuration
cargo run --release
# for e.g. also enable DENM feature
cargo run --release -F denm
```
### Run Unit Tests on Host