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
Vendored
+80
@@ -0,0 +1,80 @@
|
||||
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
|
||||
#
|
||||
# When uploading crates to the registry Cargo will automatically
|
||||
# "normalize" Cargo.toml files for maximal compatibility
|
||||
# with all versions of Cargo and also rewrite `path` dependencies
|
||||
# to registry (e.g., crates.io) dependencies.
|
||||
#
|
||||
# If you are reading this file be aware that the original Cargo.toml
|
||||
# will likely look very different (and much more reasonable).
|
||||
# See Cargo.toml.orig for the original contents.
|
||||
|
||||
[package]
|
||||
rust-version = "1.38"
|
||||
name = "spin"
|
||||
version = "0.9.8"
|
||||
authors = [
|
||||
"Mathijs van de Nes <git@mathijs.vd-nes.nl>",
|
||||
"John Ericson <git@JohnEricson.me>",
|
||||
"Joshua Barretto <joshua.s.barretto@gmail.com>",
|
||||
]
|
||||
description = "Spin-based synchronization primitives"
|
||||
readme = "README.md"
|
||||
keywords = [
|
||||
"spinlock",
|
||||
"mutex",
|
||||
"rwlock",
|
||||
]
|
||||
license = "MIT"
|
||||
repository = "https://github.com/mvdnes/spin-rs.git"
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
all-features = true
|
||||
rustdoc-args = [
|
||||
"--cfg",
|
||||
"docsrs",
|
||||
]
|
||||
|
||||
[[bench]]
|
||||
name = "mutex"
|
||||
harness = false
|
||||
required-features = ["ticket_mutex"]
|
||||
|
||||
[dependencies.lock_api_crate]
|
||||
version = "0.4"
|
||||
optional = true
|
||||
package = "lock_api"
|
||||
|
||||
[dependencies.portable-atomic]
|
||||
version = "1"
|
||||
optional = true
|
||||
default-features = false
|
||||
|
||||
[dev-dependencies.criterion]
|
||||
version = "0.4"
|
||||
|
||||
[features]
|
||||
barrier = ["mutex"]
|
||||
default = [
|
||||
"lock_api",
|
||||
"mutex",
|
||||
"spin_mutex",
|
||||
"rwlock",
|
||||
"once",
|
||||
"lazy",
|
||||
"barrier",
|
||||
]
|
||||
fair_mutex = ["mutex"]
|
||||
lazy = ["once"]
|
||||
lock_api = ["lock_api_crate"]
|
||||
mutex = []
|
||||
once = []
|
||||
portable_atomic = ["portable-atomic"]
|
||||
rwlock = []
|
||||
spin_mutex = ["mutex"]
|
||||
std = []
|
||||
ticket_mutex = ["mutex"]
|
||||
use_ticket_mutex = [
|
||||
"mutex",
|
||||
"ticket_mutex",
|
||||
]
|
||||
Reference in new issue
Block a user