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>
21 lines
423 B
Rust
21 lines
423 B
Rust
// Some feature combinations result in some of these macros never being used.
|
|
// Which is fine. Just squash the warnings.
|
|
#![allow(unused_macros)]
|
|
|
|
macro_rules! log {
|
|
($($tt:tt)*) => {
|
|
#[cfg(feature = "logging")]
|
|
{
|
|
$($tt)*
|
|
}
|
|
}
|
|
}
|
|
|
|
macro_rules! debug {
|
|
($($tt:tt)*) => { log!(log::debug!($($tt)*)) }
|
|
}
|
|
|
|
macro_rules! trace {
|
|
($($tt:tt)*) => { log!(log::trace!($($tt)*)) }
|
|
}
|