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>
28 lines
599 B
Rust
28 lines
599 B
Rust
//! Digital I/O
|
|
//!
|
|
//!
|
|
//!
|
|
|
|
// Deprecated / infallible traits
|
|
#[deprecated(
|
|
since = "0.2.2",
|
|
note = "Deprecated because the methods cannot return errors. \
|
|
Users should use the traits in digital::v2."
|
|
)]
|
|
pub mod v1;
|
|
|
|
// New / fallible traits
|
|
pub mod v2;
|
|
|
|
// v2 -> v1 compatibility wrappers
|
|
// These require explicit casts from v2 -> v1
|
|
pub mod v1_compat;
|
|
|
|
// v1 -> v2 compatibility shims
|
|
// These are implicit over v1 implementations
|
|
pub mod v2_compat;
|
|
|
|
// Re-export old traits so this isn't a breaking change
|
|
#[allow(deprecated)]
|
|
pub use self::v1::*;
|