This repository has been archived on 2026-08-31. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
donglora/vendor/nrf5340-net-pac/src/cti_ns.rs
T
swaitsandClaude Opus 4.6 3102fc747a 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>
2026-03-29 20:42:54 -06:00

167 lines
7.1 KiB
Rust

#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
#[doc = "0x00 - CTI Control register"]
pub cticontrol: CTICONTROL,
_reserved1: [u8; 0x0c],
#[doc = "0x10 - CTI Interrupt Acknowledge register"]
pub ctiintack: CTIINTACK,
#[doc = "0x14 - CTI Application Trigger Set register"]
pub ctiappset: CTIAPPSET,
#[doc = "0x18 - CTI Application Trigger Clear register"]
pub ctiappclear: CTIAPPCLEAR,
#[doc = "0x1c - CTI Application Pulse register"]
pub ctiapppulse: CTIAPPPULSE,
#[doc = "0x20..0x40 - Description collection: CTI Trigger input"]
pub ctiinen: [CTIINEN; 8],
_reserved6: [u8; 0x60],
#[doc = "0xa0..0xc0 - Description collection: CTI Trigger output"]
pub ctiouten: [CTIOUTEN; 8],
_reserved7: [u8; 0x70],
#[doc = "0x130 - CTI Trigger In Status register"]
pub ctitriginstatus: CTITRIGINSTATUS,
#[doc = "0x134 - CTI Trigger Out Status register"]
pub ctitrigoutstatus: CTITRIGOUTSTATUS,
#[doc = "0x138 - CTI Channel In Status register"]
pub ctichinstatus: CTICHINSTATUS,
_reserved10: [u8; 0x04],
#[doc = "0x140 - Enable CTI Channel Gate register"]
pub ctigate: CTIGATE,
_reserved11: [u8; 0x0e78],
#[doc = "0xfbc - Device Architecture register"]
pub devarch: DEVARCH,
_reserved12: [u8; 0x08],
#[doc = "0xfc8 - Device Configuration register"]
pub devid: DEVID,
#[doc = "0xfcc - Device Type Identifier register"]
pub devtype: DEVTYPE,
#[doc = "0xfd0 - Peripheral ID4 Register"]
pub pidr4: PIDR4,
#[doc = "0xfd4 - Peripheral ID5 register"]
pub pidr5: PIDR5,
#[doc = "0xfd8 - Peripheral ID6 register"]
pub pidr6: PIDR6,
#[doc = "0xfdc - Peripheral ID7 register"]
pub pidr7: PIDR7,
#[doc = "0xfe0 - Peripheral ID0 Register"]
pub pidr0: PIDR0,
#[doc = "0xfe4 - Peripheral ID1 Register"]
pub pidr1: PIDR1,
#[doc = "0xfe8 - Peripheral ID2 Register"]
pub pidr2: PIDR2,
#[doc = "0xfec - Peripheral ID3 Register"]
pub pidr3: PIDR3,
#[doc = "0xff0 - Component ID0 Register"]
pub cidr0: CIDR0,
#[doc = "0xff4 - Component ID1 Register"]
pub cidr1: CIDR1,
#[doc = "0xff8 - Component ID2 Register"]
pub cidr2: CIDR2,
#[doc = "0xffc - Component ID3 Register"]
pub cidr3: CIDR3,
}
#[doc = "CTICONTROL (rw) register accessor: an alias for `Reg<CTICONTROL_SPEC>`"]
pub type CTICONTROL = crate::Reg<cticontrol::CTICONTROL_SPEC>;
#[doc = "CTI Control register"]
pub mod cticontrol;
#[doc = "CTIINTACK (w) register accessor: an alias for `Reg<CTIINTACK_SPEC>`"]
pub type CTIINTACK = crate::Reg<ctiintack::CTIINTACK_SPEC>;
#[doc = "CTI Interrupt Acknowledge register"]
pub mod ctiintack;
#[doc = "CTIAPPSET (rw) register accessor: an alias for `Reg<CTIAPPSET_SPEC>`"]
pub type CTIAPPSET = crate::Reg<ctiappset::CTIAPPSET_SPEC>;
#[doc = "CTI Application Trigger Set register"]
pub mod ctiappset;
#[doc = "CTIAPPCLEAR (w) register accessor: an alias for `Reg<CTIAPPCLEAR_SPEC>`"]
pub type CTIAPPCLEAR = crate::Reg<ctiappclear::CTIAPPCLEAR_SPEC>;
#[doc = "CTI Application Trigger Clear register"]
pub mod ctiappclear;
#[doc = "CTIAPPPULSE (w) register accessor: an alias for `Reg<CTIAPPPULSE_SPEC>`"]
pub type CTIAPPPULSE = crate::Reg<ctiapppulse::CTIAPPPULSE_SPEC>;
#[doc = "CTI Application Pulse register"]
pub mod ctiapppulse;
#[doc = "CTIINEN (rw) register accessor: an alias for `Reg<CTIINEN_SPEC>`"]
pub type CTIINEN = crate::Reg<ctiinen::CTIINEN_SPEC>;
#[doc = "Description collection: CTI Trigger input"]
pub mod ctiinen;
#[doc = "CTIOUTEN (rw) register accessor: an alias for `Reg<CTIOUTEN_SPEC>`"]
pub type CTIOUTEN = crate::Reg<ctiouten::CTIOUTEN_SPEC>;
#[doc = "Description collection: CTI Trigger output"]
pub mod ctiouten;
#[doc = "CTITRIGINSTATUS (r) register accessor: an alias for `Reg<CTITRIGINSTATUS_SPEC>`"]
pub type CTITRIGINSTATUS = crate::Reg<ctitriginstatus::CTITRIGINSTATUS_SPEC>;
#[doc = "CTI Trigger In Status register"]
pub mod ctitriginstatus;
#[doc = "CTITRIGOUTSTATUS (r) register accessor: an alias for `Reg<CTITRIGOUTSTATUS_SPEC>`"]
pub type CTITRIGOUTSTATUS = crate::Reg<ctitrigoutstatus::CTITRIGOUTSTATUS_SPEC>;
#[doc = "CTI Trigger Out Status register"]
pub mod ctitrigoutstatus;
#[doc = "CTICHINSTATUS (r) register accessor: an alias for `Reg<CTICHINSTATUS_SPEC>`"]
pub type CTICHINSTATUS = crate::Reg<ctichinstatus::CTICHINSTATUS_SPEC>;
#[doc = "CTI Channel In Status register"]
pub mod ctichinstatus;
#[doc = "CTIGATE (rw) register accessor: an alias for `Reg<CTIGATE_SPEC>`"]
pub type CTIGATE = crate::Reg<ctigate::CTIGATE_SPEC>;
#[doc = "Enable CTI Channel Gate register"]
pub mod ctigate;
#[doc = "DEVARCH (r) register accessor: an alias for `Reg<DEVARCH_SPEC>`"]
pub type DEVARCH = crate::Reg<devarch::DEVARCH_SPEC>;
#[doc = "Device Architecture register"]
pub mod devarch;
#[doc = "DEVID (r) register accessor: an alias for `Reg<DEVID_SPEC>`"]
pub type DEVID = crate::Reg<devid::DEVID_SPEC>;
#[doc = "Device Configuration register"]
pub mod devid;
#[doc = "DEVTYPE (r) register accessor: an alias for `Reg<DEVTYPE_SPEC>`"]
pub type DEVTYPE = crate::Reg<devtype::DEVTYPE_SPEC>;
#[doc = "Device Type Identifier register"]
pub mod devtype;
#[doc = "PIDR4 (r) register accessor: an alias for `Reg<PIDR4_SPEC>`"]
pub type PIDR4 = crate::Reg<pidr4::PIDR4_SPEC>;
#[doc = "Peripheral ID4 Register"]
pub mod pidr4;
#[doc = "PIDR5 (r) register accessor: an alias for `Reg<PIDR5_SPEC>`"]
pub type PIDR5 = crate::Reg<pidr5::PIDR5_SPEC>;
#[doc = "Peripheral ID5 register"]
pub mod pidr5;
#[doc = "PIDR6 (r) register accessor: an alias for `Reg<PIDR6_SPEC>`"]
pub type PIDR6 = crate::Reg<pidr6::PIDR6_SPEC>;
#[doc = "Peripheral ID6 register"]
pub mod pidr6;
#[doc = "PIDR7 (r) register accessor: an alias for `Reg<PIDR7_SPEC>`"]
pub type PIDR7 = crate::Reg<pidr7::PIDR7_SPEC>;
#[doc = "Peripheral ID7 register"]
pub mod pidr7;
#[doc = "PIDR0 (r) register accessor: an alias for `Reg<PIDR0_SPEC>`"]
pub type PIDR0 = crate::Reg<pidr0::PIDR0_SPEC>;
#[doc = "Peripheral ID0 Register"]
pub mod pidr0;
#[doc = "PIDR1 (r) register accessor: an alias for `Reg<PIDR1_SPEC>`"]
pub type PIDR1 = crate::Reg<pidr1::PIDR1_SPEC>;
#[doc = "Peripheral ID1 Register"]
pub mod pidr1;
#[doc = "PIDR2 (r) register accessor: an alias for `Reg<PIDR2_SPEC>`"]
pub type PIDR2 = crate::Reg<pidr2::PIDR2_SPEC>;
#[doc = "Peripheral ID2 Register"]
pub mod pidr2;
#[doc = "PIDR3 (r) register accessor: an alias for `Reg<PIDR3_SPEC>`"]
pub type PIDR3 = crate::Reg<pidr3::PIDR3_SPEC>;
#[doc = "Peripheral ID3 Register"]
pub mod pidr3;
#[doc = "CIDR0 (r) register accessor: an alias for `Reg<CIDR0_SPEC>`"]
pub type CIDR0 = crate::Reg<cidr0::CIDR0_SPEC>;
#[doc = "Component ID0 Register"]
pub mod cidr0;
#[doc = "CIDR1 (r) register accessor: an alias for `Reg<CIDR1_SPEC>`"]
pub type CIDR1 = crate::Reg<cidr1::CIDR1_SPEC>;
#[doc = "Component ID1 Register"]
pub mod cidr1;
#[doc = "CIDR2 (r) register accessor: an alias for `Reg<CIDR2_SPEC>`"]
pub type CIDR2 = crate::Reg<cidr2::CIDR2_SPEC>;
#[doc = "Component ID2 Register"]
pub mod cidr2;
#[doc = "CIDR3 (r) register accessor: an alias for `Reg<CIDR3_SPEC>`"]
pub type CIDR3 = crate::Reg<cidr3::CIDR3_SPEC>;
#[doc = "Component ID3 Register"]
pub mod cidr3;