feat: add display UI with splash screen, dashboard, and RSSI sparkline

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>
This commit is contained in:
swaitsandClaude Opus 4.6 committed 2026-03-29 20:42:54 -06:00
1 parent 7064110293
commit 3102fc747a
17624 files changed
+4564928 -38

No files matched your search

+35
View File
@@ -0,0 +1,35 @@
# Copyright © 2019–2021 Trevor Spiteri
# Copying and distribution of this file, with or without modification,
# are permitted in any medium without royalty provided the copyright
# notice and this notice are preserved. This file is offered as-is,
# without any warranty.
skip_tags: true
environment:
matrix:
- TARGET: x86_64-pc-windows-msvc
- TARGET: x86_64-pc-windows-gnu
- TARGET: i686-pc-windows-msvc
- TARGET: i686-pc-windows-gnu
install:
- set PATH=%USERPROFILE%\.cargo\bin;%PATH%
- curl -sSf -o rustup-init.exe https://win.rustup.rs
- rustup-init.exe -y --default-host %TARGET% --default-toolchain none --no-modify-path
- rustup --version
- rustup install beta-%TARGET% nightly-%TARGET% 1.31.1-%TARGET%
- rustup component add --toolchain beta-%TARGET% rustfmt clippy
build: false
test_script:
- cargo +beta-%TARGET% clippy --all-targets --features fail-on-warnings
- cargo +beta-%TARGET% test --features fail-on-warnings
- cargo +beta-%TARGET% test --release --features fail-on-warnings
- cargo +beta-%TARGET% fmt -- --check
- cargo +nightly-%TARGET% test --features fail-on-warnings
- cargo +nightly-%TARGET% test --release --features fail-on-warnings
- cargo +1.31.1-%TARGET% test --features fail-on-warnings
- cargo +1.31.1-%TARGET% test --release --features fail-on-warnings