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
+91
@@ -0,0 +1,91 @@
|
||||
# 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]
|
||||
edition = "2021"
|
||||
name = "heapless"
|
||||
version = "0.8.0"
|
||||
authors = [
|
||||
"Jorge Aparicio <jorge@japaric.io>",
|
||||
"Per Lindgren <per.lindgren@ltu.se>",
|
||||
"Emil Fresk <emil.fresk@gmail.com>",
|
||||
]
|
||||
description = "`static` friendly data structures that don't require dynamic memory allocation"
|
||||
documentation = "https://docs.rs/heapless"
|
||||
readme = "README.md"
|
||||
keywords = [
|
||||
"static",
|
||||
"no-heap",
|
||||
]
|
||||
categories = [
|
||||
"data-structures",
|
||||
"no-std",
|
||||
]
|
||||
license = "MIT OR Apache-2.0"
|
||||
repository = "https://github.com/rust-embedded/heapless"
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
features = [
|
||||
"ufmt",
|
||||
"serde",
|
||||
"defmt-03",
|
||||
"mpmc_large",
|
||||
"portable-atomic-critical-section",
|
||||
]
|
||||
rustdoc-args = [
|
||||
"--cfg",
|
||||
"docsrs",
|
||||
]
|
||||
targets = ["i686-unknown-linux-gnu"]
|
||||
|
||||
[dependencies.defmt]
|
||||
version = ">=0.2.0,<0.4"
|
||||
optional = true
|
||||
|
||||
[dependencies.hash32]
|
||||
version = "0.3.0"
|
||||
|
||||
[dependencies.portable-atomic]
|
||||
version = "1.0"
|
||||
optional = true
|
||||
|
||||
[dependencies.serde]
|
||||
version = "1"
|
||||
optional = true
|
||||
default-features = false
|
||||
|
||||
[dependencies.stable_deref_trait]
|
||||
version = "1"
|
||||
default-features = false
|
||||
|
||||
[dependencies.ufmt-write]
|
||||
version = "0.1"
|
||||
optional = true
|
||||
|
||||
[dev-dependencies.ufmt]
|
||||
version = "0.2"
|
||||
|
||||
[features]
|
||||
defmt-03 = ["dep:defmt"]
|
||||
mpmc_large = []
|
||||
portable-atomic = ["dep:portable-atomic"]
|
||||
portable-atomic-critical-section = [
|
||||
"dep:portable-atomic",
|
||||
"portable-atomic",
|
||||
"portable-atomic?/critical-section",
|
||||
]
|
||||
portable-atomic-unsafe-assume-single-core = [
|
||||
"dep:portable-atomic",
|
||||
"portable-atomic",
|
||||
"portable-atomic?/unsafe-assume-single-core",
|
||||
]
|
||||
serde = ["dep:serde"]
|
||||
ufmt = ["dep:ufmt-write"]
|
||||
Reference in new issue
Block a user