1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - Enable RADIO in TX mode"]
    pub tasks_txen: crate::Reg<tasks_txen::TASKS_TXEN_SPEC>,
    #[doc = "0x04 - Enable RADIO in RX mode"]
    pub tasks_rxen: crate::Reg<tasks_rxen::TASKS_RXEN_SPEC>,
    #[doc = "0x08 - Start RADIO"]
    pub tasks_start: crate::Reg<tasks_start::TASKS_START_SPEC>,
    #[doc = "0x0c - Stop RADIO"]
    pub tasks_stop: crate::Reg<tasks_stop::TASKS_STOP_SPEC>,
    #[doc = "0x10 - Disable RADIO"]
    pub tasks_disable: crate::Reg<tasks_disable::TASKS_DISABLE_SPEC>,
    #[doc = "0x14 - Start the RSSI and take one single sample of the receive signal strength"]
    pub tasks_rssistart: crate::Reg<tasks_rssistart::TASKS_RSSISTART_SPEC>,
    #[doc = "0x18 - Stop the RSSI measurement"]
    pub tasks_rssistop: crate::Reg<tasks_rssistop::TASKS_RSSISTOP_SPEC>,
    #[doc = "0x1c - Start the bit counter"]
    pub tasks_bcstart: crate::Reg<tasks_bcstart::TASKS_BCSTART_SPEC>,
    #[doc = "0x20 - Stop the bit counter"]
    pub tasks_bcstop: crate::Reg<tasks_bcstop::TASKS_BCSTOP_SPEC>,
    #[doc = "0x24 - Start the energy detect measurement used in IEEE 802.15.4 mode"]
    pub tasks_edstart: crate::Reg<tasks_edstart::TASKS_EDSTART_SPEC>,
    #[doc = "0x28 - Stop the energy detect measurement"]
    pub tasks_edstop: crate::Reg<tasks_edstop::TASKS_EDSTOP_SPEC>,
    #[doc = "0x2c - Start the clear channel assessment used in IEEE 802.15.4 mode"]
    pub tasks_ccastart: crate::Reg<tasks_ccastart::TASKS_CCASTART_SPEC>,
    #[doc = "0x30 - Stop the clear channel assessment"]
    pub tasks_ccastop: crate::Reg<tasks_ccastop::TASKS_CCASTOP_SPEC>,
    _reserved13: [u8; 0xcc],
    #[doc = "0x100 - RADIO has ramped up and is ready to be started"]
    pub events_ready: crate::Reg<events_ready::EVENTS_READY_SPEC>,
    #[doc = "0x104 - Address sent or received"]
    pub events_address: crate::Reg<events_address::EVENTS_ADDRESS_SPEC>,
    #[doc = "0x108 - Packet payload sent or received"]
    pub events_payload: crate::Reg<events_payload::EVENTS_PAYLOAD_SPEC>,
    #[doc = "0x10c - Packet sent or received"]
    pub events_end: crate::Reg<events_end::EVENTS_END_SPEC>,
    #[doc = "0x110 - RADIO has been disabled"]
    pub events_disabled: crate::Reg<events_disabled::EVENTS_DISABLED_SPEC>,
    #[doc = "0x114 - A device address match occurred on the last received packet"]
    pub events_devmatch: crate::Reg<events_devmatch::EVENTS_DEVMATCH_SPEC>,
    #[doc = "0x118 - No device address match occurred on the last received packet"]
    pub events_devmiss: crate::Reg<events_devmiss::EVENTS_DEVMISS_SPEC>,
    #[doc = "0x11c - Sampling of receive signal strength complete"]
    pub events_rssiend: crate::Reg<events_rssiend::EVENTS_RSSIEND_SPEC>,
    _reserved21: [u8; 0x08],
    #[doc = "0x128 - Bit counter reached bit count value"]
    pub events_bcmatch: crate::Reg<events_bcmatch::EVENTS_BCMATCH_SPEC>,
    _reserved22: [u8; 0x04],
    #[doc = "0x130 - Packet received with CRC ok"]
    pub events_crcok: crate::Reg<events_crcok::EVENTS_CRCOK_SPEC>,
    #[doc = "0x134 - Packet received with CRC error"]
    pub events_crcerror: crate::Reg<events_crcerror::EVENTS_CRCERROR_SPEC>,
    #[doc = "0x138 - IEEE 802.15.4 length field received"]
    pub events_framestart: crate::Reg<events_framestart::EVENTS_FRAMESTART_SPEC>,
    #[doc = "0x13c - Sampling of energy detection complete. A new ED sample is ready for readout from the RADIO.EDSAMPLE register"]
    pub events_edend: crate::Reg<events_edend::EVENTS_EDEND_SPEC>,
    #[doc = "0x140 - The sampling of energy detection has stopped"]
    pub events_edstopped: crate::Reg<events_edstopped::EVENTS_EDSTOPPED_SPEC>,
    #[doc = "0x144 - Wireless medium in idle - clear to send"]
    pub events_ccaidle: crate::Reg<events_ccaidle::EVENTS_CCAIDLE_SPEC>,
    #[doc = "0x148 - Wireless medium busy - do not send"]
    pub events_ccabusy: crate::Reg<events_ccabusy::EVENTS_CCABUSY_SPEC>,
    #[doc = "0x14c - The CCA has stopped"]
    pub events_ccastopped: crate::Reg<events_ccastopped::EVENTS_CCASTOPPED_SPEC>,
    #[doc = "0x150 - Ble_LR CI field received, receive mode is changed from Ble_LR125Kbit to Ble_LR500Kbit."]
    pub events_rateboost: crate::Reg<events_rateboost::EVENTS_RATEBOOST_SPEC>,
    #[doc = "0x154 - RADIO has ramped up and is ready to be started TX path"]
    pub events_txready: crate::Reg<events_txready::EVENTS_TXREADY_SPEC>,
    #[doc = "0x158 - RADIO has ramped up and is ready to be started RX path"]
    pub events_rxready: crate::Reg<events_rxready::EVENTS_RXREADY_SPEC>,
    #[doc = "0x15c - MAC header match found"]
    pub events_mhrmatch: crate::Reg<events_mhrmatch::EVENTS_MHRMATCH_SPEC>,
    _reserved34: [u8; 0x0c],
    #[doc = "0x16c - Generated when last bit is sent on air"]
    pub events_phyend: crate::Reg<events_phyend::EVENTS_PHYEND_SPEC>,
    #[doc = "0x170 - CTE is present (early warning right after receiving CTEInfo byte)"]
    pub events_ctepresent: crate::Reg<events_ctepresent::EVENTS_CTEPRESENT_SPEC>,
    _reserved36: [u8; 0x8c],
    #[doc = "0x200 - Shortcuts between local events and tasks"]
    pub shorts: crate::Reg<shorts::SHORTS_SPEC>,
    _reserved37: [u8; 0x0100],
    #[doc = "0x304 - Enable interrupt"]
    pub intenset: crate::Reg<intenset::INTENSET_SPEC>,
    #[doc = "0x308 - Disable interrupt"]
    pub intenclr: crate::Reg<intenclr::INTENCLR_SPEC>,
    _reserved39: [u8; 0xf4],
    #[doc = "0x400 - CRC status"]
    pub crcstatus: crate::Reg<crcstatus::CRCSTATUS_SPEC>,
    _reserved40: [u8; 0x04],
    #[doc = "0x408 - Received address"]
    pub rxmatch: crate::Reg<rxmatch::RXMATCH_SPEC>,
    #[doc = "0x40c - CRC field of previously received packet"]
    pub rxcrc: crate::Reg<rxcrc::RXCRC_SPEC>,
    #[doc = "0x410 - Device address match index"]
    pub dai: crate::Reg<dai::DAI_SPEC>,
    #[doc = "0x414 - Payload status"]
    pub pdustat: crate::Reg<pdustat::PDUSTAT_SPEC>,
    _reserved44: [u8; 0x34],
    #[doc = "0x44c - CTEInfo parsed from received packet"]
    pub ctestatus: crate::Reg<ctestatus::CTESTATUS_SPEC>,
    _reserved45: [u8; 0x08],
    #[doc = "0x458 - DFE status information"]
    pub dfestatus: crate::Reg<dfestatus::DFESTATUS_SPEC>,
    _reserved46: [u8; 0xa8],
    #[doc = "0x504 - Packet pointer"]
    pub packetptr: crate::Reg<packetptr::PACKETPTR_SPEC>,
    #[doc = "0x508 - Frequency"]
    pub frequency: crate::Reg<frequency::FREQUENCY_SPEC>,
    #[doc = "0x50c - Output power"]
    pub txpower: crate::Reg<txpower::TXPOWER_SPEC>,
    #[doc = "0x510 - Data rate and modulation"]
    pub mode: crate::Reg<mode::MODE_SPEC>,
    #[doc = "0x514 - Packet configuration register 0"]
    pub pcnf0: crate::Reg<pcnf0::PCNF0_SPEC>,
    #[doc = "0x518 - Packet configuration register 1"]
    pub pcnf1: crate::Reg<pcnf1::PCNF1_SPEC>,
    #[doc = "0x51c - Base address 0"]
    pub base0: crate::Reg<base0::BASE0_SPEC>,
    #[doc = "0x520 - Base address 1"]
    pub base1: crate::Reg<base1::BASE1_SPEC>,
    #[doc = "0x524 - Prefixes bytes for logical addresses 0-3"]
    pub prefix0: crate::Reg<prefix0::PREFIX0_SPEC>,
    #[doc = "0x528 - Prefixes bytes for logical addresses 4-7"]
    pub prefix1: crate::Reg<prefix1::PREFIX1_SPEC>,
    #[doc = "0x52c - Transmit address select"]
    pub txaddress: crate::Reg<txaddress::TXADDRESS_SPEC>,
    #[doc = "0x530 - Receive address select"]
    pub rxaddresses: crate::Reg<rxaddresses::RXADDRESSES_SPEC>,
    #[doc = "0x534 - CRC configuration"]
    pub crccnf: crate::Reg<crccnf::CRCCNF_SPEC>,
    #[doc = "0x538 - CRC polynomial"]
    pub crcpoly: crate::Reg<crcpoly::CRCPOLY_SPEC>,
    #[doc = "0x53c - CRC initial value"]
    pub crcinit: crate::Reg<crcinit::CRCINIT_SPEC>,
    _reserved61: [u8; 0x04],
    #[doc = "0x544 - Interframe spacing in us"]
    pub tifs: crate::Reg<tifs::TIFS_SPEC>,
    #[doc = "0x548 - RSSI sample"]
    pub rssisample: crate::Reg<rssisample::RSSISAMPLE_SPEC>,
    _reserved63: [u8; 0x04],
    #[doc = "0x550 - Current radio state"]
    pub state: crate::Reg<state::STATE_SPEC>,
    #[doc = "0x554 - Data whitening initial value"]
    pub datawhiteiv: crate::Reg<datawhiteiv::DATAWHITEIV_SPEC>,
    _reserved65: [u8; 0x08],
    #[doc = "0x560 - Bit counter compare"]
    pub bcc: crate::Reg<bcc::BCC_SPEC>,
    _reserved66: [u8; 0x9c],
    #[doc = "0x600..0x620 - Description collection: Device address base segment n"]
    pub dab: [crate::Reg<dab::DAB_SPEC>; 8],
    #[doc = "0x620..0x640 - Description collection: Device address prefix n"]
    pub dap: [crate::Reg<dap::DAP_SPEC>; 8],
    #[doc = "0x640 - Device address match configuration"]
    pub dacnf: crate::Reg<dacnf::DACNF_SPEC>,
    #[doc = "0x644 - Search pattern configuration"]
    pub mhrmatchconf: crate::Reg<mhrmatchconf::MHRMATCHCONF_SPEC>,
    #[doc = "0x648 - Pattern mask"]
    pub mhrmatchmas: crate::Reg<mhrmatchmas::MHRMATCHMAS_SPEC>,
    _reserved71: [u8; 0x04],
    #[doc = "0x650 - Radio mode configuration register 0"]
    pub modecnf0: crate::Reg<modecnf0::MODECNF0_SPEC>,
    _reserved72: [u8; 0x0c],
    #[doc = "0x660 - IEEE 802.15.4 start of frame delimiter"]
    pub sfd: crate::Reg<sfd::SFD_SPEC>,
    #[doc = "0x664 - IEEE 802.15.4 energy detect loop count"]
    pub edcnt: crate::Reg<edcnt::EDCNT_SPEC>,
    #[doc = "0x668 - IEEE 802.15.4 energy detect level"]
    pub edsample: crate::Reg<edsample::EDSAMPLE_SPEC>,
    #[doc = "0x66c - IEEE 802.15.4 clear channel assessment control"]
    pub ccactrl: crate::Reg<ccactrl::CCACTRL_SPEC>,
    _reserved76: [u8; 0x0290],
    #[doc = "0x900 - Whether to use Angle-of-Arrival (AOA) or Angle-of-Departure (AOD)"]
    pub dfemode: crate::Reg<dfemode::DFEMODE_SPEC>,
    #[doc = "0x904 - Configuration for CTE inline mode"]
    pub cteinlineconf: crate::Reg<cteinlineconf::CTEINLINECONF_SPEC>,
    _reserved78: [u8; 0x08],
    #[doc = "0x910 - Various configuration for Direction finding"]
    pub dfectrl1: crate::Reg<dfectrl1::DFECTRL1_SPEC>,
    #[doc = "0x914 - Start offset for Direction finding"]
    pub dfectrl2: crate::Reg<dfectrl2::DFECTRL2_SPEC>,
    _reserved80: [u8; 0x10],
    #[doc = "0x928 - GPIO patterns to be used for each antenna"]
    pub switchpattern: crate::Reg<switchpattern::SWITCHPATTERN_SPEC>,
    #[doc = "0x92c - Clear the GPIO pattern array for antenna control"]
    pub clearpattern: crate::Reg<clearpattern::CLEARPATTERN_SPEC>,
    #[doc = "0x930..0x950 - Unspecified"]
    pub psel: PSEL,
    #[doc = "0x950..0x95c - DFE packet EasyDMA channel"]
    pub dfepacket: DFEPACKET,
    _reserved84: [u8; 0x06a0],
    #[doc = "0xffc - Peripheral power control"]
    pub power: crate::Reg<power::POWER_SPEC>,
}
#[doc = r"Register block"]
#[repr(C)]
pub struct PSEL {
    #[doc = "0x00..0x20 - Description collection: Pin select for DFE pin n"]
    pub dfegpio: [crate::Reg<self::psel::dfegpio::DFEGPIO_SPEC>; 8],
}
#[doc = r"Register block"]
#[doc = "Unspecified"]
pub mod psel;
#[doc = r"Register block"]
#[repr(C)]
pub struct DFEPACKET {
    #[doc = "0x00 - Data pointer"]
    pub ptr: crate::Reg<self::dfepacket::ptr::PTR_SPEC>,
    #[doc = "0x04 - Maximum number of buffer words to transfer"]
    pub maxcnt: crate::Reg<self::dfepacket::maxcnt::MAXCNT_SPEC>,
    #[doc = "0x08 - Number of samples transferred in the last transaction"]
    pub amount: crate::Reg<self::dfepacket::amount::AMOUNT_SPEC>,
}
#[doc = r"Register block"]
#[doc = "DFE packet EasyDMA channel"]
pub mod dfepacket;
#[doc = "TASKS_TXEN register accessor: an alias for `Reg<TASKS_TXEN_SPEC>`"]
pub type TASKS_TXEN = crate::Reg<tasks_txen::TASKS_TXEN_SPEC>;
#[doc = "Enable RADIO in TX mode"]
pub mod tasks_txen;
#[doc = "TASKS_RXEN register accessor: an alias for `Reg<TASKS_RXEN_SPEC>`"]
pub type TASKS_RXEN = crate::Reg<tasks_rxen::TASKS_RXEN_SPEC>;
#[doc = "Enable RADIO in RX mode"]
pub mod tasks_rxen;
#[doc = "TASKS_START register accessor: an alias for `Reg<TASKS_START_SPEC>`"]
pub type TASKS_START = crate::Reg<tasks_start::TASKS_START_SPEC>;
#[doc = "Start RADIO"]
pub mod tasks_start;
#[doc = "TASKS_STOP register accessor: an alias for `Reg<TASKS_STOP_SPEC>`"]
pub type TASKS_STOP = crate::Reg<tasks_stop::TASKS_STOP_SPEC>;
#[doc = "Stop RADIO"]
pub mod tasks_stop;
#[doc = "TASKS_DISABLE register accessor: an alias for `Reg<TASKS_DISABLE_SPEC>`"]
pub type TASKS_DISABLE = crate::Reg<tasks_disable::TASKS_DISABLE_SPEC>;
#[doc = "Disable RADIO"]
pub mod tasks_disable;
#[doc = "TASKS_RSSISTART register accessor: an alias for `Reg<TASKS_RSSISTART_SPEC>`"]
pub type TASKS_RSSISTART = crate::Reg<tasks_rssistart::TASKS_RSSISTART_SPEC>;
#[doc = "Start the RSSI and take one single sample of the receive signal strength"]
pub mod tasks_rssistart;
#[doc = "TASKS_RSSISTOP register accessor: an alias for `Reg<TASKS_RSSISTOP_SPEC>`"]
pub type TASKS_RSSISTOP = crate::Reg<tasks_rssistop::TASKS_RSSISTOP_SPEC>;
#[doc = "Stop the RSSI measurement"]
pub mod tasks_rssistop;
#[doc = "TASKS_BCSTART register accessor: an alias for `Reg<TASKS_BCSTART_SPEC>`"]
pub type TASKS_BCSTART = crate::Reg<tasks_bcstart::TASKS_BCSTART_SPEC>;
#[doc = "Start the bit counter"]
pub mod tasks_bcstart;
#[doc = "TASKS_BCSTOP register accessor: an alias for `Reg<TASKS_BCSTOP_SPEC>`"]
pub type TASKS_BCSTOP = crate::Reg<tasks_bcstop::TASKS_BCSTOP_SPEC>;
#[doc = "Stop the bit counter"]
pub mod tasks_bcstop;
#[doc = "TASKS_EDSTART register accessor: an alias for `Reg<TASKS_EDSTART_SPEC>`"]
pub type TASKS_EDSTART = crate::Reg<tasks_edstart::TASKS_EDSTART_SPEC>;
#[doc = "Start the energy detect measurement used in IEEE 802.15.4 mode"]
pub mod tasks_edstart;
#[doc = "TASKS_EDSTOP register accessor: an alias for `Reg<TASKS_EDSTOP_SPEC>`"]
pub type TASKS_EDSTOP = crate::Reg<tasks_edstop::TASKS_EDSTOP_SPEC>;
#[doc = "Stop the energy detect measurement"]
pub mod tasks_edstop;
#[doc = "TASKS_CCASTART register accessor: an alias for `Reg<TASKS_CCASTART_SPEC>`"]
pub type TASKS_CCASTART = crate::Reg<tasks_ccastart::TASKS_CCASTART_SPEC>;
#[doc = "Start the clear channel assessment used in IEEE 802.15.4 mode"]
pub mod tasks_ccastart;
#[doc = "TASKS_CCASTOP register accessor: an alias for `Reg<TASKS_CCASTOP_SPEC>`"]
pub type TASKS_CCASTOP = crate::Reg<tasks_ccastop::TASKS_CCASTOP_SPEC>;
#[doc = "Stop the clear channel assessment"]
pub mod tasks_ccastop;
#[doc = "EVENTS_READY register accessor: an alias for `Reg<EVENTS_READY_SPEC>`"]
pub type EVENTS_READY = crate::Reg<events_ready::EVENTS_READY_SPEC>;
#[doc = "RADIO has ramped up and is ready to be started"]
pub mod events_ready;
#[doc = "EVENTS_ADDRESS register accessor: an alias for `Reg<EVENTS_ADDRESS_SPEC>`"]
pub type EVENTS_ADDRESS = crate::Reg<events_address::EVENTS_ADDRESS_SPEC>;
#[doc = "Address sent or received"]
pub mod events_address;
#[doc = "EVENTS_PAYLOAD register accessor: an alias for `Reg<EVENTS_PAYLOAD_SPEC>`"]
pub type EVENTS_PAYLOAD = crate::Reg<events_payload::EVENTS_PAYLOAD_SPEC>;
#[doc = "Packet payload sent or received"]
pub mod events_payload;
#[doc = "EVENTS_END register accessor: an alias for `Reg<EVENTS_END_SPEC>`"]
pub type EVENTS_END = crate::Reg<events_end::EVENTS_END_SPEC>;
#[doc = "Packet sent or received"]
pub mod events_end;
#[doc = "EVENTS_DISABLED register accessor: an alias for `Reg<EVENTS_DISABLED_SPEC>`"]
pub type EVENTS_DISABLED = crate::Reg<events_disabled::EVENTS_DISABLED_SPEC>;
#[doc = "RADIO has been disabled"]
pub mod events_disabled;
#[doc = "EVENTS_DEVMATCH register accessor: an alias for `Reg<EVENTS_DEVMATCH_SPEC>`"]
pub type EVENTS_DEVMATCH = crate::Reg<events_devmatch::EVENTS_DEVMATCH_SPEC>;
#[doc = "A device address match occurred on the last received packet"]
pub mod events_devmatch;
#[doc = "EVENTS_DEVMISS register accessor: an alias for `Reg<EVENTS_DEVMISS_SPEC>`"]
pub type EVENTS_DEVMISS = crate::Reg<events_devmiss::EVENTS_DEVMISS_SPEC>;
#[doc = "No device address match occurred on the last received packet"]
pub mod events_devmiss;
#[doc = "EVENTS_RSSIEND register accessor: an alias for `Reg<EVENTS_RSSIEND_SPEC>`"]
pub type EVENTS_RSSIEND = crate::Reg<events_rssiend::EVENTS_RSSIEND_SPEC>;
#[doc = "Sampling of receive signal strength complete"]
pub mod events_rssiend;
#[doc = "EVENTS_BCMATCH register accessor: an alias for `Reg<EVENTS_BCMATCH_SPEC>`"]
pub type EVENTS_BCMATCH = crate::Reg<events_bcmatch::EVENTS_BCMATCH_SPEC>;
#[doc = "Bit counter reached bit count value"]
pub mod events_bcmatch;
#[doc = "EVENTS_CRCOK register accessor: an alias for `Reg<EVENTS_CRCOK_SPEC>`"]
pub type EVENTS_CRCOK = crate::Reg<events_crcok::EVENTS_CRCOK_SPEC>;
#[doc = "Packet received with CRC ok"]
pub mod events_crcok;
#[doc = "EVENTS_CRCERROR register accessor: an alias for `Reg<EVENTS_CRCERROR_SPEC>`"]
pub type EVENTS_CRCERROR = crate::Reg<events_crcerror::EVENTS_CRCERROR_SPEC>;
#[doc = "Packet received with CRC error"]
pub mod events_crcerror;
#[doc = "EVENTS_FRAMESTART register accessor: an alias for `Reg<EVENTS_FRAMESTART_SPEC>`"]
pub type EVENTS_FRAMESTART = crate::Reg<events_framestart::EVENTS_FRAMESTART_SPEC>;
#[doc = "IEEE 802.15.4 length field received"]
pub mod events_framestart;
#[doc = "EVENTS_EDEND register accessor: an alias for `Reg<EVENTS_EDEND_SPEC>`"]
pub type EVENTS_EDEND = crate::Reg<events_edend::EVENTS_EDEND_SPEC>;
#[doc = "Sampling of energy detection complete. A new ED sample is ready for readout from the RADIO.EDSAMPLE register"]
pub mod events_edend;
#[doc = "EVENTS_EDSTOPPED register accessor: an alias for `Reg<EVENTS_EDSTOPPED_SPEC>`"]
pub type EVENTS_EDSTOPPED = crate::Reg<events_edstopped::EVENTS_EDSTOPPED_SPEC>;
#[doc = "The sampling of energy detection has stopped"]
pub mod events_edstopped;
#[doc = "EVENTS_CCAIDLE register accessor: an alias for `Reg<EVENTS_CCAIDLE_SPEC>`"]
pub type EVENTS_CCAIDLE = crate::Reg<events_ccaidle::EVENTS_CCAIDLE_SPEC>;
#[doc = "Wireless medium in idle - clear to send"]
pub mod events_ccaidle;
#[doc = "EVENTS_CCABUSY register accessor: an alias for `Reg<EVENTS_CCABUSY_SPEC>`"]
pub type EVENTS_CCABUSY = crate::Reg<events_ccabusy::EVENTS_CCABUSY_SPEC>;
#[doc = "Wireless medium busy - do not send"]
pub mod events_ccabusy;
#[doc = "EVENTS_CCASTOPPED register accessor: an alias for `Reg<EVENTS_CCASTOPPED_SPEC>`"]
pub type EVENTS_CCASTOPPED = crate::Reg<events_ccastopped::EVENTS_CCASTOPPED_SPEC>;
#[doc = "The CCA has stopped"]
pub mod events_ccastopped;
#[doc = "EVENTS_RATEBOOST register accessor: an alias for `Reg<EVENTS_RATEBOOST_SPEC>`"]
pub type EVENTS_RATEBOOST = crate::Reg<events_rateboost::EVENTS_RATEBOOST_SPEC>;
#[doc = "Ble_LR CI field received, receive mode is changed from Ble_LR125Kbit to Ble_LR500Kbit."]
pub mod events_rateboost;
#[doc = "EVENTS_TXREADY register accessor: an alias for `Reg<EVENTS_TXREADY_SPEC>`"]
pub type EVENTS_TXREADY = crate::Reg<events_txready::EVENTS_TXREADY_SPEC>;
#[doc = "RADIO has ramped up and is ready to be started TX path"]
pub mod events_txready;
#[doc = "EVENTS_RXREADY register accessor: an alias for `Reg<EVENTS_RXREADY_SPEC>`"]
pub type EVENTS_RXREADY = crate::Reg<events_rxready::EVENTS_RXREADY_SPEC>;
#[doc = "RADIO has ramped up and is ready to be started RX path"]
pub mod events_rxready;
#[doc = "EVENTS_MHRMATCH register accessor: an alias for `Reg<EVENTS_MHRMATCH_SPEC>`"]
pub type EVENTS_MHRMATCH = crate::Reg<events_mhrmatch::EVENTS_MHRMATCH_SPEC>;
#[doc = "MAC header match found"]
pub mod events_mhrmatch;
#[doc = "EVENTS_PHYEND register accessor: an alias for `Reg<EVENTS_PHYEND_SPEC>`"]
pub type EVENTS_PHYEND = crate::Reg<events_phyend::EVENTS_PHYEND_SPEC>;
#[doc = "Generated when last bit is sent on air"]
pub mod events_phyend;
#[doc = "EVENTS_CTEPRESENT register accessor: an alias for `Reg<EVENTS_CTEPRESENT_SPEC>`"]
pub type EVENTS_CTEPRESENT = crate::Reg<events_ctepresent::EVENTS_CTEPRESENT_SPEC>;
#[doc = "CTE is present (early warning right after receiving CTEInfo byte)"]
pub mod events_ctepresent;
#[doc = "SHORTS register accessor: an alias for `Reg<SHORTS_SPEC>`"]
pub type SHORTS = crate::Reg<shorts::SHORTS_SPEC>;
#[doc = "Shortcuts between local events and tasks"]
pub mod shorts;
#[doc = "INTENSET register accessor: an alias for `Reg<INTENSET_SPEC>`"]
pub type INTENSET = crate::Reg<intenset::INTENSET_SPEC>;
#[doc = "Enable interrupt"]
pub mod intenset;
#[doc = "INTENCLR register accessor: an alias for `Reg<INTENCLR_SPEC>`"]
pub type INTENCLR = crate::Reg<intenclr::INTENCLR_SPEC>;
#[doc = "Disable interrupt"]
pub mod intenclr;
#[doc = "CRCSTATUS register accessor: an alias for `Reg<CRCSTATUS_SPEC>`"]
pub type CRCSTATUS = crate::Reg<crcstatus::CRCSTATUS_SPEC>;
#[doc = "CRC status"]
pub mod crcstatus;
#[doc = "RXMATCH register accessor: an alias for `Reg<RXMATCH_SPEC>`"]
pub type RXMATCH = crate::Reg<rxmatch::RXMATCH_SPEC>;
#[doc = "Received address"]
pub mod rxmatch;
#[doc = "RXCRC register accessor: an alias for `Reg<RXCRC_SPEC>`"]
pub type RXCRC = crate::Reg<rxcrc::RXCRC_SPEC>;
#[doc = "CRC field of previously received packet"]
pub mod rxcrc;
#[doc = "DAI register accessor: an alias for `Reg<DAI_SPEC>`"]
pub type DAI = crate::Reg<dai::DAI_SPEC>;
#[doc = "Device address match index"]
pub mod dai;
#[doc = "PDUSTAT register accessor: an alias for `Reg<PDUSTAT_SPEC>`"]
pub type PDUSTAT = crate::Reg<pdustat::PDUSTAT_SPEC>;
#[doc = "Payload status"]
pub mod pdustat;
#[doc = "CTESTATUS register accessor: an alias for `Reg<CTESTATUS_SPEC>`"]
pub type CTESTATUS = crate::Reg<ctestatus::CTESTATUS_SPEC>;
#[doc = "CTEInfo parsed from received packet"]
pub mod ctestatus;
#[doc = "DFESTATUS register accessor: an alias for `Reg<DFESTATUS_SPEC>`"]
pub type DFESTATUS = crate::Reg<dfestatus::DFESTATUS_SPEC>;
#[doc = "DFE status information"]
pub mod dfestatus;
#[doc = "PACKETPTR register accessor: an alias for `Reg<PACKETPTR_SPEC>`"]
pub type PACKETPTR = crate::Reg<packetptr::PACKETPTR_SPEC>;
#[doc = "Packet pointer"]
pub mod packetptr;
#[doc = "FREQUENCY register accessor: an alias for `Reg<FREQUENCY_SPEC>`"]
pub type FREQUENCY = crate::Reg<frequency::FREQUENCY_SPEC>;
#[doc = "Frequency"]
pub mod frequency;
#[doc = "TXPOWER register accessor: an alias for `Reg<TXPOWER_SPEC>`"]
pub type TXPOWER = crate::Reg<txpower::TXPOWER_SPEC>;
#[doc = "Output power"]
pub mod txpower;
#[doc = "MODE register accessor: an alias for `Reg<MODE_SPEC>`"]
pub type MODE = crate::Reg<mode::MODE_SPEC>;
#[doc = "Data rate and modulation"]
pub mod mode;
#[doc = "PCNF0 register accessor: an alias for `Reg<PCNF0_SPEC>`"]
pub type PCNF0 = crate::Reg<pcnf0::PCNF0_SPEC>;
#[doc = "Packet configuration register 0"]
pub mod pcnf0;
#[doc = "PCNF1 register accessor: an alias for `Reg<PCNF1_SPEC>`"]
pub type PCNF1 = crate::Reg<pcnf1::PCNF1_SPEC>;
#[doc = "Packet configuration register 1"]
pub mod pcnf1;
#[doc = "BASE0 register accessor: an alias for `Reg<BASE0_SPEC>`"]
pub type BASE0 = crate::Reg<base0::BASE0_SPEC>;
#[doc = "Base address 0"]
pub mod base0;
#[doc = "BASE1 register accessor: an alias for `Reg<BASE1_SPEC>`"]
pub type BASE1 = crate::Reg<base1::BASE1_SPEC>;
#[doc = "Base address 1"]
pub mod base1;
#[doc = "PREFIX0 register accessor: an alias for `Reg<PREFIX0_SPEC>`"]
pub type PREFIX0 = crate::Reg<prefix0::PREFIX0_SPEC>;
#[doc = "Prefixes bytes for logical addresses 0-3"]
pub mod prefix0;
#[doc = "PREFIX1 register accessor: an alias for `Reg<PREFIX1_SPEC>`"]
pub type PREFIX1 = crate::Reg<prefix1::PREFIX1_SPEC>;
#[doc = "Prefixes bytes for logical addresses 4-7"]
pub mod prefix1;
#[doc = "TXADDRESS register accessor: an alias for `Reg<TXADDRESS_SPEC>`"]
pub type TXADDRESS = crate::Reg<txaddress::TXADDRESS_SPEC>;
#[doc = "Transmit address select"]
pub mod txaddress;
#[doc = "RXADDRESSES register accessor: an alias for `Reg<RXADDRESSES_SPEC>`"]
pub type RXADDRESSES = crate::Reg<rxaddresses::RXADDRESSES_SPEC>;
#[doc = "Receive address select"]
pub mod rxaddresses;
#[doc = "CRCCNF register accessor: an alias for `Reg<CRCCNF_SPEC>`"]
pub type CRCCNF = crate::Reg<crccnf::CRCCNF_SPEC>;
#[doc = "CRC configuration"]
pub mod crccnf;
#[doc = "CRCPOLY register accessor: an alias for `Reg<CRCPOLY_SPEC>`"]
pub type CRCPOLY = crate::Reg<crcpoly::CRCPOLY_SPEC>;
#[doc = "CRC polynomial"]
pub mod crcpoly;
#[doc = "CRCINIT register accessor: an alias for `Reg<CRCINIT_SPEC>`"]
pub type CRCINIT = crate::Reg<crcinit::CRCINIT_SPEC>;
#[doc = "CRC initial value"]
pub mod crcinit;
#[doc = "TIFS register accessor: an alias for `Reg<TIFS_SPEC>`"]
pub type TIFS = crate::Reg<tifs::TIFS_SPEC>;
#[doc = "Interframe spacing in us"]
pub mod tifs;
#[doc = "RSSISAMPLE register accessor: an alias for `Reg<RSSISAMPLE_SPEC>`"]
pub type RSSISAMPLE = crate::Reg<rssisample::RSSISAMPLE_SPEC>;
#[doc = "RSSI sample"]
pub mod rssisample;
#[doc = "STATE register accessor: an alias for `Reg<STATE_SPEC>`"]
pub type STATE = crate::Reg<state::STATE_SPEC>;
#[doc = "Current radio state"]
pub mod state;
#[doc = "DATAWHITEIV register accessor: an alias for `Reg<DATAWHITEIV_SPEC>`"]
pub type DATAWHITEIV = crate::Reg<datawhiteiv::DATAWHITEIV_SPEC>;
#[doc = "Data whitening initial value"]
pub mod datawhiteiv;
#[doc = "BCC register accessor: an alias for `Reg<BCC_SPEC>`"]
pub type BCC = crate::Reg<bcc::BCC_SPEC>;
#[doc = "Bit counter compare"]
pub mod bcc;
#[doc = "DAB register accessor: an alias for `Reg<DAB_SPEC>`"]
pub type DAB = crate::Reg<dab::DAB_SPEC>;
#[doc = "Description collection: Device address base segment n"]
pub mod dab;
#[doc = "DAP register accessor: an alias for `Reg<DAP_SPEC>`"]
pub type DAP = crate::Reg<dap::DAP_SPEC>;
#[doc = "Description collection: Device address prefix n"]
pub mod dap;
#[doc = "DACNF register accessor: an alias for `Reg<DACNF_SPEC>`"]
pub type DACNF = crate::Reg<dacnf::DACNF_SPEC>;
#[doc = "Device address match configuration"]
pub mod dacnf;
#[doc = "MHRMATCHCONF register accessor: an alias for `Reg<MHRMATCHCONF_SPEC>`"]
pub type MHRMATCHCONF = crate::Reg<mhrmatchconf::MHRMATCHCONF_SPEC>;
#[doc = "Search pattern configuration"]
pub mod mhrmatchconf;
#[doc = "MHRMATCHMAS register accessor: an alias for `Reg<MHRMATCHMAS_SPEC>`"]
pub type MHRMATCHMAS = crate::Reg<mhrmatchmas::MHRMATCHMAS_SPEC>;
#[doc = "Pattern mask"]
pub mod mhrmatchmas;
#[doc = "MODECNF0 register accessor: an alias for `Reg<MODECNF0_SPEC>`"]
pub type MODECNF0 = crate::Reg<modecnf0::MODECNF0_SPEC>;
#[doc = "Radio mode configuration register 0"]
pub mod modecnf0;
#[doc = "SFD register accessor: an alias for `Reg<SFD_SPEC>`"]
pub type SFD = crate::Reg<sfd::SFD_SPEC>;
#[doc = "IEEE 802.15.4 start of frame delimiter"]
pub mod sfd;
#[doc = "EDCNT register accessor: an alias for `Reg<EDCNT_SPEC>`"]
pub type EDCNT = crate::Reg<edcnt::EDCNT_SPEC>;
#[doc = "IEEE 802.15.4 energy detect loop count"]
pub mod edcnt;
#[doc = "EDSAMPLE register accessor: an alias for `Reg<EDSAMPLE_SPEC>`"]
pub type EDSAMPLE = crate::Reg<edsample::EDSAMPLE_SPEC>;
#[doc = "IEEE 802.15.4 energy detect level"]
pub mod edsample;
#[doc = "CCACTRL register accessor: an alias for `Reg<CCACTRL_SPEC>`"]
pub type CCACTRL = crate::Reg<ccactrl::CCACTRL_SPEC>;
#[doc = "IEEE 802.15.4 clear channel assessment control"]
pub mod ccactrl;
#[doc = "DFEMODE register accessor: an alias for `Reg<DFEMODE_SPEC>`"]
pub type DFEMODE = crate::Reg<dfemode::DFEMODE_SPEC>;
#[doc = "Whether to use Angle-of-Arrival (AOA) or Angle-of-Departure (AOD)"]
pub mod dfemode;
#[doc = "CTEINLINECONF register accessor: an alias for `Reg<CTEINLINECONF_SPEC>`"]
pub type CTEINLINECONF = crate::Reg<cteinlineconf::CTEINLINECONF_SPEC>;
#[doc = "Configuration for CTE inline mode"]
pub mod cteinlineconf;
#[doc = "DFECTRL1 register accessor: an alias for `Reg<DFECTRL1_SPEC>`"]
pub type DFECTRL1 = crate::Reg<dfectrl1::DFECTRL1_SPEC>;
#[doc = "Various configuration for Direction finding"]
pub mod dfectrl1;
#[doc = "DFECTRL2 register accessor: an alias for `Reg<DFECTRL2_SPEC>`"]
pub type DFECTRL2 = crate::Reg<dfectrl2::DFECTRL2_SPEC>;
#[doc = "Start offset for Direction finding"]
pub mod dfectrl2;
#[doc = "SWITCHPATTERN register accessor: an alias for `Reg<SWITCHPATTERN_SPEC>`"]
pub type SWITCHPATTERN = crate::Reg<switchpattern::SWITCHPATTERN_SPEC>;
#[doc = "GPIO patterns to be used for each antenna"]
pub mod switchpattern;
#[doc = "CLEARPATTERN register accessor: an alias for `Reg<CLEARPATTERN_SPEC>`"]
pub type CLEARPATTERN = crate::Reg<clearpattern::CLEARPATTERN_SPEC>;
#[doc = "Clear the GPIO pattern array for antenna control"]
pub mod clearpattern;
#[doc = "POWER register accessor: an alias for `Reg<POWER_SPEC>`"]
pub type POWER = crate::Reg<power::POWER_SPEC>;
#[doc = "Peripheral power control"]
pub mod power;