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:
17624 files changed
+4564928
-38
No files matched your search
@@ -0,0 +1,10 @@
|
||||
use bitflags::bitflags;
|
||||
|
||||
bitflags! {
|
||||
#[derive(Clone, Copy)]
|
||||
struct Flags: u32 {
|
||||
const A = 0b00000001;
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
@@ -0,0 +1,27 @@
|
||||
error[E0119]: conflicting implementations of trait `std::clone::Clone` for type `Flags`
|
||||
--> $DIR/copy.rs:3:1
|
||||
|
|
||||
3 | / bitflags! {
|
||||
4 | | #[derive(Clone, Copy)]
|
||||
| | ----- first implementation here
|
||||
5 | | struct Flags: u32 {
|
||||
6 | | const A = 0b00000001;
|
||||
7 | | }
|
||||
8 | | }
|
||||
| |_^ conflicting implementation for `Flags`
|
||||
|
|
||||
= note: this error originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0119]: conflicting implementations of trait `std::marker::Copy` for type `Flags`
|
||||
--> $DIR/copy.rs:3:1
|
||||
|
|
||||
3 | / bitflags! {
|
||||
4 | | #[derive(Clone, Copy)]
|
||||
| | ---- first implementation here
|
||||
5 | | struct Flags: u32 {
|
||||
6 | | const A = 0b00000001;
|
||||
7 | | }
|
||||
8 | | }
|
||||
| |_^ conflicting implementation for `Flags`
|
||||
|
|
||||
= note: this error originates in the derive macro `Copy` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
@@ -0,0 +1,10 @@
|
||||
use bitflags::bitflags;
|
||||
|
||||
bitflags! {
|
||||
#[derive(PartialEq, Eq)]
|
||||
struct Flags: u32 {
|
||||
const A = 0b00000001;
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
@@ -0,0 +1,55 @@
|
||||
error[E0119]: conflicting implementations of trait `std::cmp::PartialEq` for type `Flags`
|
||||
--> $DIR/eq.rs:3:1
|
||||
|
|
||||
3 | / bitflags! {
|
||||
4 | | #[derive(PartialEq, Eq)]
|
||||
| | --------- first implementation here
|
||||
5 | | struct Flags: u32 {
|
||||
6 | | const A = 0b00000001;
|
||||
7 | | }
|
||||
8 | | }
|
||||
| |_^ conflicting implementation for `Flags`
|
||||
|
|
||||
= note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0119]: conflicting implementations of trait `std::cmp::Eq` for type `Flags`
|
||||
--> $DIR/eq.rs:3:1
|
||||
|
|
||||
3 | / bitflags! {
|
||||
4 | | #[derive(PartialEq, Eq)]
|
||||
| | -- first implementation here
|
||||
5 | | struct Flags: u32 {
|
||||
6 | | const A = 0b00000001;
|
||||
7 | | }
|
||||
8 | | }
|
||||
| |_^ conflicting implementation for `Flags`
|
||||
|
|
||||
= note: this error originates in the derive macro `Eq` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0119]: conflicting implementations of trait `std::marker::StructuralPartialEq` for type `Flags`
|
||||
--> $DIR/eq.rs:3:1
|
||||
|
|
||||
3 | / bitflags! {
|
||||
4 | | #[derive(PartialEq, Eq)]
|
||||
| | --------- first implementation here
|
||||
5 | | struct Flags: u32 {
|
||||
6 | | const A = 0b00000001;
|
||||
7 | | }
|
||||
8 | | }
|
||||
| |_^ conflicting implementation for `Flags`
|
||||
|
|
||||
= note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0119]: conflicting implementations of trait `std::marker::StructuralEq` for type `Flags`
|
||||
--> $DIR/eq.rs:3:1
|
||||
|
|
||||
3 | / bitflags! {
|
||||
4 | | #[derive(PartialEq, Eq)]
|
||||
| | -- first implementation here
|
||||
5 | | struct Flags: u32 {
|
||||
6 | | const A = 0b00000001;
|
||||
7 | | }
|
||||
8 | | }
|
||||
| |_^ conflicting implementation for `Flags`
|
||||
|
|
||||
= note: this error originates in the derive macro `Eq` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
Reference in new issue
Block a user