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>
54 lines
1.7 KiB
Rust
54 lines
1.7 KiB
Rust
#[doc = r"Register block"]
|
|
#[repr(C)]
|
|
pub struct RegisterBlock {
|
|
#[doc = "0x00..0x30 - Channel group tasks"]
|
|
pub tasks_chg: [TASKS_CHG; 6],
|
|
_reserved1: [u8; 0x04d0],
|
|
#[doc = "0x500 - Channel enable register"]
|
|
pub chen: CHEN,
|
|
#[doc = "0x504 - Channel enable set register"]
|
|
pub chenset: CHENSET,
|
|
#[doc = "0x508 - Channel enable clear register"]
|
|
pub chenclr: CHENCLR,
|
|
_reserved4: [u8; 0x04],
|
|
#[doc = "0x510..0x560 - PPI Channel"]
|
|
pub ch: [CH; 10],
|
|
_reserved5: [u8; 0x02a0],
|
|
#[doc = "0x800..0x818 - Description collection: Channel group n"]
|
|
pub chg: [CHG; 6],
|
|
_reserved6: [u8; 0xf8],
|
|
#[doc = "0x910..0x990 - Fork"]
|
|
pub fork: [FORK; 32],
|
|
}
|
|
#[doc = "Channel group tasks"]
|
|
pub use tasks_chg::TASKS_CHG;
|
|
#[doc = r"Cluster"]
|
|
#[doc = "Channel group tasks"]
|
|
pub mod tasks_chg;
|
|
#[doc = "CHEN (rw) register accessor: an alias for `Reg<CHEN_SPEC>`"]
|
|
pub type CHEN = crate::Reg<chen::CHEN_SPEC>;
|
|
#[doc = "Channel enable register"]
|
|
pub mod chen;
|
|
#[doc = "CHENSET (rw) register accessor: an alias for `Reg<CHENSET_SPEC>`"]
|
|
pub type CHENSET = crate::Reg<chenset::CHENSET_SPEC>;
|
|
#[doc = "Channel enable set register"]
|
|
pub mod chenset;
|
|
#[doc = "CHENCLR (rw) register accessor: an alias for `Reg<CHENCLR_SPEC>`"]
|
|
pub type CHENCLR = crate::Reg<chenclr::CHENCLR_SPEC>;
|
|
#[doc = "Channel enable clear register"]
|
|
pub mod chenclr;
|
|
#[doc = "PPI Channel"]
|
|
pub use ch::CH;
|
|
#[doc = r"Cluster"]
|
|
#[doc = "PPI Channel"]
|
|
pub mod ch;
|
|
#[doc = "CHG (rw) register accessor: an alias for `Reg<CHG_SPEC>`"]
|
|
pub type CHG = crate::Reg<chg::CHG_SPEC>;
|
|
#[doc = "Description collection: Channel group n"]
|
|
pub mod chg;
|
|
#[doc = "Fork"]
|
|
pub use fork::FORK;
|
|
#[doc = r"Cluster"]
|
|
#[doc = "Fork"]
|
|
pub mod fork;
|