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
+36
@@ -0,0 +1,36 @@
|
||||
#[maybe_async_cfg::maybe(sync(feature = "is_sync"), async(not(feature = "is_sync")))]
|
||||
async fn some_function() -> bool {
|
||||
true
|
||||
}
|
||||
|
||||
#[maybe_async_cfg::maybe(
|
||||
idents(some_function(fn)),
|
||||
sync(feature = "is_sync", test),
|
||||
async(not(feature = "is_sync"), async_std::test)
|
||||
)]
|
||||
async fn test_async_fn() {
|
||||
let res = some_function().await;
|
||||
assert_eq!(res, true);
|
||||
}
|
||||
|
||||
#[maybe_async_cfg::maybe(
|
||||
idents(some_function(fn)),
|
||||
sync(feature = "is_sync", test),
|
||||
async(not(feature = "is_sync"), tokio::test)
|
||||
)]
|
||||
async fn test_async_fn2() {
|
||||
let res = some_function().await;
|
||||
assert_eq!(res, true);
|
||||
}
|
||||
|
||||
#[maybe_async_cfg::maybe(idents(some_function(fn)), sync(feature = "is_sync", test))]
|
||||
async fn test_async_fn3() {
|
||||
let res = some_function().await;
|
||||
assert_eq!(res, true);
|
||||
}
|
||||
|
||||
#[maybe_async_cfg::maybe(idents(some_function(fn)), sync(feature = "is_sync", test))]
|
||||
async fn test_sync_fn() {
|
||||
let res = some_function();
|
||||
assert_eq!(res, true);
|
||||
}
|
||||
Reference in new issue
Block a user