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>
29 lines
1.1 KiB
Rust
29 lines
1.1 KiB
Rust
#[doc = r"Register block"]
|
|
#[repr(C)]
|
|
pub struct TXD {
|
|
#[doc = "0x00 - TXD data pointer"]
|
|
pub ptr: PTR,
|
|
#[doc = "0x04 - Maximum number of bytes in transmit buffer"]
|
|
pub maxcnt: MAXCNT,
|
|
#[doc = "0x08 - Number of bytes transmitted in last granted transaction"]
|
|
pub amount: AMOUNT,
|
|
#[doc = "0x0c - EasyDMA list type"]
|
|
pub list: LIST,
|
|
}
|
|
#[doc = "PTR (rw) register accessor: an alias for `Reg<PTR_SPEC>`"]
|
|
pub type PTR = crate::Reg<ptr::PTR_SPEC>;
|
|
#[doc = "TXD data pointer"]
|
|
pub mod ptr;
|
|
#[doc = "MAXCNT (rw) register accessor: an alias for `Reg<MAXCNT_SPEC>`"]
|
|
pub type MAXCNT = crate::Reg<maxcnt::MAXCNT_SPEC>;
|
|
#[doc = "Maximum number of bytes in transmit buffer"]
|
|
pub mod maxcnt;
|
|
#[doc = "AMOUNT (r) register accessor: an alias for `Reg<AMOUNT_SPEC>`"]
|
|
pub type AMOUNT = crate::Reg<amount::AMOUNT_SPEC>;
|
|
#[doc = "Number of bytes transmitted in last granted transaction"]
|
|
pub mod amount;
|
|
#[doc = "LIST (rw) register accessor: an alias for `Reg<LIST_SPEC>`"]
|
|
pub type LIST = crate::Reg<list::LIST_SPEC>;
|
|
#[doc = "EasyDMA list type"]
|
|
pub mod list;
|