#[doc = r"Register block"] #[repr(C)] pub struct RegisterBlock { #[doc = "0x00 - Enable RADIO in TX mode"] pub tasks_txen: TASKS_TXEN, #[doc = "0x04 - Enable RADIO in RX mode"] pub tasks_rxen: TASKS_RXEN, #[doc = "0x08 - Start RADIO"] pub tasks_start: TASKS_START, #[doc = "0x0c - Stop RADIO"] pub tasks_stop: TASKS_STOP, #[doc = "0x10 - Disable RADIO"] pub tasks_disable: TASKS_DISABLE, #[doc = "0x14 - Start the RSSI and take one single sample of the receive signal strength."] pub tasks_rssistart: TASKS_RSSISTART, #[doc = "0x18 - Stop the RSSI measurement"] pub tasks_rssistop: TASKS_RSSISTOP, #[doc = "0x1c - Start the bit counter"] pub tasks_bcstart: TASKS_BCSTART, #[doc = "0x20 - Stop the bit counter"] pub tasks_bcstop: TASKS_BCSTOP, _reserved9: [u8; 0xdc], #[doc = "0x100 - RADIO has ramped up and is ready to be started"] pub events_ready: EVENTS_READY, #[doc = "0x104 - Address sent or received"] pub events_address: EVENTS_ADDRESS, #[doc = "0x108 - Packet payload sent or received"] pub events_payload: EVENTS_PAYLOAD, #[doc = "0x10c - Packet sent or received"] pub events_end: EVENTS_END, #[doc = "0x110 - RADIO has been disabled"] pub events_disabled: EVENTS_DISABLED, #[doc = "0x114 - A device address match occurred on the last received packet"] pub events_devmatch: EVENTS_DEVMATCH, #[doc = "0x118 - No device address match occurred on the last received packet"] pub events_devmiss: EVENTS_DEVMISS, #[doc = "0x11c - Sampling of receive signal strength complete."] pub events_rssiend: EVENTS_RSSIEND, _reserved17: [u8; 0x08], #[doc = "0x128 - Bit counter reached bit count value."] pub events_bcmatch: EVENTS_BCMATCH, _reserved18: [u8; 0x04], #[doc = "0x130 - Packet received with CRC ok"] pub events_crcok: EVENTS_CRCOK, #[doc = "0x134 - Packet received with CRC error"] pub events_crcerror: EVENTS_CRCERROR, _reserved20: [u8; 0xc8], #[doc = "0x200 - Shortcut register"] pub shorts: SHORTS, _reserved21: [u8; 0x0100], #[doc = "0x304 - Enable interrupt"] pub intenset: INTENSET, #[doc = "0x308 - Disable interrupt"] pub intenclr: INTENCLR, _reserved23: [u8; 0xf4], #[doc = "0x400 - CRC status"] pub crcstatus: CRCSTATUS, _reserved24: [u8; 0x04], #[doc = "0x408 - Received address"] pub rxmatch: RXMATCH, #[doc = "0x40c - CRC field of previously received packet"] pub rxcrc: RXCRC, #[doc = "0x410 - Device address match index"] pub dai: DAI, _reserved27: [u8; 0xf0], #[doc = "0x504 - Packet pointer"] pub packetptr: PACKETPTR, #[doc = "0x508 - Frequency"] pub frequency: FREQUENCY, #[doc = "0x50c - Output power"] pub txpower: TXPOWER, #[doc = "0x510 - Data rate and modulation"] pub mode: MODE, #[doc = "0x514 - Packet configuration register 0"] pub pcnf0: PCNF0, #[doc = "0x518 - Packet configuration register 1"] pub pcnf1: PCNF1, #[doc = "0x51c - Base address 0"] pub base0: BASE0, #[doc = "0x520 - Base address 1"] pub base1: BASE1, #[doc = "0x524 - Prefixes bytes for logical addresses 0-3"] pub prefix0: PREFIX0, #[doc = "0x528 - Prefixes bytes for logical addresses 4-7"] pub prefix1: PREFIX1, #[doc = "0x52c - Transmit address select"] pub txaddress: TXADDRESS, #[doc = "0x530 - Receive address select"] pub rxaddresses: RXADDRESSES, #[doc = "0x534 - CRC configuration"] pub crccnf: CRCCNF, #[doc = "0x538 - CRC polynomial"] pub crcpoly: CRCPOLY, #[doc = "0x53c - CRC initial value"] pub crcinit: CRCINIT, #[doc = "0x540 - Unspecified"] pub unused0: UNUSED0, #[doc = "0x544 - Inter Frame Spacing in us"] pub tifs: TIFS, #[doc = "0x548 - RSSI sample"] pub rssisample: RSSISAMPLE, _reserved45: [u8; 0x04], #[doc = "0x550 - Current radio state"] pub state: STATE, #[doc = "0x554 - Data whitening initial value"] pub datawhiteiv: DATAWHITEIV, _reserved47: [u8; 0x08], #[doc = "0x560 - Bit counter compare"] pub bcc: BCC, _reserved48: [u8; 0x9c], #[doc = "0x600..0x620 - Description collection\\[0\\]: Device address base segment 0"] pub dab: [DAB; 8], #[doc = "0x620..0x640 - Description collection\\[0\\]: Device address prefix 0"] pub dap: [DAP; 8], #[doc = "0x640 - Device address match configuration"] pub dacnf: DACNF, _reserved51: [u8; 0x0c], #[doc = "0x650 - Radio mode configuration register 0"] pub modecnf0: MODECNF0, _reserved52: [u8; 0x09a8], #[doc = "0xffc - Peripheral power control"] pub power: POWER, } #[doc = "TASKS_TXEN (w) register accessor: an alias for `Reg`"] pub type TASKS_TXEN = crate::Reg; #[doc = "Enable RADIO in TX mode"] pub mod tasks_txen; #[doc = "TASKS_RXEN (w) register accessor: an alias for `Reg`"] pub type TASKS_RXEN = crate::Reg; #[doc = "Enable RADIO in RX mode"] pub mod tasks_rxen; #[doc = "TASKS_START (w) register accessor: an alias for `Reg`"] pub type TASKS_START = crate::Reg; #[doc = "Start RADIO"] pub mod tasks_start; #[doc = "TASKS_STOP (w) register accessor: an alias for `Reg`"] pub type TASKS_STOP = crate::Reg; #[doc = "Stop RADIO"] pub mod tasks_stop; #[doc = "TASKS_DISABLE (w) register accessor: an alias for `Reg`"] pub type TASKS_DISABLE = crate::Reg; #[doc = "Disable RADIO"] pub mod tasks_disable; #[doc = "TASKS_RSSISTART (w) register accessor: an alias for `Reg`"] pub type TASKS_RSSISTART = crate::Reg; #[doc = "Start the RSSI and take one single sample of the receive signal strength."] pub mod tasks_rssistart; #[doc = "TASKS_RSSISTOP (w) register accessor: an alias for `Reg`"] pub type TASKS_RSSISTOP = crate::Reg; #[doc = "Stop the RSSI measurement"] pub mod tasks_rssistop; #[doc = "TASKS_BCSTART (w) register accessor: an alias for `Reg`"] pub type TASKS_BCSTART = crate::Reg; #[doc = "Start the bit counter"] pub mod tasks_bcstart; #[doc = "TASKS_BCSTOP (w) register accessor: an alias for `Reg`"] pub type TASKS_BCSTOP = crate::Reg; #[doc = "Stop the bit counter"] pub mod tasks_bcstop; #[doc = "EVENTS_READY (rw) register accessor: an alias for `Reg`"] pub type EVENTS_READY = crate::Reg; #[doc = "RADIO has ramped up and is ready to be started"] pub mod events_ready; #[doc = "EVENTS_ADDRESS (rw) register accessor: an alias for `Reg`"] pub type EVENTS_ADDRESS = crate::Reg; #[doc = "Address sent or received"] pub mod events_address; #[doc = "EVENTS_PAYLOAD (rw) register accessor: an alias for `Reg`"] pub type EVENTS_PAYLOAD = crate::Reg; #[doc = "Packet payload sent or received"] pub mod events_payload; #[doc = "EVENTS_END (rw) register accessor: an alias for `Reg`"] pub type EVENTS_END = crate::Reg; #[doc = "Packet sent or received"] pub mod events_end; #[doc = "EVENTS_DISABLED (rw) register accessor: an alias for `Reg`"] pub type EVENTS_DISABLED = crate::Reg; #[doc = "RADIO has been disabled"] pub mod events_disabled; #[doc = "EVENTS_DEVMATCH (rw) register accessor: an alias for `Reg`"] pub type EVENTS_DEVMATCH = crate::Reg; #[doc = "A device address match occurred on the last received packet"] pub mod events_devmatch; #[doc = "EVENTS_DEVMISS (rw) register accessor: an alias for `Reg`"] pub type EVENTS_DEVMISS = crate::Reg; #[doc = "No device address match occurred on the last received packet"] pub mod events_devmiss; #[doc = "EVENTS_RSSIEND (rw) register accessor: an alias for `Reg`"] pub type EVENTS_RSSIEND = crate::Reg; #[doc = "Sampling of receive signal strength complete."] pub mod events_rssiend; #[doc = "EVENTS_BCMATCH (rw) register accessor: an alias for `Reg`"] pub type EVENTS_BCMATCH = crate::Reg; #[doc = "Bit counter reached bit count value."] pub mod events_bcmatch; #[doc = "EVENTS_CRCOK (rw) register accessor: an alias for `Reg`"] pub type EVENTS_CRCOK = crate::Reg; #[doc = "Packet received with CRC ok"] pub mod events_crcok; #[doc = "EVENTS_CRCERROR (rw) register accessor: an alias for `Reg`"] pub type EVENTS_CRCERROR = crate::Reg; #[doc = "Packet received with CRC error"] pub mod events_crcerror; #[doc = "SHORTS (rw) register accessor: an alias for `Reg`"] pub type SHORTS = crate::Reg; #[doc = "Shortcut register"] pub mod shorts; #[doc = "INTENSET (rw) register accessor: an alias for `Reg`"] pub type INTENSET = crate::Reg; #[doc = "Enable interrupt"] pub mod intenset; #[doc = "INTENCLR (rw) register accessor: an alias for `Reg`"] pub type INTENCLR = crate::Reg; #[doc = "Disable interrupt"] pub mod intenclr; #[doc = "CRCSTATUS (r) register accessor: an alias for `Reg`"] pub type CRCSTATUS = crate::Reg; #[doc = "CRC status"] pub mod crcstatus; #[doc = "RXMATCH (r) register accessor: an alias for `Reg`"] pub type RXMATCH = crate::Reg; #[doc = "Received address"] pub mod rxmatch; #[doc = "RXCRC (r) register accessor: an alias for `Reg`"] pub type RXCRC = crate::Reg; #[doc = "CRC field of previously received packet"] pub mod rxcrc; #[doc = "DAI (r) register accessor: an alias for `Reg`"] pub type DAI = crate::Reg; #[doc = "Device address match index"] pub mod dai; #[doc = "PACKETPTR (rw) register accessor: an alias for `Reg`"] pub type PACKETPTR = crate::Reg; #[doc = "Packet pointer"] pub mod packetptr; #[doc = "FREQUENCY (rw) register accessor: an alias for `Reg`"] pub type FREQUENCY = crate::Reg; #[doc = "Frequency"] pub mod frequency; #[doc = "TXPOWER (rw) register accessor: an alias for `Reg`"] pub type TXPOWER = crate::Reg; #[doc = "Output power"] pub mod txpower; #[doc = "MODE (rw) register accessor: an alias for `Reg`"] pub type MODE = crate::Reg; #[doc = "Data rate and modulation"] pub mod mode; #[doc = "PCNF0 (rw) register accessor: an alias for `Reg`"] pub type PCNF0 = crate::Reg; #[doc = "Packet configuration register 0"] pub mod pcnf0; #[doc = "PCNF1 (rw) register accessor: an alias for `Reg`"] pub type PCNF1 = crate::Reg; #[doc = "Packet configuration register 1"] pub mod pcnf1; #[doc = "BASE0 (rw) register accessor: an alias for `Reg`"] pub type BASE0 = crate::Reg; #[doc = "Base address 0"] pub mod base0; #[doc = "BASE1 (rw) register accessor: an alias for `Reg`"] pub type BASE1 = crate::Reg; #[doc = "Base address 1"] pub mod base1; #[doc = "PREFIX0 (rw) register accessor: an alias for `Reg`"] pub type PREFIX0 = crate::Reg; #[doc = "Prefixes bytes for logical addresses 0-3"] pub mod prefix0; #[doc = "PREFIX1 (rw) register accessor: an alias for `Reg`"] pub type PREFIX1 = crate::Reg; #[doc = "Prefixes bytes for logical addresses 4-7"] pub mod prefix1; #[doc = "TXADDRESS (rw) register accessor: an alias for `Reg`"] pub type TXADDRESS = crate::Reg; #[doc = "Transmit address select"] pub mod txaddress; #[doc = "RXADDRESSES (rw) register accessor: an alias for `Reg`"] pub type RXADDRESSES = crate::Reg; #[doc = "Receive address select"] pub mod rxaddresses; #[doc = "CRCCNF (rw) register accessor: an alias for `Reg`"] pub type CRCCNF = crate::Reg; #[doc = "CRC configuration"] pub mod crccnf; #[doc = "CRCPOLY (rw) register accessor: an alias for `Reg`"] pub type CRCPOLY = crate::Reg; #[doc = "CRC polynomial"] pub mod crcpoly; #[doc = "CRCINIT (rw) register accessor: an alias for `Reg`"] pub type CRCINIT = crate::Reg; #[doc = "CRC initial value"] pub mod crcinit; #[doc = "UNUSED0 (rw) register accessor: an alias for `Reg`"] pub type UNUSED0 = crate::Reg; #[doc = "Unspecified"] pub mod unused0; #[doc = "TIFS (rw) register accessor: an alias for `Reg`"] pub type TIFS = crate::Reg; #[doc = "Inter Frame Spacing in us"] pub mod tifs; #[doc = "RSSISAMPLE (r) register accessor: an alias for `Reg`"] pub type RSSISAMPLE = crate::Reg; #[doc = "RSSI sample"] pub mod rssisample; #[doc = "STATE (r) register accessor: an alias for `Reg`"] pub type STATE = crate::Reg; #[doc = "Current radio state"] pub mod state; #[doc = "DATAWHITEIV (rw) register accessor: an alias for `Reg`"] pub type DATAWHITEIV = crate::Reg; #[doc = "Data whitening initial value"] pub mod datawhiteiv; #[doc = "BCC (rw) register accessor: an alias for `Reg`"] pub type BCC = crate::Reg; #[doc = "Bit counter compare"] pub mod bcc; #[doc = "DAB (rw) register accessor: an alias for `Reg`"] pub type DAB = crate::Reg; #[doc = "Description collection\\[0\\]: Device address base segment 0"] pub mod dab; #[doc = "DAP (rw) register accessor: an alias for `Reg`"] pub type DAP = crate::Reg; #[doc = "Description collection\\[0\\]: Device address prefix 0"] pub mod dap; #[doc = "DACNF (rw) register accessor: an alias for `Reg`"] pub type DACNF = crate::Reg; #[doc = "Device address match configuration"] pub mod dacnf; #[doc = "MODECNF0 (rw) register accessor: an alias for `Reg`"] pub type MODECNF0 = crate::Reg; #[doc = "Radio mode configuration register 0"] pub mod modecnf0; #[doc = "POWER (rw) register accessor: an alias for `Reg`"] pub type POWER = crate::Reg; #[doc = "Peripheral power control"] pub mod power;