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
+183
@@ -0,0 +1,183 @@
|
||||
# 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 = "2018"
|
||||
rust-version = "1.60.0"
|
||||
name = "ahash"
|
||||
version = "0.8.12"
|
||||
authors = ["Tom Kaitchuck <Tom.Kaitchuck@gmail.com>"]
|
||||
build = "build.rs"
|
||||
exclude = [
|
||||
"/smhasher",
|
||||
"/benchmark_tools",
|
||||
]
|
||||
autobins = false
|
||||
autoexamples = false
|
||||
autotests = false
|
||||
autobenches = false
|
||||
description = "A non-cryptographic hash function using AES-NI for high performance"
|
||||
documentation = "https://docs.rs/ahash"
|
||||
readme = "README.md"
|
||||
keywords = [
|
||||
"hash",
|
||||
"hasher",
|
||||
"hashmap",
|
||||
"aes",
|
||||
"no-std",
|
||||
]
|
||||
categories = [
|
||||
"algorithms",
|
||||
"data-structures",
|
||||
"no-std",
|
||||
]
|
||||
license = "MIT OR Apache-2.0"
|
||||
repository = "https://github.com/tkaitchuck/ahash"
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
features = ["std"]
|
||||
rustc-args = [
|
||||
"-C",
|
||||
"target-feature=+aes",
|
||||
]
|
||||
rustdoc-args = [
|
||||
"-C",
|
||||
"target-feature=+aes",
|
||||
]
|
||||
|
||||
[profile.bench]
|
||||
opt-level = 3
|
||||
lto = "fat"
|
||||
codegen-units = 1
|
||||
debug = 0
|
||||
debug-assertions = false
|
||||
|
||||
[profile.release]
|
||||
opt-level = 3
|
||||
lto = "fat"
|
||||
codegen-units = 1
|
||||
debug = 0
|
||||
debug-assertions = false
|
||||
|
||||
[profile.test]
|
||||
opt-level = 2
|
||||
lto = "fat"
|
||||
|
||||
[lib]
|
||||
name = "ahash"
|
||||
path = "src/lib.rs"
|
||||
test = true
|
||||
doctest = true
|
||||
bench = true
|
||||
doc = true
|
||||
|
||||
[[test]]
|
||||
name = "bench"
|
||||
path = "tests/bench.rs"
|
||||
|
||||
[[test]]
|
||||
name = "map_tests"
|
||||
path = "tests/map_tests.rs"
|
||||
|
||||
[[test]]
|
||||
name = "nopanic"
|
||||
path = "tests/nopanic.rs"
|
||||
|
||||
[[bench]]
|
||||
name = "ahash"
|
||||
path = "tests/bench.rs"
|
||||
harness = false
|
||||
|
||||
[[bench]]
|
||||
name = "map"
|
||||
path = "tests/map_tests.rs"
|
||||
harness = false
|
||||
|
||||
[dependencies.cfg-if]
|
||||
version = "1.0"
|
||||
|
||||
[dependencies.const-random]
|
||||
version = "0.1.17"
|
||||
optional = true
|
||||
|
||||
[dependencies.getrandom]
|
||||
version = "0.3.1"
|
||||
optional = true
|
||||
|
||||
[dependencies.portable-atomic]
|
||||
version = "1.0.0"
|
||||
optional = true
|
||||
|
||||
[dependencies.serde]
|
||||
version = "1.0.117"
|
||||
optional = true
|
||||
|
||||
[dependencies.zerocopy]
|
||||
version = "0.8.24"
|
||||
features = ["simd"]
|
||||
default-features = false
|
||||
|
||||
[dev-dependencies.criterion]
|
||||
version = "0.3.2"
|
||||
features = ["html_reports"]
|
||||
|
||||
[dev-dependencies.fnv]
|
||||
version = "1.0.5"
|
||||
|
||||
[dev-dependencies.fxhash]
|
||||
version = "0.2.1"
|
||||
|
||||
[dev-dependencies.hashbrown]
|
||||
version = "0.14.3"
|
||||
|
||||
[dev-dependencies.hex]
|
||||
version = "0.4.2"
|
||||
|
||||
[dev-dependencies.no-panic]
|
||||
version = "0.1.10"
|
||||
|
||||
[dev-dependencies.pcg-mwc]
|
||||
version = "0.2.1"
|
||||
|
||||
[dev-dependencies.rand]
|
||||
version = "0.8.5"
|
||||
|
||||
[dev-dependencies.seahash]
|
||||
version = "4.0"
|
||||
|
||||
[dev-dependencies.serde_json]
|
||||
version = "1.0.59"
|
||||
|
||||
[dev-dependencies.smallvec]
|
||||
version = "1.13.1"
|
||||
|
||||
[build-dependencies.version_check]
|
||||
version = "0.9.4"
|
||||
|
||||
[features]
|
||||
atomic-polyfill = [
|
||||
"dep:portable-atomic",
|
||||
"once_cell/critical-section",
|
||||
]
|
||||
compile-time-rng = ["const-random"]
|
||||
default = [
|
||||
"std",
|
||||
"runtime-rng",
|
||||
]
|
||||
nightly-arm-aes = []
|
||||
no-rng = []
|
||||
runtime-rng = ["getrandom"]
|
||||
std = []
|
||||
|
||||
[target.'cfg(not(all(target_arch = "arm", target_os = "none")))'.dependencies.once_cell]
|
||||
version = "1.18.0"
|
||||
features = ["alloc"]
|
||||
default-features = false
|
||||
Reference in new issue
Block a user