diff --git a/CHANGELOG.md b/CHANGELOG.md index 4bd0d236..1438fd8c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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/), 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` 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 diff --git a/firmware/Cargo.lock b/firmware/Cargo.lock index 2bcea854..5dcd879c 100644 --- a/firmware/Cargo.lock +++ b/firmware/Cargo.lock @@ -372,7 +372,7 @@ dependencies = [ [[package]] name = "donglora" -version = "0.1.0" +version = "0.2.0" dependencies = [ "cfg-if", "cortex-m", diff --git a/firmware/Cargo.toml b/firmware/Cargo.toml index 623ab70f..f65fd306 100644 --- a/firmware/Cargo.toml +++ b/firmware/Cargo.toml @@ -3,7 +3,7 @@ members = ["."] [package] name = "donglora" -version = "0.1.0" +version = "0.2.0" edition = "2021" build = "build.rs" authors = ["Stephen Waits "]