release: firmware v0.2.0
Major architecture reorganization, Wio Tracker L1 support, LED blink on packet activity, native USB for Heltec V3 (hardware mod required). See CHANGELOG.md for full details.
This commit is contained in:
3 files changed
+38
-3
No files matched your search
+36
-1
@@ -5,7 +5,42 @@ All notable changes to this project will be documented in this file.
|
|||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/),
|
The format is based on [Keep a Changelog](https://keepachangelog.com/),
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/).
|
and this project adheres to [Semantic Versioning](https://semver.org/).
|
||||||
|
|
||||||
## [0.1.0] - Unreleased
|
## [0.2.0] - 2026-04-07
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Wio Tracker L1 board support (nRF52840 + SX1262, SH1106 OLED)
|
||||||
|
- LED blink on packet activity: brief flash on RX and TX when display is on
|
||||||
|
- RX brightness scales with SNR (stronger signal = brighter)
|
||||||
|
- Works on all boards with a user LED (Heltec V3/V4, Wio Tracker)
|
||||||
|
- Native USB CDC-ACM support for Heltec V3 (requires hardware mod: solder R29/R3)
|
||||||
|
- `heltec_v3_uart` feature for stock (unmodified) V3 boards via CP2102 bridge
|
||||||
|
- `RgbLed` trait and `SimpleLed` driver for GPIO-based LEDs
|
||||||
|
- `LoRaBoard` trait with full associated types (`RadioParts`, `CommParts`,
|
||||||
|
`DisplayParts`, `DisplayDriver`, `LedDriver`) and `BoardParts<R, C, D, L>` struct
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Major firmware architecture reorganization:
|
||||||
|
- `hal/` module for MCU-specific primitives (ESP32-S3, nRF52840)
|
||||||
|
- `driver/` module for hardware peripheral drivers (SH1106, SimpleLed)
|
||||||
|
- `host/` module for unified USB/UART communication with internal cfg dispatch
|
||||||
|
- `board/` contains only board definitions — no MCU helpers or drivers mixed in
|
||||||
|
- Board files are declarative wiring diagrams calling hal primitives
|
||||||
|
- `run()` function has zero board-specific conditional compilation
|
||||||
|
- Display init moved to board layer (`create_display()`) — display task has no cfg
|
||||||
|
- Flattened `radio/` and `display/` directories (no single-file directories)
|
||||||
|
- `build.rs` auto-discovers boards by content (implements `LoRaBoard`) and
|
||||||
|
helper modules by `use super::` imports — no exclusion lists
|
||||||
|
- `check` and `clippy` commands now use `--release` profile
|
||||||
|
- Deduplicated USB/UART protocol framing (shared `CobsDecoder` + `route_command`)
|
||||||
|
- Removed `ErrorCode::CrcError` (SX1262 silently drops bad-CRC packets)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Display stuck on splash screen for UART boards (disconnected flag started true)
|
||||||
|
|
||||||
|
## [0.1.0] - 2026-03-15
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
|
|||||||
Generated
+1
-1
@@ -372,7 +372,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "donglora"
|
name = "donglora"
|
||||||
version = "0.1.0"
|
version = "0.2.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"cortex-m",
|
"cortex-m",
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@ members = ["."]
|
|||||||
|
|
||||||
[package]
|
[package]
|
||||||
name = "donglora"
|
name = "donglora"
|
||||||
version = "0.1.0"
|
version = "0.2.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
build = "build.rs"
|
build = "build.rs"
|
||||||
authors = ["Stephen Waits <steve@waits.net>"]
|
authors = ["Stephen Waits <steve@waits.net>"]
|
||||||
|
|||||||
Reference in new issue
Block a user