Implement full SSD1306 OLED display support: - Splash screen on boot (1.5s) with project name, version, board - Dashboard showing radio state, config, counters, RSSI/SNR - RSSI history sparkline (64-sample ring buffer, 2px-wide bars) - DisplayOn/DisplayOff host commands routed via dedicated channel - Pure render functions against generic DrawTarget (no hardware coupling) - Display on/off control bypasses radio task entirely Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2.0 KiB
2.0 KiB
Change Log
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
[unreleased]
[v0.3.0] 2025-01-31
Added
- Added
max_encoding_overheadconst function. #20 - Unittests for
decode_in_placeanddecode_in_place_report. #36 - New
allocfeature which enables support for APIs returningVecs. #24 - New
stdfeature, deprecate theuse_stdfeature but keep it for backwards compatiblity. #38 - Documentation of the new
stdandallocfeatures in the README. #38 - Optional
defmtsupport feature-gated by the optionaldefmtfeature. #40 - Add optional
serdesupport that addsserdederives for some errors and data structures. #41
Changed
- Bumped rust edition to 2021
- Improved error handling by replacing unit errors with a new
DecodeErrorenumeration for the decoding module and aDestBufTooSmallErrorfor the encoding module. #30 max_encoding_lengthis now a const function. #20decode_in_placeanddecode_in_place_reportnow check the destination index and return an appropriateDecodeErrorinstead of panicking if an out-of-bounds access happens. #36- Consistent behaviour of decode functions for empty input: All funtions now return
DecodeError::FrameEmpty. #39
Fixed
- Fixed wrong encoded length when source length was divisible by 254. #19