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
+167
@@ -0,0 +1,167 @@
|
||||
# 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"
|
||||
rust-version = "1.82"
|
||||
name = "indexmap"
|
||||
version = "2.13.0"
|
||||
build = false
|
||||
autolib = false
|
||||
autobins = false
|
||||
autoexamples = false
|
||||
autotests = false
|
||||
autobenches = false
|
||||
description = "A hash table with consistent order and fast iteration."
|
||||
documentation = "https://docs.rs/indexmap/"
|
||||
readme = "README.md"
|
||||
keywords = [
|
||||
"hashmap",
|
||||
"no_std",
|
||||
]
|
||||
categories = [
|
||||
"data-structures",
|
||||
"no-std",
|
||||
]
|
||||
license = "Apache-2.0 OR MIT"
|
||||
repository = "https://github.com/indexmap-rs/indexmap"
|
||||
|
||||
[package.metadata.release]
|
||||
allow-branch = ["main"]
|
||||
sign-tag = true
|
||||
tag-name = "{{version}}"
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
features = [
|
||||
"arbitrary",
|
||||
"quickcheck",
|
||||
"serde",
|
||||
"borsh",
|
||||
"rayon",
|
||||
"sval",
|
||||
]
|
||||
rustdoc-args = [
|
||||
"--cfg",
|
||||
"docsrs",
|
||||
]
|
||||
|
||||
[features]
|
||||
default = ["std"]
|
||||
serde = [
|
||||
"dep:serde_core",
|
||||
"dep:serde",
|
||||
]
|
||||
std = []
|
||||
test_debug = []
|
||||
|
||||
[lib]
|
||||
name = "indexmap"
|
||||
path = "src/lib.rs"
|
||||
bench = false
|
||||
|
||||
[[test]]
|
||||
name = "equivalent_trait"
|
||||
path = "tests/equivalent_trait.rs"
|
||||
|
||||
[[test]]
|
||||
name = "macros_full_path"
|
||||
path = "tests/macros_full_path.rs"
|
||||
|
||||
[[test]]
|
||||
name = "quick"
|
||||
path = "tests/quick.rs"
|
||||
|
||||
[[test]]
|
||||
name = "tests"
|
||||
path = "tests/tests.rs"
|
||||
|
||||
[[bench]]
|
||||
name = "bench"
|
||||
path = "benches/bench.rs"
|
||||
|
||||
[[bench]]
|
||||
name = "faststring"
|
||||
path = "benches/faststring.rs"
|
||||
|
||||
[dependencies.arbitrary]
|
||||
version = "1.0"
|
||||
optional = true
|
||||
default-features = false
|
||||
|
||||
[dependencies.borsh]
|
||||
version = "1.2"
|
||||
optional = true
|
||||
default-features = false
|
||||
|
||||
[dependencies.equivalent]
|
||||
version = "1.0"
|
||||
default-features = false
|
||||
|
||||
[dependencies.hashbrown]
|
||||
version = "0.16.1"
|
||||
default-features = false
|
||||
|
||||
[dependencies.quickcheck]
|
||||
version = "1.0"
|
||||
optional = true
|
||||
default-features = false
|
||||
|
||||
[dependencies.rayon]
|
||||
version = "1.9"
|
||||
optional = true
|
||||
|
||||
[dependencies.serde_core]
|
||||
version = "1.0.220"
|
||||
optional = true
|
||||
default-features = false
|
||||
|
||||
[dependencies.sval]
|
||||
version = "2"
|
||||
optional = true
|
||||
default-features = false
|
||||
|
||||
[dev-dependencies.fastrand]
|
||||
version = "2"
|
||||
default-features = false
|
||||
|
||||
[dev-dependencies.fnv]
|
||||
version = "1.0"
|
||||
|
||||
[dev-dependencies.itertools]
|
||||
version = "0.14"
|
||||
|
||||
[dev-dependencies.quickcheck]
|
||||
version = "1.0"
|
||||
default-features = false
|
||||
|
||||
[dev-dependencies.serde]
|
||||
version = "1.0"
|
||||
features = ["derive"]
|
||||
default-features = false
|
||||
|
||||
[target."cfg(any())".dependencies.serde]
|
||||
version = "1.0.220"
|
||||
optional = true
|
||||
default-features = false
|
||||
|
||||
[lints.clippy]
|
||||
style = "allow"
|
||||
|
||||
[lints.rust]
|
||||
private-bounds = "deny"
|
||||
private-interfaces = "deny"
|
||||
rust-2018-idioms = "warn"
|
||||
unnameable-types = "deny"
|
||||
unreachable-pub = "deny"
|
||||
unsafe-code = "deny"
|
||||
|
||||
[profile.bench]
|
||||
debug = 2
|
||||
Reference in new issue
Block a user