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 @@
|
||||
no-leads = 1987-7-05T17:45:00Z
|
||||
@@ -0,0 +1 @@
|
||||
no-secs = 1987-07-05T17:45Z
|
||||
@@ -0,0 +1 @@
|
||||
no-t = 1987-07-0517:45:00Z
|
||||
@@ -0,0 +1 @@
|
||||
with-milli = 1987-07-5T17:45:00.12Z
|
||||
@@ -0,0 +1,5 @@
|
||||
[fruit]
|
||||
type = "apple"
|
||||
|
||||
[fruit.type]
|
||||
apple = "yes"
|
||||
@@ -0,0 +1,2 @@
|
||||
dupe = false
|
||||
dupe = true
|
||||
@@ -0,0 +1,8 @@
|
||||
[dependencies.openssl-sys]
|
||||
version = "0.5.2"
|
||||
|
||||
[dependencies]
|
||||
libc = "0.1"
|
||||
|
||||
[dependencies]
|
||||
bitflags = "0.1.1"
|
||||
@@ -0,0 +1,2 @@
|
||||
[a]
|
||||
[a]
|
||||
@@ -0,0 +1 @@
|
||||
[naughty..naughty]
|
||||
@@ -0,0 +1 @@
|
||||
[]
|
||||
@@ -0,0 +1,2 @@
|
||||
answer = .12345
|
||||
neganswer = -.12345
|
||||
@@ -0,0 +1 @@
|
||||
a = 1.2f
|
||||
@@ -0,0 +1,2 @@
|
||||
answer = 1.
|
||||
neganswer = -1.
|
||||
@@ -0,0 +1 @@
|
||||
[[agencies]] owner = "S Cjelli"
|
||||
@@ -0,0 +1 @@
|
||||
[history] guard = "sleeping"
|
||||
@@ -0,0 +1 @@
|
||||
= 1
|
||||
@@ -0,0 +1 @@
|
||||
a# = 1
|
||||
@@ -0,0 +1,2 @@
|
||||
a
|
||||
= 1
|
||||
@@ -0,0 +1 @@
|
||||
[abc = 1
|
||||
@@ -0,0 +1 @@
|
||||
[
|
||||
@@ -0,0 +1 @@
|
||||
a b = 1
|
||||
@@ -0,0 +1,3 @@
|
||||
[a]
|
||||
[xyz = 5
|
||||
[b]
|
||||
@@ -0,0 +1 @@
|
||||
key= = 1
|
||||
@@ -0,0 +1 @@
|
||||
naughty = "\xAg"
|
||||
@@ -0,0 +1 @@
|
||||
invalid-escape = "This string has a bad \a escape character."
|
||||
@@ -0,0 +1,3 @@
|
||||
invalid-escape = """\
|
||||
This string has a non whitespace-character after the line ending escape. \ a
|
||||
"""
|
||||
@@ -0,0 +1 @@
|
||||
answer = "\x33"
|
||||
@@ -0,0 +1 @@
|
||||
no-ending-quote = "One time, at band camp
|
||||
@@ -0,0 +1,14 @@
|
||||
# This test is a bit tricky. It should fail because the first use of
|
||||
# `[[albums.songs]]` without first declaring `albums` implies that `albums`
|
||||
# must be a table. The alternative would be quite weird. Namely, it wouldn't
|
||||
# comply with the TOML spec: "Each double-bracketed sub-table will belong to
|
||||
# the most *recently* defined table element *above* it."
|
||||
#
|
||||
# This is in contrast to the *valid* test, table-array-implicit where
|
||||
# `[[albums.songs]]` works by itself, so long as `[[albums]]` isn't declared
|
||||
# later. (Although, `[albums]` could be.)
|
||||
[[albums.songs]]
|
||||
name = "Glory Days"
|
||||
|
||||
[[albums]]
|
||||
name = "Born in the USA"
|
||||
@@ -0,0 +1,2 @@
|
||||
[[albums]
|
||||
name = "Born to Run"
|
||||
@@ -0,0 +1,2 @@
|
||||
[[]]
|
||||
name = "Born to Run"
|
||||
@@ -0,0 +1 @@
|
||||
[]
|
||||
@@ -0,0 +1,2 @@
|
||||
[a]b]
|
||||
zyx = 42
|
||||
@@ -0,0 +1,2 @@
|
||||
[a[b]
|
||||
zyx = 42
|
||||
@@ -0,0 +1 @@
|
||||
[invalid key]
|
||||
@@ -0,0 +1,2 @@
|
||||
[key#group]
|
||||
answer = 42
|
||||
@@ -0,0 +1,4 @@
|
||||
array = [
|
||||
"Is there life after an array separator?", No
|
||||
"Entry"
|
||||
]
|
||||
@@ -0,0 +1 @@
|
||||
answer = 42 the ultimate answer?
|
||||
@@ -0,0 +1 @@
|
||||
string = "Is there life after strings?" No.
|
||||
@@ -0,0 +1 @@
|
||||
[error] this shouldn't be here
|
||||
@@ -0,0 +1,4 @@
|
||||
array = [
|
||||
"Is there life before an array separator?" No,
|
||||
"Entry"
|
||||
]
|
||||
@@ -0,0 +1,5 @@
|
||||
array = [
|
||||
"Entry 1",
|
||||
I don't belong,
|
||||
"Entry 2",
|
||||
]
|
||||
Reference in new issue
Block a user