622684cdde895abdf064774ff5a513c5eb355825
- Flattened radio/ directory to radio.rs (was just one file) - Flattened display/ to display.rs (combined task + rendering as inline module) - Moved SH1106 display driver reference from display/ to driver/ (done in Phase 2) - Suppressed dead_code warnings for conditional USB/UART types in hal - All boards: zero warnings, zero cfg in application code
DongLoRa Firmware
Embedded Rust firmware for DongLoRa boards. Exposes the LoRa radio over USB CDC-ACM using a COBS-framed binary protocol.
Building
just setup # one-time toolchain install
just build heltec_v4 # build for a specific board
just flash heltec_v4 # build + flash
just check-all # compile-check all boards
just clippy heltec_v4 # lint
just test # host-side protocol unit tests
All commands are run from the firmware/ directory.
Supported Boards
| Board | MCU | Radio | Target |
|---|---|---|---|
| Heltec V3 | ESP32-S3 | SX1262 | xtensa-esp32s3-none-elf |
| Heltec V4 | ESP32-S3 | SX1262 | xtensa-esp32s3-none-elf |
| RAK WisBlock 4631 | nRF52840 | SX1262 | thumbv7em-none-eabihf |
Adding a Board
See src/board/PORTING.md.
Protocol
See PROTOCOL.md for the complete wire format specification.
Languages
Rust
95.8%
Just
3.3%
RPC
0.5%
Jinja
0.2%
Linker Script
0.2%