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
+209
@@ -0,0 +1,209 @@
|
||||
# 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 = "zerocopy-derive"
|
||||
version = "0.8.47"
|
||||
authors = [
|
||||
"Joshua Liebow-Feeser <joshlf@google.com>",
|
||||
"Jack Wrenn <jswrenn@amazon.com>",
|
||||
]
|
||||
build = false
|
||||
exclude = [
|
||||
".*",
|
||||
"tests/enum_from_bytes.rs",
|
||||
"tests/ui-nightly/enum_from_bytes_u16_too_few.rs.disabled",
|
||||
]
|
||||
autolib = false
|
||||
autobins = false
|
||||
autoexamples = false
|
||||
autotests = false
|
||||
autobenches = false
|
||||
description = "Custom derive for traits from the zerocopy crate"
|
||||
readme = false
|
||||
license = "BSD-2-Clause OR Apache-2.0 OR MIT"
|
||||
repository = "https://github.com/google/zerocopy"
|
||||
|
||||
[lib]
|
||||
name = "zerocopy_derive"
|
||||
path = "src/lib.rs"
|
||||
proc-macro = true
|
||||
|
||||
[[test]]
|
||||
name = "deprecated"
|
||||
path = "tests/deprecated.rs"
|
||||
|
||||
[[test]]
|
||||
name = "enum_from_zeros"
|
||||
path = "tests/enum_from_zeros.rs"
|
||||
|
||||
[[test]]
|
||||
name = "enum_known_layout"
|
||||
path = "tests/enum_known_layout.rs"
|
||||
|
||||
[[test]]
|
||||
name = "enum_no_cell"
|
||||
path = "tests/enum_no_cell.rs"
|
||||
|
||||
[[test]]
|
||||
name = "enum_to_bytes"
|
||||
path = "tests/enum_to_bytes.rs"
|
||||
|
||||
[[test]]
|
||||
name = "enum_try_from_bytes"
|
||||
path = "tests/enum_try_from_bytes.rs"
|
||||
|
||||
[[test]]
|
||||
name = "enum_unaligned"
|
||||
path = "tests/enum_unaligned.rs"
|
||||
|
||||
[[test]]
|
||||
name = "eq"
|
||||
path = "tests/eq.rs"
|
||||
|
||||
[[test]]
|
||||
name = "hash"
|
||||
path = "tests/hash.rs"
|
||||
|
||||
[[test]]
|
||||
name = "hygiene"
|
||||
path = "tests/hygiene.rs"
|
||||
|
||||
[[test]]
|
||||
name = "include"
|
||||
path = "tests/include.rs"
|
||||
|
||||
[[test]]
|
||||
name = "issue_2117"
|
||||
path = "tests/issue_2117.rs"
|
||||
|
||||
[[test]]
|
||||
name = "issue_2835"
|
||||
path = "tests/issue_2835.rs"
|
||||
|
||||
[[test]]
|
||||
name = "issue_2880"
|
||||
path = "tests/issue_2880.rs"
|
||||
|
||||
[[test]]
|
||||
name = "issue_2915"
|
||||
path = "tests/issue_2915.rs"
|
||||
|
||||
[[test]]
|
||||
name = "on_error"
|
||||
path = "tests/on_error.rs"
|
||||
|
||||
[[test]]
|
||||
name = "paths_and_modules"
|
||||
path = "tests/paths_and_modules.rs"
|
||||
|
||||
[[test]]
|
||||
name = "priv_in_pub"
|
||||
path = "tests/priv_in_pub.rs"
|
||||
|
||||
[[test]]
|
||||
name = "struct_from_bytes"
|
||||
path = "tests/struct_from_bytes.rs"
|
||||
|
||||
[[test]]
|
||||
name = "struct_from_zeros"
|
||||
path = "tests/struct_from_zeros.rs"
|
||||
|
||||
[[test]]
|
||||
name = "struct_known_layout"
|
||||
path = "tests/struct_known_layout.rs"
|
||||
|
||||
[[test]]
|
||||
name = "struct_no_cell"
|
||||
path = "tests/struct_no_cell.rs"
|
||||
|
||||
[[test]]
|
||||
name = "struct_to_bytes"
|
||||
path = "tests/struct_to_bytes.rs"
|
||||
|
||||
[[test]]
|
||||
name = "struct_try_from_bytes"
|
||||
path = "tests/struct_try_from_bytes.rs"
|
||||
|
||||
[[test]]
|
||||
name = "struct_unaligned"
|
||||
path = "tests/struct_unaligned.rs"
|
||||
|
||||
[[test]]
|
||||
name = "ui"
|
||||
path = "tests/ui.rs"
|
||||
|
||||
[[test]]
|
||||
name = "union_from_bytes"
|
||||
path = "tests/union_from_bytes.rs"
|
||||
|
||||
[[test]]
|
||||
name = "union_from_zeros"
|
||||
path = "tests/union_from_zeros.rs"
|
||||
|
||||
[[test]]
|
||||
name = "union_known_layout"
|
||||
path = "tests/union_known_layout.rs"
|
||||
|
||||
[[test]]
|
||||
name = "union_no_cell"
|
||||
path = "tests/union_no_cell.rs"
|
||||
|
||||
[[test]]
|
||||
name = "union_to_bytes"
|
||||
path = "tests/union_to_bytes.rs"
|
||||
|
||||
[[test]]
|
||||
name = "union_try_from_bytes"
|
||||
path = "tests/union_try_from_bytes.rs"
|
||||
|
||||
[[test]]
|
||||
name = "union_unaligned"
|
||||
path = "tests/union_unaligned.rs"
|
||||
|
||||
[[test]]
|
||||
name = "unsafe_cell"
|
||||
path = "tests/unsafe_cell.rs"
|
||||
|
||||
[dependencies.proc-macro2]
|
||||
version = "1.0.1"
|
||||
|
||||
[dependencies.quote]
|
||||
version = "1.0.40"
|
||||
|
||||
[dependencies.syn]
|
||||
version = "2.0.46"
|
||||
features = ["full"]
|
||||
|
||||
[dev-dependencies.dissimilar]
|
||||
version = "1.0.9"
|
||||
|
||||
[dev-dependencies.prettyplease]
|
||||
version = "=0.2.17"
|
||||
|
||||
[dev-dependencies.rustversion]
|
||||
version = "1.0"
|
||||
|
||||
[dev-dependencies.static_assertions]
|
||||
version = "1.1"
|
||||
|
||||
[dev-dependencies.syn]
|
||||
version = "2.0.46"
|
||||
features = ["visit"]
|
||||
|
||||
[lints.rust.unexpected_cfgs]
|
||||
level = "warn"
|
||||
priority = 0
|
||||
check-cfg = [
|
||||
"cfg(zerocopy_derive_union_into_bytes)",
|
||||
"cfg(zerocopy_unstable_derive_on_error)",
|
||||
]
|
||||
Reference in new issue
Block a user