1#![allow(clippy::identity_op)]
21#![allow(clippy::module_inception)]
22#![allow(clippy::derivable_impls)]
23#[allow(unused_imports)]
24use crate::common::sealed;
25#[allow(unused_imports)]
26use crate::common::*;
27#[doc = r"BLE registers"]
28unsafe impl ::core::marker::Send for super::Ble {}
29unsafe impl ::core::marker::Sync for super::Ble {}
30impl super::Ble {
31 #[allow(unused)]
32 #[inline(always)]
33 pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34 self.ptr
35 }
36
37 #[doc = "Active scan register"]
38 #[inline(always)]
39 pub const fn ble_actscanstat_reg(
40 &self,
41 ) -> &'static crate::common::Reg<self::BleActscanstatReg_SPEC, crate::common::RW> {
42 unsafe {
43 crate::common::Reg::<self::BleActscanstatReg_SPEC, crate::common::RW>::from_ptr(
44 self._svd2pac_as_ptr().add(164usize),
45 )
46 }
47 }
48
49 #[doc = "Advertising Channel Map"]
50 #[inline(always)]
51 pub const fn ble_advchmap_reg(
52 &self,
53 ) -> &'static crate::common::Reg<self::BleAdvchmapReg_SPEC, crate::common::RW> {
54 unsafe {
55 crate::common::Reg::<self::BleAdvchmapReg_SPEC, crate::common::RW>::from_ptr(
56 self._svd2pac_as_ptr().add(144usize),
57 )
58 }
59 }
60
61 #[doc = "Advertising Packet Interval"]
62 #[inline(always)]
63 pub const fn ble_advtim_reg(
64 &self,
65 ) -> &'static crate::common::Reg<self::BleAdvtimReg_SPEC, crate::common::RW> {
66 unsafe {
67 crate::common::Reg::<self::BleAdvtimReg_SPEC, crate::common::RW>::from_ptr(
68 self._svd2pac_as_ptr().add(160usize),
69 )
70 }
71 }
72
73 #[doc = "Start AES register"]
74 #[inline(always)]
75 pub const fn ble_aescntl_reg(
76 &self,
77 ) -> &'static crate::common::Reg<self::BleAescntlReg_SPEC, crate::common::RW> {
78 unsafe {
79 crate::common::Reg::<self::BleAescntlReg_SPEC, crate::common::RW>::from_ptr(
80 self._svd2pac_as_ptr().add(192usize),
81 )
82 }
83 }
84
85 #[doc = "AES encryption key"]
86 #[inline(always)]
87 pub const fn ble_aeskey127_96_reg(
88 &self,
89 ) -> &'static crate::common::Reg<self::BleAeskey12796Reg_SPEC, crate::common::RW> {
90 unsafe {
91 crate::common::Reg::<self::BleAeskey12796Reg_SPEC, crate::common::RW>::from_ptr(
92 self._svd2pac_as_ptr().add(208usize),
93 )
94 }
95 }
96
97 #[doc = "AES encryption key"]
98 #[inline(always)]
99 pub const fn ble_aeskey31_0_reg(
100 &self,
101 ) -> &'static crate::common::Reg<self::BleAeskey310Reg_SPEC, crate::common::RW> {
102 unsafe {
103 crate::common::Reg::<self::BleAeskey310Reg_SPEC, crate::common::RW>::from_ptr(
104 self._svd2pac_as_ptr().add(196usize),
105 )
106 }
107 }
108
109 #[doc = "AES encryption key"]
110 #[inline(always)]
111 pub const fn ble_aeskey63_32_reg(
112 &self,
113 ) -> &'static crate::common::Reg<self::BleAeskey6332Reg_SPEC, crate::common::RW> {
114 unsafe {
115 crate::common::Reg::<self::BleAeskey6332Reg_SPEC, crate::common::RW>::from_ptr(
116 self._svd2pac_as_ptr().add(200usize),
117 )
118 }
119 }
120
121 #[doc = "AES encryption key"]
122 #[inline(always)]
123 pub const fn ble_aeskey95_64_reg(
124 &self,
125 ) -> &'static crate::common::Reg<self::BleAeskey9564Reg_SPEC, crate::common::RW> {
126 unsafe {
127 crate::common::Reg::<self::BleAeskey9564Reg_SPEC, crate::common::RW>::from_ptr(
128 self._svd2pac_as_ptr().add(204usize),
129 )
130 }
131 }
132
133 #[doc = "Pointer to the block to encrypt/decrypt"]
134 #[inline(always)]
135 pub const fn ble_aesptr_reg(
136 &self,
137 ) -> &'static crate::common::Reg<self::BleAesptrReg_SPEC, crate::common::RW> {
138 unsafe {
139 crate::common::Reg::<self::BleAesptrReg_SPEC, crate::common::RW>::from_ptr(
140 self._svd2pac_as_ptr().add(212usize),
141 )
142 }
143 }
144
145 #[doc = "Base Time Counter"]
146 #[inline(always)]
147 pub const fn ble_basetimecntcorr_reg(
148 &self,
149 ) -> &'static crate::common::Reg<self::BleBasetimecntcorrReg_SPEC, crate::common::RW> {
150 unsafe {
151 crate::common::Reg::<self::BleBasetimecntcorrReg_SPEC, crate::common::RW>::from_ptr(
152 self._svd2pac_as_ptr().add(68usize),
153 )
154 }
155 }
156
157 #[doc = "Base time reference counter"]
158 #[inline(always)]
159 pub const fn ble_basetimecnt_reg(
160 &self,
161 ) -> &'static crate::common::Reg<self::BleBasetimecntReg_SPEC, crate::common::RW> {
162 unsafe {
163 crate::common::Reg::<self::BleBasetimecntReg_SPEC, crate::common::RW>::from_ptr(
164 self._svd2pac_as_ptr().add(28usize),
165 )
166 }
167 }
168
169 #[doc = "BLE device address LSB register"]
170 #[inline(always)]
171 pub const fn ble_bdaddrl_reg(
172 &self,
173 ) -> &'static crate::common::Reg<self::BleBdaddrlReg_SPEC, crate::common::RW> {
174 unsafe {
175 crate::common::Reg::<self::BleBdaddrlReg_SPEC, crate::common::RW>::from_ptr(
176 self._svd2pac_as_ptr().add(36usize),
177 )
178 }
179 }
180
181 #[doc = "BLE device address MSB register"]
182 #[inline(always)]
183 pub const fn ble_bdaddru_reg(
184 &self,
185 ) -> &'static crate::common::Reg<self::BleBdaddruReg_SPEC, crate::common::RW> {
186 unsafe {
187 crate::common::Reg::<self::BleBdaddruReg_SPEC, crate::common::RW>::from_ptr(
188 self._svd2pac_as_ptr().add(40usize),
189 )
190 }
191 }
192
193 #[doc = "Coexistence interface Priority 0 Register"]
194 #[inline(always)]
195 pub const fn ble_blemprio0_reg(
196 &self,
197 ) -> &'static crate::common::Reg<self::BleBlemprio0Reg_SPEC, crate::common::RW> {
198 unsafe {
199 crate::common::Reg::<self::BleBlemprio0Reg_SPEC, crate::common::RW>::from_ptr(
200 self._svd2pac_as_ptr().add(264usize),
201 )
202 }
203 }
204
205 #[doc = "Coexistence interface Priority 1 Register"]
206 #[inline(always)]
207 pub const fn ble_blemprio1_reg(
208 &self,
209 ) -> &'static crate::common::Reg<self::BleBlemprio1Reg_SPEC, crate::common::RW> {
210 unsafe {
211 crate::common::Reg::<self::BleBlemprio1Reg_SPEC, crate::common::RW>::from_ptr(
212 self._svd2pac_as_ptr().add(268usize),
213 )
214 }
215 }
216
217 #[doc = "BLE Control Register 2"]
218 #[inline(always)]
219 pub const fn ble_cntl2_reg(
220 &self,
221 ) -> &'static crate::common::Reg<self::BleCntl2Reg_SPEC, crate::common::RW> {
222 unsafe {
223 crate::common::Reg::<self::BleCntl2Reg_SPEC, crate::common::RW>::from_ptr(
224 self._svd2pac_as_ptr().add(512usize),
225 )
226 }
227 }
228
229 #[doc = "Coexistence interface Control 0 Register"]
230 #[inline(always)]
231 pub const fn ble_coexifcntl0_reg(
232 &self,
233 ) -> &'static crate::common::Reg<self::BleCoexifcntl0Reg_SPEC, crate::common::RW> {
234 unsafe {
235 crate::common::Reg::<self::BleCoexifcntl0Reg_SPEC, crate::common::RW>::from_ptr(
236 self._svd2pac_as_ptr().add(256usize),
237 )
238 }
239 }
240
241 #[doc = "Coexistence interface Control 1 Register"]
242 #[inline(always)]
243 pub const fn ble_coexifcntl1_reg(
244 &self,
245 ) -> &'static crate::common::Reg<self::BleCoexifcntl1Reg_SPEC, crate::common::RW> {
246 unsafe {
247 crate::common::Reg::<self::BleCoexifcntl1Reg_SPEC, crate::common::RW>::from_ptr(
248 self._svd2pac_as_ptr().add(260usize),
249 )
250 }
251 }
252
253 #[doc = "Rx Descriptor Pointer for the Receive Buffer Chained List"]
254 #[inline(always)]
255 pub const fn ble_currentrxdescptr_reg(
256 &self,
257 ) -> &'static crate::common::Reg<self::BleCurrentrxdescptrReg_SPEC, crate::common::RW> {
258 unsafe {
259 crate::common::Reg::<self::BleCurrentrxdescptrReg_SPEC, crate::common::RW>::from_ptr(
260 self._svd2pac_as_ptr().add(44usize),
261 )
262 }
263 }
264
265 #[doc = "Upper limit for the memory zone"]
266 #[inline(always)]
267 pub const fn ble_debugaddmax_reg(
268 &self,
269 ) -> &'static crate::common::Reg<self::BleDebugaddmaxReg_SPEC, crate::common::RW> {
270 unsafe {
271 crate::common::Reg::<self::BleDebugaddmaxReg_SPEC, crate::common::RW>::from_ptr(
272 self._svd2pac_as_ptr().add(88usize),
273 )
274 }
275 }
276
277 #[doc = "Lower limit for the memory zone"]
278 #[inline(always)]
279 pub const fn ble_debugaddmin_reg(
280 &self,
281 ) -> &'static crate::common::Reg<self::BleDebugaddminReg_SPEC, crate::common::RW> {
282 unsafe {
283 crate::common::Reg::<self::BleDebugaddminReg_SPEC, crate::common::RW>::from_ptr(
284 self._svd2pac_as_ptr().add(92usize),
285 )
286 }
287 }
288
289 #[doc = "Deep-Sleep control register"]
290 #[inline(always)]
291 pub const fn ble_deepslcntl_reg(
292 &self,
293 ) -> &'static crate::common::Reg<self::BleDeepslcntlReg_SPEC, crate::common::RW> {
294 unsafe {
295 crate::common::Reg::<self::BleDeepslcntlReg_SPEC, crate::common::RW>::from_ptr(
296 self._svd2pac_as_ptr().add(48usize),
297 )
298 }
299 }
300
301 #[doc = "Duration of the last deep sleep phase register"]
302 #[inline(always)]
303 pub const fn ble_deepslstat_reg(
304 &self,
305 ) -> &'static crate::common::Reg<self::BleDeepslstatReg_SPEC, crate::common::RW> {
306 unsafe {
307 crate::common::Reg::<self::BleDeepslstatReg_SPEC, crate::common::RW>::from_ptr(
308 self._svd2pac_as_ptr().add(56usize),
309 )
310 }
311 }
312
313 #[doc = "Time (measured in Low Power clock cycles) in Deep Sleep Mode before waking-up the device"]
314 #[inline(always)]
315 pub const fn ble_deepslwkup_reg(
316 &self,
317 ) -> &'static crate::common::Reg<self::BleDeepslwkupReg_SPEC, crate::common::RW> {
318 unsafe {
319 crate::common::Reg::<self::BleDeepslwkupReg_SPEC, crate::common::RW>::from_ptr(
320 self._svd2pac_as_ptr().add(52usize),
321 )
322 }
323 }
324
325 #[doc = "Debug use only"]
326 #[inline(always)]
327 pub const fn ble_diagcntl2_reg(
328 &self,
329 ) -> &'static crate::common::Reg<self::BleDiagcntl2Reg_SPEC, crate::common::RW> {
330 unsafe {
331 crate::common::Reg::<self::BleDiagcntl2Reg_SPEC, crate::common::RW>::from_ptr(
332 self._svd2pac_as_ptr().add(524usize),
333 )
334 }
335 }
336
337 #[doc = "Debug use only"]
338 #[inline(always)]
339 pub const fn ble_diagcntl3_reg(
340 &self,
341 ) -> &'static crate::common::Reg<self::BleDiagcntl3Reg_SPEC, crate::common::RW> {
342 unsafe {
343 crate::common::Reg::<self::BleDiagcntl3Reg_SPEC, crate::common::RW>::from_ptr(
344 self._svd2pac_as_ptr().add(528usize),
345 )
346 }
347 }
348
349 #[doc = "Diagnostics Register"]
350 #[inline(always)]
351 pub const fn ble_diagcntl_reg(
352 &self,
353 ) -> &'static crate::common::Reg<self::BleDiagcntlReg_SPEC, crate::common::RW> {
354 unsafe {
355 crate::common::Reg::<self::BleDiagcntlReg_SPEC, crate::common::RW>::from_ptr(
356 self._svd2pac_as_ptr().add(80usize),
357 )
358 }
359 }
360
361 #[doc = "Debug use only"]
362 #[inline(always)]
363 pub const fn ble_diagstat_reg(
364 &self,
365 ) -> &'static crate::common::Reg<self::BleDiagstatReg_SPEC, crate::common::RW> {
366 unsafe {
367 crate::common::Reg::<self::BleDiagstatReg_SPEC, crate::common::RW>::from_ptr(
368 self._svd2pac_as_ptr().add(84usize),
369 )
370 }
371 }
372
373 #[doc = "Exchange Memory Base Register"]
374 #[inline(always)]
375 pub const fn ble_em_base_reg(
376 &self,
377 ) -> &'static crate::common::Reg<self::BleEmBaseReg_SPEC, crate::common::RW> {
378 unsafe {
379 crate::common::Reg::<self::BleEmBaseReg_SPEC, crate::common::RW>::from_ptr(
380 self._svd2pac_as_ptr().add(520usize),
381 )
382 }
383 }
384
385 #[doc = "Time in low power oscillator cycles register"]
386 #[inline(always)]
387 pub const fn ble_enbpreset_reg(
388 &self,
389 ) -> &'static crate::common::Reg<self::BleEnbpresetReg_SPEC, crate::common::RW> {
390 unsafe {
391 crate::common::Reg::<self::BleEnbpresetReg_SPEC, crate::common::RW>::from_ptr(
392 self._svd2pac_as_ptr().add(60usize),
393 )
394 }
395 }
396
397 #[doc = "Error Type Status registers"]
398 #[inline(always)]
399 pub const fn ble_errortypestat_reg(
400 &self,
401 ) -> &'static crate::common::Reg<self::BleErrortypestatReg_SPEC, crate::common::RW> {
402 unsafe {
403 crate::common::Reg::<self::BleErrortypestatReg_SPEC, crate::common::RW>::from_ptr(
404 self._svd2pac_as_ptr().add(96usize),
405 )
406 }
407 }
408
409 #[doc = "Phase correction value register"]
410 #[inline(always)]
411 pub const fn ble_finecntcorr_reg(
412 &self,
413 ) -> &'static crate::common::Reg<self::BleFinecntcorrReg_SPEC, crate::common::RW> {
414 unsafe {
415 crate::common::Reg::<self::BleFinecntcorrReg_SPEC, crate::common::RW>::from_ptr(
416 self._svd2pac_as_ptr().add(64usize),
417 )
418 }
419 }
420
421 #[doc = "Fine time reference counter"]
422 #[inline(always)]
423 pub const fn ble_finetimecnt_reg(
424 &self,
425 ) -> &'static crate::common::Reg<self::BleFinetimecntReg_SPEC, crate::common::RW> {
426 unsafe {
427 crate::common::Reg::<self::BleFinetimecntReg_SPEC, crate::common::RW>::from_ptr(
428 self._svd2pac_as_ptr().add(32usize),
429 )
430 }
431 }
432
433 #[doc = "Fine Timer Target value"]
434 #[inline(always)]
435 pub const fn ble_finetimtgt_reg(
436 &self,
437 ) -> &'static crate::common::Reg<self::BleFinetimtgtReg_SPEC, crate::common::RW> {
438 unsafe {
439 crate::common::Reg::<self::BleFinetimtgtReg_SPEC, crate::common::RW>::from_ptr(
440 self._svd2pac_as_ptr().add(248usize),
441 )
442 }
443 }
444
445 #[doc = "Gross Timer Target value"]
446 #[inline(always)]
447 pub const fn ble_grosstimtgt_reg(
448 &self,
449 ) -> &'static crate::common::Reg<self::BleGrosstimtgtReg_SPEC, crate::common::RW> {
450 unsafe {
451 crate::common::Reg::<self::BleGrosstimtgtReg_SPEC, crate::common::RW>::from_ptr(
452 self._svd2pac_as_ptr().add(244usize),
453 )
454 }
455 }
456
457 #[doc = "Interrupt acknowledge register"]
458 #[inline(always)]
459 pub const fn ble_intack_reg(
460 &self,
461 ) -> &'static crate::common::Reg<self::BleIntackReg_SPEC, crate::common::RW> {
462 unsafe {
463 crate::common::Reg::<self::BleIntackReg_SPEC, crate::common::RW>::from_ptr(
464 self._svd2pac_as_ptr().add(24usize),
465 )
466 }
467 }
468
469 #[doc = "Interrupt controller register"]
470 #[inline(always)]
471 pub const fn ble_intcntl_reg(
472 &self,
473 ) -> &'static crate::common::Reg<self::BleIntcntlReg_SPEC, crate::common::RW> {
474 unsafe {
475 crate::common::Reg::<self::BleIntcntlReg_SPEC, crate::common::RW>::from_ptr(
476 self._svd2pac_as_ptr().add(12usize),
477 )
478 }
479 }
480
481 #[doc = "Interrupt raw status register"]
482 #[inline(always)]
483 pub const fn ble_intrawstat_reg(
484 &self,
485 ) -> &'static crate::common::Reg<self::BleIntrawstatReg_SPEC, crate::common::RW> {
486 unsafe {
487 crate::common::Reg::<self::BleIntrawstatReg_SPEC, crate::common::RW>::from_ptr(
488 self._svd2pac_as_ptr().add(20usize),
489 )
490 }
491 }
492
493 #[doc = "Interrupt status register"]
494 #[inline(always)]
495 pub const fn ble_intstat_reg(
496 &self,
497 ) -> &'static crate::common::Reg<self::BleIntstatReg_SPEC, crate::common::RW> {
498 unsafe {
499 crate::common::Reg::<self::BleIntstatReg_SPEC, crate::common::RW>::from_ptr(
500 self._svd2pac_as_ptr().add(16usize),
501 )
502 }
503 }
504
505 #[doc = "Radio interface control register"]
506 #[inline(always)]
507 pub const fn ble_radiocntl0_reg(
508 &self,
509 ) -> &'static crate::common::Reg<self::BleRadiocntl0Reg_SPEC, crate::common::RW> {
510 unsafe {
511 crate::common::Reg::<self::BleRadiocntl0Reg_SPEC, crate::common::RW>::from_ptr(
512 self._svd2pac_as_ptr().add(112usize),
513 )
514 }
515 }
516
517 #[doc = "Radio interface control register"]
518 #[inline(always)]
519 pub const fn ble_radiocntl1_reg(
520 &self,
521 ) -> &'static crate::common::Reg<self::BleRadiocntl1Reg_SPEC, crate::common::RW> {
522 unsafe {
523 crate::common::Reg::<self::BleRadiocntl1Reg_SPEC, crate::common::RW>::from_ptr(
524 self._svd2pac_as_ptr().add(116usize),
525 )
526 }
527 }
528
529 #[doc = "Radio interface control register"]
530 #[inline(always)]
531 pub const fn ble_radiocntl2_reg(
532 &self,
533 ) -> &'static crate::common::Reg<self::BleRadiocntl2Reg_SPEC, crate::common::RW> {
534 unsafe {
535 crate::common::Reg::<self::BleRadiocntl2Reg_SPEC, crate::common::RW>::from_ptr(
536 self._svd2pac_as_ptr().add(120usize),
537 )
538 }
539 }
540
541 #[doc = "Radio interface control register"]
542 #[inline(always)]
543 pub const fn ble_radiocntl3_reg(
544 &self,
545 ) -> &'static crate::common::Reg<self::BleRadiocntl3Reg_SPEC, crate::common::RW> {
546 unsafe {
547 crate::common::Reg::<self::BleRadiocntl3Reg_SPEC, crate::common::RW>::from_ptr(
548 self._svd2pac_as_ptr().add(124usize),
549 )
550 }
551 }
552
553 #[doc = "RX/TX power up/down phase register"]
554 #[inline(always)]
555 pub const fn ble_radiopwrupdn_reg(
556 &self,
557 ) -> &'static crate::common::Reg<self::BleRadiopwrupdnReg_SPEC, crate::common::RW> {
558 unsafe {
559 crate::common::Reg::<self::BleRadiopwrupdnReg_SPEC, crate::common::RW>::from_ptr(
560 self._svd2pac_as_ptr().add(128usize),
561 )
562 }
563 }
564
565 #[doc = "RF Testing Register"]
566 #[inline(always)]
567 pub const fn ble_rftestcntl_reg(
568 &self,
569 ) -> &'static crate::common::Reg<self::BleRftestcntlReg_SPEC, crate::common::RW> {
570 unsafe {
571 crate::common::Reg::<self::BleRftestcntlReg_SPEC, crate::common::RW>::from_ptr(
572 self._svd2pac_as_ptr().add(224usize),
573 )
574 }
575 }
576
577 #[doc = "RF Testing Register"]
578 #[inline(always)]
579 pub const fn ble_rftestrxstat_reg(
580 &self,
581 ) -> &'static crate::common::Reg<self::BleRftestrxstatReg_SPEC, crate::common::RW> {
582 unsafe {
583 crate::common::Reg::<self::BleRftestrxstatReg_SPEC, crate::common::RW>::from_ptr(
584 self._svd2pac_as_ptr().add(232usize),
585 )
586 }
587 }
588
589 #[doc = "RF Testing Register"]
590 #[inline(always)]
591 pub const fn ble_rftesttxstat_reg(
592 &self,
593 ) -> &'static crate::common::Reg<self::BleRftesttxstatReg_SPEC, crate::common::RW> {
594 unsafe {
595 crate::common::Reg::<self::BleRftesttxstatReg_SPEC, crate::common::RW>::from_ptr(
596 self._svd2pac_as_ptr().add(228usize),
597 )
598 }
599 }
600
601 #[doc = "BLE Control register"]
602 #[inline(always)]
603 pub const fn ble_rwblecntl_reg(
604 &self,
605 ) -> &'static crate::common::Reg<self::BleRwblecntlReg_SPEC, crate::common::RW> {
606 unsafe {
607 crate::common::Reg::<self::BleRwblecntlReg_SPEC, crate::common::RW>::from_ptr(
608 self._svd2pac_as_ptr().add(0usize),
609 )
610 }
611 }
612
613 #[doc = "Configuration register"]
614 #[inline(always)]
615 pub const fn ble_rwbleconf_reg(
616 &self,
617 ) -> &'static crate::common::Reg<self::BleRwbleconfReg_SPEC, crate::common::RW> {
618 unsafe {
619 crate::common::Reg::<self::BleRwbleconfReg_SPEC, crate::common::RW>::from_ptr(
620 self._svd2pac_as_ptr().add(8usize),
621 )
622 }
623 }
624
625 #[doc = "AES / CCM plain MIC value"]
626 #[inline(always)]
627 pub const fn ble_rxmicval_reg(
628 &self,
629 ) -> &'static crate::common::Reg<self::BleRxmicvalReg_SPEC, crate::common::RW> {
630 unsafe {
631 crate::common::Reg::<self::BleRxmicvalReg_SPEC, crate::common::RW>::from_ptr(
632 self._svd2pac_as_ptr().add(220usize),
633 )
634 }
635 }
636
637 #[doc = "Samples the Base Time Counter"]
638 #[inline(always)]
639 pub const fn ble_sampleclk_reg(
640 &self,
641 ) -> &'static crate::common::Reg<self::BleSampleclkReg_SPEC, crate::common::RW> {
642 unsafe {
643 crate::common::Reg::<self::BleSampleclkReg_SPEC, crate::common::RW>::from_ptr(
644 self._svd2pac_as_ptr().add(252usize),
645 )
646 }
647 }
648
649 #[doc = "Software Profiling register"]
650 #[inline(always)]
651 pub const fn ble_swprofiling_reg(
652 &self,
653 ) -> &'static crate::common::Reg<self::BleSwprofilingReg_SPEC, crate::common::RW> {
654 unsafe {
655 crate::common::Reg::<self::BleSwprofilingReg_SPEC, crate::common::RW>::from_ptr(
656 self._svd2pac_as_ptr().add(100usize),
657 )
658 }
659 }
660
661 #[doc = "Timing Generator Register"]
662 #[inline(always)]
663 pub const fn ble_timgencntl_reg(
664 &self,
665 ) -> &'static crate::common::Reg<self::BleTimgencntlReg_SPEC, crate::common::RW> {
666 unsafe {
667 crate::common::Reg::<self::BleTimgencntlReg_SPEC, crate::common::RW>::from_ptr(
668 self._svd2pac_as_ptr().add(240usize),
669 )
670 }
671 }
672
673 #[doc = "AES / CCM plain MIC value"]
674 #[inline(always)]
675 pub const fn ble_txmicval_reg(
676 &self,
677 ) -> &'static crate::common::Reg<self::BleTxmicvalReg_SPEC, crate::common::RW> {
678 unsafe {
679 crate::common::Reg::<self::BleTxmicvalReg_SPEC, crate::common::RW>::from_ptr(
680 self._svd2pac_as_ptr().add(216usize),
681 )
682 }
683 }
684
685 #[doc = "Version register"]
686 #[inline(always)]
687 pub const fn ble_version_reg(
688 &self,
689 ) -> &'static crate::common::Reg<self::BleVersionReg_SPEC, crate::common::RW> {
690 unsafe {
691 crate::common::Reg::<self::BleVersionReg_SPEC, crate::common::RW>::from_ptr(
692 self._svd2pac_as_ptr().add(4usize),
693 )
694 }
695 }
696
697 #[doc = "Devices in white list"]
698 #[inline(always)]
699 pub const fn ble_wlnbdev_reg(
700 &self,
701 ) -> &'static crate::common::Reg<self::BleWlnbdevReg_SPEC, crate::common::RW> {
702 unsafe {
703 crate::common::Reg::<self::BleWlnbdevReg_SPEC, crate::common::RW>::from_ptr(
704 self._svd2pac_as_ptr().add(184usize),
705 )
706 }
707 }
708
709 #[doc = "Start address of private devices list"]
710 #[inline(always)]
711 pub const fn ble_wlprivaddptr_reg(
712 &self,
713 ) -> &'static crate::common::Reg<self::BleWlprivaddptrReg_SPEC, crate::common::RW> {
714 unsafe {
715 crate::common::Reg::<self::BleWlprivaddptrReg_SPEC, crate::common::RW>::from_ptr(
716 self._svd2pac_as_ptr().add(180usize),
717 )
718 }
719 }
720
721 #[doc = "Start address of public devices list"]
722 #[inline(always)]
723 pub const fn ble_wlpubaddptr_reg(
724 &self,
725 ) -> &'static crate::common::Reg<self::BleWlpubaddptrReg_SPEC, crate::common::RW> {
726 unsafe {
727 crate::common::Reg::<self::BleWlpubaddptrReg_SPEC, crate::common::RW>::from_ptr(
728 self._svd2pac_as_ptr().add(176usize),
729 )
730 }
731 }
732}
733#[doc(hidden)]
734#[derive(Copy, Clone, Eq, PartialEq)]
735pub struct BleActscanstatReg_SPEC;
736impl crate::sealed::RegSpec for BleActscanstatReg_SPEC {
737 type DataType = u32;
738}
739
740#[doc = "Active scan register"]
741pub type BleActscanstatReg = crate::RegValueT<BleActscanstatReg_SPEC>;
742
743impl BleActscanstatReg {
744 #[doc = "Active scan mode back-off counter initialization value."]
745 #[inline(always)]
746 pub fn backoff(
747 self,
748 ) -> crate::common::RegisterField<
749 16,
750 0x1ff,
751 1,
752 0,
753 u16,
754 u16,
755 BleActscanstatReg_SPEC,
756 crate::common::R,
757 > {
758 crate::common::RegisterField::<
759 16,
760 0x1ff,
761 1,
762 0,
763 u16,
764 u16,
765 BleActscanstatReg_SPEC,
766 crate::common::R,
767 >::from_register(self, 0)
768 }
769
770 #[doc = "Active scan mode upper limit counter value."]
771 #[inline(always)]
772 pub fn upperlimit(
773 self,
774 ) -> crate::common::RegisterField<
775 0,
776 0x1ff,
777 1,
778 0,
779 u16,
780 u16,
781 BleActscanstatReg_SPEC,
782 crate::common::R,
783 > {
784 crate::common::RegisterField::<
785 0,
786 0x1ff,
787 1,
788 0,
789 u16,
790 u16,
791 BleActscanstatReg_SPEC,
792 crate::common::R,
793 >::from_register(self, 0)
794 }
795}
796impl ::core::default::Default for BleActscanstatReg {
797 #[inline(always)]
798 fn default() -> BleActscanstatReg {
799 <crate::RegValueT<BleActscanstatReg_SPEC> as RegisterValue<_>>::new(65537)
800 }
801}
802
803#[doc(hidden)]
804#[derive(Copy, Clone, Eq, PartialEq)]
805pub struct BleAdvchmapReg_SPEC;
806impl crate::sealed::RegSpec for BleAdvchmapReg_SPEC {
807 type DataType = u32;
808}
809
810#[doc = "Advertising Channel Map"]
811pub type BleAdvchmapReg = crate::RegValueT<BleAdvchmapReg_SPEC>;
812
813impl BleAdvchmapReg {
814 #[doc = "Advertising Channel Map, defined as per the advertising connection settings. Contains advertising channels index 37 to 39. If ADVCHMAP\\[i\\] equals:\n0: Do not use data channel i+37.\n1: Use data channel i+37."]
815 #[inline(always)]
816 pub fn advchmap(
817 self,
818 ) -> crate::common::RegisterField<0, 0x7, 1, 0, u8, u8, BleAdvchmapReg_SPEC, crate::common::RW>
819 {
820 crate::common::RegisterField::<0,0x7,1,0,u8,u8,BleAdvchmapReg_SPEC,crate::common::RW>::from_register(self,0)
821 }
822}
823impl ::core::default::Default for BleAdvchmapReg {
824 #[inline(always)]
825 fn default() -> BleAdvchmapReg {
826 <crate::RegValueT<BleAdvchmapReg_SPEC> as RegisterValue<_>>::new(7)
827 }
828}
829
830#[doc(hidden)]
831#[derive(Copy, Clone, Eq, PartialEq)]
832pub struct BleAdvtimReg_SPEC;
833impl crate::sealed::RegSpec for BleAdvtimReg_SPEC {
834 type DataType = u32;
835}
836
837#[doc = "Advertising Packet Interval"]
838pub type BleAdvtimReg = crate::RegValueT<BleAdvtimReg_SPEC>;
839
840impl BleAdvtimReg {
841 #[doc = "Advertising Packet Interval defines the time interval in between two ADV_xxx packet sent. Value is in us.\nValue to program depends on the used Advertising Packet type and the device filtering policy."]
842 #[inline(always)]
843 pub fn advint(
844 self,
845 ) -> crate::common::RegisterField<0, 0x3fff, 1, 0, u16, u16, BleAdvtimReg_SPEC, crate::common::RW>
846 {
847 crate::common::RegisterField::<
848 0,
849 0x3fff,
850 1,
851 0,
852 u16,
853 u16,
854 BleAdvtimReg_SPEC,
855 crate::common::RW,
856 >::from_register(self, 0)
857 }
858}
859impl ::core::default::Default for BleAdvtimReg {
860 #[inline(always)]
861 fn default() -> BleAdvtimReg {
862 <crate::RegValueT<BleAdvtimReg_SPEC> as RegisterValue<_>>::new(0)
863 }
864}
865
866#[doc(hidden)]
867#[derive(Copy, Clone, Eq, PartialEq)]
868pub struct BleAescntlReg_SPEC;
869impl crate::sealed::RegSpec for BleAescntlReg_SPEC {
870 type DataType = u32;
871}
872
873#[doc = "Start AES register"]
874pub type BleAescntlReg = crate::RegValueT<BleAescntlReg_SPEC>;
875
876impl BleAescntlReg {
877 #[doc = "0: Cipher mode\n1: Decipher mode"]
878 #[inline(always)]
879 pub fn aes_mode(
880 self,
881 ) -> crate::common::RegisterFieldBool<1, 1, 0, BleAescntlReg_SPEC, crate::common::RW> {
882 crate::common::RegisterFieldBool::<1,1,0,BleAescntlReg_SPEC,crate::common::RW>::from_register(self,0)
883 }
884
885 #[doc = "Writing a 1 starts AES-128 ciphering/deciphering process.\nThis bit is reset once the process is finished (i.e. ble_crypt_irq interrupt occurs, even masked)"]
886 #[inline(always)]
887 pub fn aes_start(
888 self,
889 ) -> crate::common::RegisterFieldBool<0, 1, 0, BleAescntlReg_SPEC, crate::common::W> {
890 crate::common::RegisterFieldBool::<0,1,0,BleAescntlReg_SPEC,crate::common::W>::from_register(self,0)
891 }
892}
893impl ::core::default::Default for BleAescntlReg {
894 #[inline(always)]
895 fn default() -> BleAescntlReg {
896 <crate::RegValueT<BleAescntlReg_SPEC> as RegisterValue<_>>::new(0)
897 }
898}
899
900#[doc(hidden)]
901#[derive(Copy, Clone, Eq, PartialEq)]
902pub struct BleAeskey12796Reg_SPEC;
903impl crate::sealed::RegSpec for BleAeskey12796Reg_SPEC {
904 type DataType = u32;
905}
906
907#[doc = "AES encryption key"]
908pub type BleAeskey12796Reg = crate::RegValueT<BleAeskey12796Reg_SPEC>;
909
910impl BleAeskey12796Reg {
911 #[doc = "AES encryption 128-bit key. Bit 127 down to 96"]
912 #[inline(always)]
913 pub fn aeskey127_96(
914 self,
915 ) -> crate::common::RegisterField<
916 0,
917 0xffffffff,
918 1,
919 0,
920 u32,
921 u32,
922 BleAeskey12796Reg_SPEC,
923 crate::common::RW,
924 > {
925 crate::common::RegisterField::<
926 0,
927 0xffffffff,
928 1,
929 0,
930 u32,
931 u32,
932 BleAeskey12796Reg_SPEC,
933 crate::common::RW,
934 >::from_register(self, 0)
935 }
936}
937impl ::core::default::Default for BleAeskey12796Reg {
938 #[inline(always)]
939 fn default() -> BleAeskey12796Reg {
940 <crate::RegValueT<BleAeskey12796Reg_SPEC> as RegisterValue<_>>::new(0)
941 }
942}
943
944#[doc(hidden)]
945#[derive(Copy, Clone, Eq, PartialEq)]
946pub struct BleAeskey310Reg_SPEC;
947impl crate::sealed::RegSpec for BleAeskey310Reg_SPEC {
948 type DataType = u32;
949}
950
951#[doc = "AES encryption key"]
952pub type BleAeskey310Reg = crate::RegValueT<BleAeskey310Reg_SPEC>;
953
954impl BleAeskey310Reg {
955 #[doc = "AES encryption 128-bit key. Bit 31 down to 0"]
956 #[inline(always)]
957 pub fn aeskey31_0(
958 self,
959 ) -> crate::common::RegisterField<
960 0,
961 0xffffffff,
962 1,
963 0,
964 u32,
965 u32,
966 BleAeskey310Reg_SPEC,
967 crate::common::RW,
968 > {
969 crate::common::RegisterField::<
970 0,
971 0xffffffff,
972 1,
973 0,
974 u32,
975 u32,
976 BleAeskey310Reg_SPEC,
977 crate::common::RW,
978 >::from_register(self, 0)
979 }
980}
981impl ::core::default::Default for BleAeskey310Reg {
982 #[inline(always)]
983 fn default() -> BleAeskey310Reg {
984 <crate::RegValueT<BleAeskey310Reg_SPEC> as RegisterValue<_>>::new(0)
985 }
986}
987
988#[doc(hidden)]
989#[derive(Copy, Clone, Eq, PartialEq)]
990pub struct BleAeskey6332Reg_SPEC;
991impl crate::sealed::RegSpec for BleAeskey6332Reg_SPEC {
992 type DataType = u32;
993}
994
995#[doc = "AES encryption key"]
996pub type BleAeskey6332Reg = crate::RegValueT<BleAeskey6332Reg_SPEC>;
997
998impl BleAeskey6332Reg {
999 #[doc = "AES encryption 128-bit key. Bit 63 down to 32"]
1000 #[inline(always)]
1001 pub fn aeskey63_32(
1002 self,
1003 ) -> crate::common::RegisterField<
1004 0,
1005 0xffffffff,
1006 1,
1007 0,
1008 u32,
1009 u32,
1010 BleAeskey6332Reg_SPEC,
1011 crate::common::RW,
1012 > {
1013 crate::common::RegisterField::<
1014 0,
1015 0xffffffff,
1016 1,
1017 0,
1018 u32,
1019 u32,
1020 BleAeskey6332Reg_SPEC,
1021 crate::common::RW,
1022 >::from_register(self, 0)
1023 }
1024}
1025impl ::core::default::Default for BleAeskey6332Reg {
1026 #[inline(always)]
1027 fn default() -> BleAeskey6332Reg {
1028 <crate::RegValueT<BleAeskey6332Reg_SPEC> as RegisterValue<_>>::new(0)
1029 }
1030}
1031
1032#[doc(hidden)]
1033#[derive(Copy, Clone, Eq, PartialEq)]
1034pub struct BleAeskey9564Reg_SPEC;
1035impl crate::sealed::RegSpec for BleAeskey9564Reg_SPEC {
1036 type DataType = u32;
1037}
1038
1039#[doc = "AES encryption key"]
1040pub type BleAeskey9564Reg = crate::RegValueT<BleAeskey9564Reg_SPEC>;
1041
1042impl BleAeskey9564Reg {
1043 #[doc = "AES encryption 128-bit key. Bit 95 down to 64"]
1044 #[inline(always)]
1045 pub fn aeskey95_64(
1046 self,
1047 ) -> crate::common::RegisterField<
1048 0,
1049 0xffffffff,
1050 1,
1051 0,
1052 u32,
1053 u32,
1054 BleAeskey9564Reg_SPEC,
1055 crate::common::RW,
1056 > {
1057 crate::common::RegisterField::<
1058 0,
1059 0xffffffff,
1060 1,
1061 0,
1062 u32,
1063 u32,
1064 BleAeskey9564Reg_SPEC,
1065 crate::common::RW,
1066 >::from_register(self, 0)
1067 }
1068}
1069impl ::core::default::Default for BleAeskey9564Reg {
1070 #[inline(always)]
1071 fn default() -> BleAeskey9564Reg {
1072 <crate::RegValueT<BleAeskey9564Reg_SPEC> as RegisterValue<_>>::new(0)
1073 }
1074}
1075
1076#[doc(hidden)]
1077#[derive(Copy, Clone, Eq, PartialEq)]
1078pub struct BleAesptrReg_SPEC;
1079impl crate::sealed::RegSpec for BleAesptrReg_SPEC {
1080 type DataType = u32;
1081}
1082
1083#[doc = "Pointer to the block to encrypt/decrypt"]
1084pub type BleAesptrReg = crate::RegValueT<BleAesptrReg_SPEC>;
1085
1086impl BleAesptrReg {
1087 #[doc = "Pointer to the memory zone where the block to cipher/decipher using AES-128 is stored."]
1088 #[inline(always)]
1089 pub fn aesptr(
1090 self,
1091 ) -> crate::common::RegisterField<0, 0xffff, 1, 0, u16, u16, BleAesptrReg_SPEC, crate::common::RW>
1092 {
1093 crate::common::RegisterField::<
1094 0,
1095 0xffff,
1096 1,
1097 0,
1098 u16,
1099 u16,
1100 BleAesptrReg_SPEC,
1101 crate::common::RW,
1102 >::from_register(self, 0)
1103 }
1104}
1105impl ::core::default::Default for BleAesptrReg {
1106 #[inline(always)]
1107 fn default() -> BleAesptrReg {
1108 <crate::RegValueT<BleAesptrReg_SPEC> as RegisterValue<_>>::new(0)
1109 }
1110}
1111
1112#[doc(hidden)]
1113#[derive(Copy, Clone, Eq, PartialEq)]
1114pub struct BleBasetimecntcorrReg_SPEC;
1115impl crate::sealed::RegSpec for BleBasetimecntcorrReg_SPEC {
1116 type DataType = u32;
1117}
1118
1119#[doc = "Base Time Counter"]
1120pub type BleBasetimecntcorrReg = crate::RegValueT<BleBasetimecntcorrReg_SPEC>;
1121
1122impl BleBasetimecntcorrReg {
1123 #[doc = "Base Time Counter correction value."]
1124 #[inline(always)]
1125 pub fn basetimecntcorr(
1126 self,
1127 ) -> crate::common::RegisterField<
1128 0,
1129 0x7ffffff,
1130 1,
1131 0,
1132 u32,
1133 u32,
1134 BleBasetimecntcorrReg_SPEC,
1135 crate::common::RW,
1136 > {
1137 crate::common::RegisterField::<
1138 0,
1139 0x7ffffff,
1140 1,
1141 0,
1142 u32,
1143 u32,
1144 BleBasetimecntcorrReg_SPEC,
1145 crate::common::RW,
1146 >::from_register(self, 0)
1147 }
1148}
1149impl ::core::default::Default for BleBasetimecntcorrReg {
1150 #[inline(always)]
1151 fn default() -> BleBasetimecntcorrReg {
1152 <crate::RegValueT<BleBasetimecntcorrReg_SPEC> as RegisterValue<_>>::new(0)
1153 }
1154}
1155
1156#[doc(hidden)]
1157#[derive(Copy, Clone, Eq, PartialEq)]
1158pub struct BleBasetimecntReg_SPEC;
1159impl crate::sealed::RegSpec for BleBasetimecntReg_SPEC {
1160 type DataType = u32;
1161}
1162
1163#[doc = "Base time reference counter"]
1164pub type BleBasetimecntReg = crate::RegValueT<BleBasetimecntReg_SPEC>;
1165
1166impl BleBasetimecntReg {
1167 #[doc = "Value of the 625us base time reference counter. Updated each time SAMPCLK is written. Used by the SW in order to synchronize with the HW"]
1168 #[inline(always)]
1169 pub fn basetimecnt(
1170 self,
1171 ) -> crate::common::RegisterField<
1172 0,
1173 0x7ffffff,
1174 1,
1175 0,
1176 u32,
1177 u32,
1178 BleBasetimecntReg_SPEC,
1179 crate::common::R,
1180 > {
1181 crate::common::RegisterField::<
1182 0,
1183 0x7ffffff,
1184 1,
1185 0,
1186 u32,
1187 u32,
1188 BleBasetimecntReg_SPEC,
1189 crate::common::R,
1190 >::from_register(self, 0)
1191 }
1192}
1193impl ::core::default::Default for BleBasetimecntReg {
1194 #[inline(always)]
1195 fn default() -> BleBasetimecntReg {
1196 <crate::RegValueT<BleBasetimecntReg_SPEC> as RegisterValue<_>>::new(0)
1197 }
1198}
1199
1200#[doc(hidden)]
1201#[derive(Copy, Clone, Eq, PartialEq)]
1202pub struct BleBdaddrlReg_SPEC;
1203impl crate::sealed::RegSpec for BleBdaddrlReg_SPEC {
1204 type DataType = u32;
1205}
1206
1207#[doc = "BLE device address LSB register"]
1208pub type BleBdaddrlReg = crate::RegValueT<BleBdaddrlReg_SPEC>;
1209
1210impl BleBdaddrlReg {
1211 #[doc = "Bluetooth Low Energy Device Address. LSB part."]
1212 #[inline(always)]
1213 pub fn bdaddrl(
1214 self,
1215 ) -> crate::common::RegisterField<
1216 0,
1217 0xffffffff,
1218 1,
1219 0,
1220 u32,
1221 u32,
1222 BleBdaddrlReg_SPEC,
1223 crate::common::RW,
1224 > {
1225 crate::common::RegisterField::<
1226 0,
1227 0xffffffff,
1228 1,
1229 0,
1230 u32,
1231 u32,
1232 BleBdaddrlReg_SPEC,
1233 crate::common::RW,
1234 >::from_register(self, 0)
1235 }
1236}
1237impl ::core::default::Default for BleBdaddrlReg {
1238 #[inline(always)]
1239 fn default() -> BleBdaddrlReg {
1240 <crate::RegValueT<BleBdaddrlReg_SPEC> as RegisterValue<_>>::new(0)
1241 }
1242}
1243
1244#[doc(hidden)]
1245#[derive(Copy, Clone, Eq, PartialEq)]
1246pub struct BleBdaddruReg_SPEC;
1247impl crate::sealed::RegSpec for BleBdaddruReg_SPEC {
1248 type DataType = u32;
1249}
1250
1251#[doc = "BLE device address MSB register"]
1252pub type BleBdaddruReg = crate::RegValueT<BleBdaddruReg_SPEC>;
1253
1254impl BleBdaddruReg {
1255 #[doc = "Bluetooth Low Energy Device Address privacy indicator\n0: Public Bluetooth Device Address\n1: Private Bluetooth Device Address"]
1256 #[inline(always)]
1257 pub fn priv_npub(
1258 self,
1259 ) -> crate::common::RegisterFieldBool<16, 1, 0, BleBdaddruReg_SPEC, crate::common::RW> {
1260 crate::common::RegisterFieldBool::<16,1,0,BleBdaddruReg_SPEC,crate::common::RW>::from_register(self,0)
1261 }
1262
1263 #[doc = "Bluetooth Low Energy Device Address. MSB part."]
1264 #[inline(always)]
1265 pub fn bdaddru(
1266 self,
1267 ) -> crate::common::RegisterField<
1268 0,
1269 0xffff,
1270 1,
1271 0,
1272 u16,
1273 u16,
1274 BleBdaddruReg_SPEC,
1275 crate::common::RW,
1276 > {
1277 crate::common::RegisterField::<
1278 0,
1279 0xffff,
1280 1,
1281 0,
1282 u16,
1283 u16,
1284 BleBdaddruReg_SPEC,
1285 crate::common::RW,
1286 >::from_register(self, 0)
1287 }
1288}
1289impl ::core::default::Default for BleBdaddruReg {
1290 #[inline(always)]
1291 fn default() -> BleBdaddruReg {
1292 <crate::RegValueT<BleBdaddruReg_SPEC> as RegisterValue<_>>::new(0)
1293 }
1294}
1295
1296#[doc(hidden)]
1297#[derive(Copy, Clone, Eq, PartialEq)]
1298pub struct BleBlemprio0Reg_SPEC;
1299impl crate::sealed::RegSpec for BleBlemprio0Reg_SPEC {
1300 type DataType = u32;
1301}
1302
1303#[doc = "Coexistence interface Priority 0 Register"]
1304pub type BleBlemprio0Reg = crate::RegValueT<BleBlemprio0Reg_SPEC>;
1305
1306impl BleBlemprio0Reg {
1307 #[doc = "Set Priority value for Passive Scanning"]
1308 #[inline(always)]
1309 pub fn blem7(
1310 self,
1311 ) -> crate::common::RegisterField<28, 0xf, 1, 0, u8, u8, BleBlemprio0Reg_SPEC, crate::common::RW>
1312 {
1313 crate::common::RegisterField::<28,0xf,1,0,u8,u8,BleBlemprio0Reg_SPEC,crate::common::RW>::from_register(self,0)
1314 }
1315
1316 #[doc = "Set Priority value for Non-Connectable Advertising"]
1317 #[inline(always)]
1318 pub fn blem6(
1319 self,
1320 ) -> crate::common::RegisterField<24, 0xf, 1, 0, u8, u8, BleBlemprio0Reg_SPEC, crate::common::RW>
1321 {
1322 crate::common::RegisterField::<24,0xf,1,0,u8,u8,BleBlemprio0Reg_SPEC,crate::common::RW>::from_register(self,0)
1323 }
1324
1325 #[doc = "Set Priority value for Connectable Advertising BLE message"]
1326 #[inline(always)]
1327 pub fn blem5(
1328 self,
1329 ) -> crate::common::RegisterField<20, 0xf, 1, 0, u8, u8, BleBlemprio0Reg_SPEC, crate::common::RW>
1330 {
1331 crate::common::RegisterField::<20,0xf,1,0,u8,u8,BleBlemprio0Reg_SPEC,crate::common::RW>::from_register(self,0)
1332 }
1333
1334 #[doc = "Set Priority value for Active Scanning BLE message"]
1335 #[inline(always)]
1336 pub fn blem4(
1337 self,
1338 ) -> crate::common::RegisterField<16, 0xf, 1, 0, u8, u8, BleBlemprio0Reg_SPEC, crate::common::RW>
1339 {
1340 crate::common::RegisterField::<16,0xf,1,0,u8,u8,BleBlemprio0Reg_SPEC,crate::common::RW>::from_register(self,0)
1341 }
1342
1343 #[doc = "Set Priority value for Initiating (Scanning) BLE message"]
1344 #[inline(always)]
1345 pub fn blem3(
1346 self,
1347 ) -> crate::common::RegisterField<12, 0xf, 1, 0, u8, u8, BleBlemprio0Reg_SPEC, crate::common::RW>
1348 {
1349 crate::common::RegisterField::<12,0xf,1,0,u8,u8,BleBlemprio0Reg_SPEC,crate::common::RW>::from_register(self,0)
1350 }
1351
1352 #[doc = "Set Priority value for Data Channel transmission BLE message"]
1353 #[inline(always)]
1354 pub fn blem2(
1355 self,
1356 ) -> crate::common::RegisterField<8, 0xf, 1, 0, u8, u8, BleBlemprio0Reg_SPEC, crate::common::RW>
1357 {
1358 crate::common::RegisterField::<8,0xf,1,0,u8,u8,BleBlemprio0Reg_SPEC,crate::common::RW>::from_register(self,0)
1359 }
1360
1361 #[doc = "Set Priority value for LLCP BLE message"]
1362 #[inline(always)]
1363 pub fn blem1(
1364 self,
1365 ) -> crate::common::RegisterField<4, 0xf, 1, 0, u8, u8, BleBlemprio0Reg_SPEC, crate::common::RW>
1366 {
1367 crate::common::RegisterField::<4,0xf,1,0,u8,u8,BleBlemprio0Reg_SPEC,crate::common::RW>::from_register(self,0)
1368 }
1369
1370 #[doc = "Set Priority value for Initiating (Connection Request Response) BLE message"]
1371 #[inline(always)]
1372 pub fn blem0(
1373 self,
1374 ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, BleBlemprio0Reg_SPEC, crate::common::RW>
1375 {
1376 crate::common::RegisterField::<0,0xf,1,0,u8,u8,BleBlemprio0Reg_SPEC,crate::common::RW>::from_register(self,0)
1377 }
1378}
1379impl ::core::default::Default for BleBlemprio0Reg {
1380 #[inline(always)]
1381 fn default() -> BleBlemprio0Reg {
1382 <crate::RegValueT<BleBlemprio0Reg_SPEC> as RegisterValue<_>>::new(881438191)
1383 }
1384}
1385
1386#[doc(hidden)]
1387#[derive(Copy, Clone, Eq, PartialEq)]
1388pub struct BleBlemprio1Reg_SPEC;
1389impl crate::sealed::RegSpec for BleBlemprio1Reg_SPEC {
1390 type DataType = u32;
1391}
1392
1393#[doc = "Coexistence interface Priority 1 Register"]
1394pub type BleBlemprio1Reg = crate::RegValueT<BleBlemprio1Reg_SPEC>;
1395
1396impl BleBlemprio1Reg {
1397 #[doc = "Set default priority value for other BLE message than those defined above"]
1398 #[inline(always)]
1399 pub fn blemdefault(
1400 self,
1401 ) -> crate::common::RegisterField<28, 0xf, 1, 0, u8, u8, BleBlemprio1Reg_SPEC, crate::common::RW>
1402 {
1403 crate::common::RegisterField::<28,0xf,1,0,u8,u8,BleBlemprio1Reg_SPEC,crate::common::RW>::from_register(self,0)
1404 }
1405}
1406impl ::core::default::Default for BleBlemprio1Reg {
1407 #[inline(always)]
1408 fn default() -> BleBlemprio1Reg {
1409 <crate::RegValueT<BleBlemprio1Reg_SPEC> as RegisterValue<_>>::new(805306368)
1410 }
1411}
1412
1413#[doc(hidden)]
1414#[derive(Copy, Clone, Eq, PartialEq)]
1415pub struct BleCntl2Reg_SPEC;
1416impl crate::sealed::RegSpec for BleCntl2Reg_SPEC {
1417 type DataType = u32;
1418}
1419
1420#[doc = "BLE Control Register 2"]
1421pub type BleCntl2Reg = crate::RegValueT<BleCntl2Reg_SPEC>;
1422
1423impl BleCntl2Reg {
1424 #[doc = "The value will be compared with the FINECNT in order to assert the BLE_TRANSACTION signal towards the COEX block. The deassertion of BLE_TRANSACTION is triggered by the deassertion of BLE_EVENT_IN_PROCESS. Refer also to BLE_TRANSACTION_MODE, BLE_TRANSACTION_SRC and BLE_PTI_SOURCE_SEL bitfields.\nIf the desired distance from TX_EN/RX_EN is RADIO_PWRDN and TXRXPWRUP=max(TXPWRUP, RXPWRUP), then this bitfield must be set to (RADIO_PWRDN + TXRXPWRUP-1) if CS.FCNTOFFSET is \"0\", otherwise it must be set to (RADIO_PWRDN + TXRXPWRUP-1 - CS.FCNTOFFSET-1). \nRemark: BLE_EVENT_IN_PROCESS is controlled by the BLE_TIMGENCNTL_REG.PREFETCH_TIME, so the BLE_TRANSACTION_START should be less than the PREFETCH_TIME."]
1425 #[inline(always)]
1426 pub fn ble_transaction_start(
1427 self,
1428 ) -> crate::common::RegisterField<22, 0x3ff, 1, 0, u16, u16, BleCntl2Reg_SPEC, crate::common::RW>
1429 {
1430 crate::common::RegisterField::<22,0x3ff,1,0,u16,u16,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1431 }
1432
1433 #[doc = "0: Select Peak-hold RSSI value (default).\n1: Select current Average RSSI value."]
1434 #[inline(always)]
1435 pub fn ble_rssi_sel(
1436 self,
1437 ) -> crate::common::RegisterFieldBool<21, 1, 0, BleCntl2Reg_SPEC, crate::common::RW> {
1438 crate::common::RegisterFieldBool::<21,1,0,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1439 }
1440
1441 #[doc = "The status of the BLE_WAKEUP_LP_IRQ. The Interrupt Service Routine of BLE_WAKEUP_LP_IRQ should return only when the WAKEUPLPSTAT is cleared.\nNote that BLE_WAKEUP_LP_IRQ is automatically acknowledged after the power up of the Radio Subsystem, plus one Low Power Clock period."]
1442 #[inline(always)]
1443 pub fn wakeuplpstat(
1444 self,
1445 ) -> crate::common::RegisterFieldBool<20, 1, 0, BleCntl2Reg_SPEC, crate::common::R> {
1446 crate::common::RegisterFieldBool::<20,1,0,BleCntl2Reg_SPEC,crate::common::R>::from_register(self,0)
1447 }
1448
1449 #[doc = "Keep to 0."]
1450 #[inline(always)]
1451 pub fn sw_rpl_spi(
1452 self,
1453 ) -> crate::common::RegisterFieldBool<19, 1, 0, BleCntl2Reg_SPEC, crate::common::RW> {
1454 crate::common::RegisterFieldBool::<19,1,0,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1455 }
1456
1457 #[doc = "Keep to 0."]
1458 #[inline(always)]
1459 pub fn bb_only(
1460 self,
1461 ) -> crate::common::RegisterFieldBool<18, 1, 0, BleCntl2Reg_SPEC, crate::common::RW> {
1462 crate::common::RegisterFieldBool::<18,1,0,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1463 }
1464
1465 #[doc = "0: Provide to COEX block the PTI value indicated by the Control Structure. Recommended value is \"0\".\n1: Provide to COEX block the PTI value generated dynamically by the BLE core, which is based on the PTI of the Control Structure."]
1466 #[inline(always)]
1467 pub fn ble_pti_source_sel(
1468 self,
1469 ) -> crate::common::RegisterFieldBool<17, 1, 0, BleCntl2Reg_SPEC, crate::common::RW> {
1470 crate::common::RegisterFieldBool::<17,1,0,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1471 }
1472
1473 #[doc = "0: Keep the BLE_TRANSACTION constant during the process of the current event, regadless of the state of PTI value. Recommended value is \"0\".\n1: Create a one clock cycle of low period at the BLE_TRANSACTION whenever a change in the PTI value is detected.\n(refer also to BLE_PTI_SOURCE_SEL)"]
1474 #[inline(always)]
1475 pub fn ble_transaction_mode(
1476 self,
1477 ) -> crate::common::RegisterFieldBool<16, 1, 0, BleCntl2Reg_SPEC, crate::common::RW> {
1478 crate::common::RegisterFieldBool::<16,1,0,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1479 }
1480
1481 #[doc = "0: Assert the BLE_TRANSACTION at the moment indicated by the BLE_TRANSACTION_START only if the PTI value is available at that moment, otherwise assert BLE_TRANSACTION at the next positive edge of TX_EN ot RX_EN. Recommended value is \"0\".\n1: Assert the BLE_TRANSACTION at the moment indicated by the BLE_TRANSACTION_START, if during this moment the BLE_EVENT_IN_PROCESS is asserted, otherwise assert BLE_TRANSACTION at the next positive edge of TX_EN ot RX_EN. Useful when COEX_CTRL_REG\\[SEL_BLE_PTI\\]=0."]
1482 #[inline(always)]
1483 pub fn ble_transaction_src(
1484 self,
1485 ) -> crate::common::RegisterFieldBool<15, 1, 0, BleCntl2Reg_SPEC, crate::common::RW> {
1486 crate::common::RegisterFieldBool::<15,1,0,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1487 }
1488
1489 #[doc = "BLE Clock Select.\nSpecifies the BLE master clock absolute frequency in MHz.\nTypical values are 16 and 8.\nValue depends on the selected XTAL frequency and the value of CLK_RADIO_REG\\[BLE_DIV\\] bitfield. For example, if XTAL oscillates at 16MHz and CLK_RADIO_REG\\[BLE_DIV\\] = 1 (divide by 2), then BLE master clock frequency is 8MHz and BLE_CLK_SEL should be set to value 8.\nThe selected BLE master clock frequency (affected by BLE_DIV and BLE_CLK_SEL) must be modified and set only during the initialization time, i.e. before setting BLE_RWBTLECNTL_REG\\[RWBLE_EN\\] to 1.\nRefer also to BLE_RWBTLECONF_REG\\[CLK_SEL\\]."]
1490 #[inline(always)]
1491 pub fn ble_clk_sel(
1492 self,
1493 ) -> crate::common::RegisterField<9, 0x3f, 1, 0, u8, u8, BleCntl2Reg_SPEC, crate::common::RW>
1494 {
1495 crate::common::RegisterField::<9,0x3f,1,0,u8,u8,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1496 }
1497
1498 #[doc = "This active high signal indicates when it is allowed for the BLE core (embedded in the Radio sub-System power domain) to be powered down.\nAfter the assertion of the BLE_DEEPSLCNTL_REG\\[DEEP_SLEEP_ON\\] a hardware sequence based on the Low Power clock will cause the assertion of RADIO_PWRDN_ALLOW. The RADIO_PWRDN_ALLOW will be cleared to \"0\" when the BLE core exits from the sleep state, i.e. when the BLE_SLP_IRQ will be asserted."]
1499 #[inline(always)]
1500 pub fn radio_pwrdn_allow(
1501 self,
1502 ) -> crate::common::RegisterFieldBool<8, 1, 0, BleCntl2Reg_SPEC, crate::common::R> {
1503 crate::common::RegisterFieldBool::<8,1,0,BleCntl2Reg_SPEC,crate::common::R>::from_register(self,0)
1504 }
1505
1506 #[doc = "The SW can only write a \"0\" to this bit.\nWhenever a positive edge of the low power clock used by the BLE Timers is detected, then the HW will automatically set this bit to \"1\". This functionality will not work if BLE Timer is in reset state (refer to CLK_RADIO_REG\\[BLE_LP_RESET\\]).\nThis bit can be used for SW synchronization, to debug the low power clock, etc."]
1507 #[inline(always)]
1508 pub fn mon_lp_clk(
1509 self,
1510 ) -> crate::common::RegisterFieldBool<7, 1, 0, BleCntl2Reg_SPEC, crate::common::R> {
1511 crate::common::RegisterFieldBool::<7,1,0,BleCntl2Reg_SPEC,crate::common::R>::from_register(self,0)
1512 }
1513
1514 #[doc = "0: BLE uses low power clock\n1: BLE uses master clock"]
1515 #[inline(always)]
1516 pub fn ble_clk_stat(
1517 self,
1518 ) -> crate::common::RegisterFieldBool<6, 1, 0, BleCntl2Reg_SPEC, crate::common::R> {
1519 crate::common::RegisterFieldBool::<6,1,0,BleCntl2Reg_SPEC,crate::common::R>::from_register(self,0)
1520 }
1521
1522 #[doc = "Effective only when BLE_CNTL2_REG\\[ BLE_DIAG_OVR \\] is set to \'1\', providing the values of P1\\[0\\] and P1\\[2\\] diagnostic signals:\nP1\\[0\\] will provide the logical OR of all Cortex M0 IRQ lines, regadless of the BLE_DIAG_OVR_SEL value.\nP1\\[2\\] will provide the value according to the BLE_DIAG_OVR_SEL value:\n00: \"low_power_clk\" free running clock.\n01: \"running_at_32k\" status.\n10: \"cortex_deepsleep\" status.\n11: \"deep_sleep_stat_32k\" BLE core in sleep mode."]
1523 #[inline(always)]
1524 pub fn ble_diag_ovr_sel(
1525 self,
1526 ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, u8, BleCntl2Reg_SPEC, crate::common::RW>
1527 {
1528 crate::common::RegisterField::<4,0x3,1,0,u8,u8,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1529 }
1530
1531 #[doc = "1: Overrule the P1\\[0\\] and P1\\[2\\] control signals PAD_LATCH_EN to always \"1\" and the direction to always \"output\". It can be used in combination with the BLE_CNTL2_REG\\[ BLE_DIAG_OVR_SEL \\] to provide diagnostic signals on P1\\[0\\] and P1\\[2\\] even while the system is in power down state.\n0: The PAD_LATCH_EN and direction of P1\\[0\\] and P1\\[2\\] pins are not overruled."]
1532 #[inline(always)]
1533 pub fn ble_diag_ovr(
1534 self,
1535 ) -> crate::common::RegisterFieldBool<3, 1, 0, BleCntl2Reg_SPEC, crate::common::RW> {
1536 crate::common::RegisterFieldBool::<3,1,0,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1537 }
1538
1539 #[doc = "Exchange Memory Access Error Mask:\nWhen cleared to \"0\" the EM_ACC_ERR will not cause an BLE_ERROR_IRQ interrupt.\nWhen set to \"1\" an BLE_ERROR_IRQ will be generated as long as EM_ACC_ERR is \"1\"."]
1540 #[inline(always)]
1541 pub fn emaccerrmsk(
1542 self,
1543 ) -> crate::common::RegisterFieldBool<2, 1, 0, BleCntl2Reg_SPEC, crate::common::RW> {
1544 crate::common::RegisterFieldBool::<2,1,0,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1545 }
1546
1547 #[doc = "Exchange Memory Access Error Acknowledge.\nWhen the SW writes a \"1\" to this bit then the EMACCERRSTAT bit will be cleared.\nWhen the SW writes \"0\" it will have no affect.\nThe read value is always \"0\"."]
1548 #[inline(always)]
1549 pub fn emaccerrack(
1550 self,
1551 ) -> crate::common::RegisterFieldBool<1, 1, 0, BleCntl2Reg_SPEC, crate::common::W> {
1552 crate::common::RegisterFieldBool::<1,1,0,BleCntl2Reg_SPEC,crate::common::W>::from_register(self,0)
1553 }
1554
1555 #[doc = "Exchange Memory Access Error Status:\nThe bit is read-only and can be cleared only by writing a \"1\" at EMACCERRACK bitfield.\nThis bit will be set to \"1\" by the hardware when the controller will access an EM page that is not mapped according to the EM_MAPPING value.\nWhen this bit is \"1\" then the BLE_ERROR_IRQ will be asserted as long as EMACCERRMSK is \"1\"."]
1556 #[inline(always)]
1557 pub fn emaccerrstat(
1558 self,
1559 ) -> crate::common::RegisterFieldBool<0, 1, 0, BleCntl2Reg_SPEC, crate::common::R> {
1560 crate::common::RegisterFieldBool::<0,1,0,BleCntl2Reg_SPEC,crate::common::R>::from_register(self,0)
1561 }
1562}
1563impl ::core::default::Default for BleCntl2Reg {
1564 #[inline(always)]
1565 fn default() -> BleCntl2Reg {
1566 <crate::RegValueT<BleCntl2Reg_SPEC> as RegisterValue<_>>::new(4)
1567 }
1568}
1569
1570#[doc(hidden)]
1571#[derive(Copy, Clone, Eq, PartialEq)]
1572pub struct BleCoexifcntl0Reg_SPEC;
1573impl crate::sealed::RegSpec for BleCoexifcntl0Reg_SPEC {
1574 type DataType = u32;
1575}
1576
1577#[doc = "Coexistence interface Control 0 Register"]
1578pub type BleCoexifcntl0Reg = crate::RegValueT<BleCoexifcntl0Reg_SPEC>;
1579
1580impl BleCoexifcntl0Reg {
1581 #[doc = "Defines Bluetooth Low Energy packet ble_rx mode behavior.\n00: Rx indication excluding Rx Power up delay (starts when correlator is enabled)\n01: Rx indication including Rx Power up delay\n10: Rx High priority indicator\n11: n/a"]
1582 #[inline(always)]
1583 pub fn wlcrxpriomode(
1584 self,
1585 ) -> crate::common::RegisterField<
1586 20,
1587 0x3,
1588 1,
1589 0,
1590 u8,
1591 u8,
1592 BleCoexifcntl0Reg_SPEC,
1593 crate::common::RW,
1594 > {
1595 crate::common::RegisterField::<
1596 20,
1597 0x3,
1598 1,
1599 0,
1600 u8,
1601 u8,
1602 BleCoexifcntl0Reg_SPEC,
1603 crate::common::RW,
1604 >::from_register(self, 0)
1605 }
1606
1607 #[doc = "Defines Bluetooth Low Energy packet ble_tx mode behavior\n00: Tx indication excluding Tx Power up delay\n01: Tx indication including Tx Power up delay\n10: Tx High priority indicator\n11: n/a"]
1608 #[inline(always)]
1609 pub fn wlctxpriomode(
1610 self,
1611 ) -> crate::common::RegisterField<
1612 16,
1613 0x3,
1614 1,
1615 0,
1616 u8,
1617 u8,
1618 BleCoexifcntl0Reg_SPEC,
1619 crate::common::RW,
1620 > {
1621 crate::common::RegisterField::<
1622 16,
1623 0x3,
1624 1,
1625 0,
1626 u8,
1627 u8,
1628 BleCoexifcntl0Reg_SPEC,
1629 crate::common::RW,
1630 >::from_register(self, 0)
1631 }
1632
1633 #[doc = "Determines how wlan_tx impact BLE Tx and Rx\n00: wlan_tx has no impact (default mode)\n01: wlan_tx can stop BLE Tx, no impact on BLE Rx\n10: wlan_tx can stop BLE Rx, no impact on BLE Tx\n11: wlan_tx can stop both BLE Tx and BLE Rx"]
1634 #[inline(always)]
1635 pub fn wlantxmsk(
1636 self,
1637 ) -> crate::common::RegisterField<6, 0x3, 1, 0, u8, u8, BleCoexifcntl0Reg_SPEC, crate::common::RW>
1638 {
1639 crate::common::RegisterField::<
1640 6,
1641 0x3,
1642 1,
1643 0,
1644 u8,
1645 u8,
1646 BleCoexifcntl0Reg_SPEC,
1647 crate::common::RW,
1648 >::from_register(self, 0)
1649 }
1650
1651 #[doc = "Determines how wlan_rx impact BLE Tx and Rx\n00: wlan_rx has no impact\n01: wlan_rx can stop BLE Tx, no impact on BLE Rx (default mode)\n10: wlan_rx can stop BLE Rx, no impact on BLE Tx\n11: wlan_rx can stop both BLE Tx and BLE Rx"]
1652 #[inline(always)]
1653 pub fn wlanrxmsk(
1654 self,
1655 ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, u8, BleCoexifcntl0Reg_SPEC, crate::common::RW>
1656 {
1657 crate::common::RegisterField::<
1658 4,
1659 0x3,
1660 1,
1661 0,
1662 u8,
1663 u8,
1664 BleCoexifcntl0Reg_SPEC,
1665 crate::common::RW,
1666 >::from_register(self, 0)
1667 }
1668
1669 #[doc = "Determines whether ble_sync is generated or not.\n0: ble_sync pulse not generated\n1: ble_sync pulse generated"]
1670 #[inline(always)]
1671 pub fn syncgen_en(
1672 self,
1673 ) -> crate::common::RegisterFieldBool<1, 1, 0, BleCoexifcntl0Reg_SPEC, crate::common::RW> {
1674 crate::common::RegisterFieldBool::<1,1,0,BleCoexifcntl0Reg_SPEC,crate::common::RW>::from_register(self,0)
1675 }
1676
1677 #[doc = "Enable / Disable control of the MWS/WLAN Coexistence control\n0: Coexistence interface disabled\n1: Coexistence interface enabled"]
1678 #[inline(always)]
1679 pub fn coex_en(
1680 self,
1681 ) -> crate::common::RegisterFieldBool<0, 1, 0, BleCoexifcntl0Reg_SPEC, crate::common::RW> {
1682 crate::common::RegisterFieldBool::<0,1,0,BleCoexifcntl0Reg_SPEC,crate::common::RW>::from_register(self,0)
1683 }
1684}
1685impl ::core::default::Default for BleCoexifcntl0Reg {
1686 #[inline(always)]
1687 fn default() -> BleCoexifcntl0Reg {
1688 <crate::RegValueT<BleCoexifcntl0Reg_SPEC> as RegisterValue<_>>::new(16)
1689 }
1690}
1691
1692#[doc(hidden)]
1693#[derive(Copy, Clone, Eq, PartialEq)]
1694pub struct BleCoexifcntl1Reg_SPEC;
1695impl crate::sealed::RegSpec for BleCoexifcntl1Reg_SPEC {
1696 type DataType = u32;
1697}
1698
1699#[doc = "Coexistence interface Control 1 Register"]
1700pub type BleCoexifcntl1Reg = crate::RegValueT<BleCoexifcntl1Reg_SPEC>;
1701
1702impl BleCoexifcntl1Reg {
1703 #[doc = "Applies on ble_rx if WLCRXPRIOMODE equals 10\nDetermines the threshold for Rx priority setting.\nIf ble_pti\\[3:0\\] output value is greater than WLCPRXTHR, then Rx Bluetooth Low Energy priority is considered as high, and must be provided to the WLAN coexistence interface"]
1704 #[inline(always)]
1705 pub fn wlcprxthr(
1706 self,
1707 ) -> crate::common::RegisterField<
1708 24,
1709 0x1f,
1710 1,
1711 0,
1712 u8,
1713 u8,
1714 BleCoexifcntl1Reg_SPEC,
1715 crate::common::RW,
1716 > {
1717 crate::common::RegisterField::<
1718 24,
1719 0x1f,
1720 1,
1721 0,
1722 u8,
1723 u8,
1724 BleCoexifcntl1Reg_SPEC,
1725 crate::common::RW,
1726 >::from_register(self, 0)
1727 }
1728
1729 #[doc = "Applies on ble_tx if WLCTXPRIOMODE equals 10\nDetermines the threshold for priority setting.\nIf ble_pti\\[3:0\\] output value is greater than WLCPTXTHR, then Tx Bluetooth Low Energy priority is considered as high, and must be provided to the WLAN coexistence interface"]
1730 #[inline(always)]
1731 pub fn wlcptxthr(
1732 self,
1733 ) -> crate::common::RegisterField<
1734 16,
1735 0x1f,
1736 1,
1737 0,
1738 u8,
1739 u8,
1740 BleCoexifcntl1Reg_SPEC,
1741 crate::common::RW,
1742 > {
1743 crate::common::RegisterField::<
1744 16,
1745 0x1f,
1746 1,
1747 0,
1748 u8,
1749 u8,
1750 BleCoexifcntl1Reg_SPEC,
1751 crate::common::RW,
1752 >::from_register(self, 0)
1753 }
1754
1755 #[doc = "Applies on ble_tx if WLCTXPRIOMODE equals 10\nApplies on ble_rx if WLCRXPRIOMODE equals 10\nDetermines how many s the priority information must be maintained\nNote that if WLCPDURATION = 0x00, then Tx/Rx priority levels are maintained till Tx/Rx EN are de-asserted."]
1756 #[inline(always)]
1757 pub fn wlcpduration(
1758 self,
1759 ) -> crate::common::RegisterField<
1760 8,
1761 0x7f,
1762 1,
1763 0,
1764 u8,
1765 u8,
1766 BleCoexifcntl1Reg_SPEC,
1767 crate::common::RW,
1768 > {
1769 crate::common::RegisterField::<
1770 8,
1771 0x7f,
1772 1,
1773 0,
1774 u8,
1775 u8,
1776 BleCoexifcntl1Reg_SPEC,
1777 crate::common::RW,
1778 >::from_register(self, 0)
1779 }
1780
1781 #[doc = "Applies on ble_tx if WLCTXPRIOMODE equals 10.\nApplies on ble_rx if WLCRXPRIOMODE equals 10.\nDetermines the delay (in us) in Tx/Rx enables rises the time Bluetooth Low energy Tx/Rx priority has to be provided ."]
1782 #[inline(always)]
1783 pub fn wlcpdelay(
1784 self,
1785 ) -> crate::common::RegisterField<
1786 0,
1787 0x7f,
1788 1,
1789 0,
1790 u8,
1791 u8,
1792 BleCoexifcntl1Reg_SPEC,
1793 crate::common::RW,
1794 > {
1795 crate::common::RegisterField::<
1796 0,
1797 0x7f,
1798 1,
1799 0,
1800 u8,
1801 u8,
1802 BleCoexifcntl1Reg_SPEC,
1803 crate::common::RW,
1804 >::from_register(self, 0)
1805 }
1806}
1807impl ::core::default::Default for BleCoexifcntl1Reg {
1808 #[inline(always)]
1809 fn default() -> BleCoexifcntl1Reg {
1810 <crate::RegValueT<BleCoexifcntl1Reg_SPEC> as RegisterValue<_>>::new(0)
1811 }
1812}
1813
1814#[doc(hidden)]
1815#[derive(Copy, Clone, Eq, PartialEq)]
1816pub struct BleCurrentrxdescptrReg_SPEC;
1817impl crate::sealed::RegSpec for BleCurrentrxdescptrReg_SPEC {
1818 type DataType = u32;
1819}
1820
1821#[doc = "Rx Descriptor Pointer for the Receive Buffer Chained List"]
1822pub type BleCurrentrxdescptrReg = crate::RegValueT<BleCurrentrxdescptrReg_SPEC>;
1823
1824impl BleCurrentrxdescptrReg {
1825 #[doc = "Exchange Table Pointer that determines the starting point of the Exchange Table"]
1826 #[inline(always)]
1827 pub fn etptr(
1828 self,
1829 ) -> crate::common::RegisterField<
1830 16,
1831 0xffff,
1832 1,
1833 0,
1834 u16,
1835 u16,
1836 BleCurrentrxdescptrReg_SPEC,
1837 crate::common::RW,
1838 > {
1839 crate::common::RegisterField::<
1840 16,
1841 0xffff,
1842 1,
1843 0,
1844 u16,
1845 u16,
1846 BleCurrentrxdescptrReg_SPEC,
1847 crate::common::RW,
1848 >::from_register(self, 0)
1849 }
1850
1851 #[doc = "Rx Descriptor Pointer that determines the starting point of the Receive Buffer Chained List"]
1852 #[inline(always)]
1853 pub fn currentrxdescptr(
1854 self,
1855 ) -> crate::common::RegisterField<
1856 0,
1857 0x7fff,
1858 1,
1859 0,
1860 u16,
1861 u16,
1862 BleCurrentrxdescptrReg_SPEC,
1863 crate::common::RW,
1864 > {
1865 crate::common::RegisterField::<
1866 0,
1867 0x7fff,
1868 1,
1869 0,
1870 u16,
1871 u16,
1872 BleCurrentrxdescptrReg_SPEC,
1873 crate::common::RW,
1874 >::from_register(self, 0)
1875 }
1876}
1877impl ::core::default::Default for BleCurrentrxdescptrReg {
1878 #[inline(always)]
1879 fn default() -> BleCurrentrxdescptrReg {
1880 <crate::RegValueT<BleCurrentrxdescptrReg_SPEC> as RegisterValue<_>>::new(0)
1881 }
1882}
1883
1884#[doc(hidden)]
1885#[derive(Copy, Clone, Eq, PartialEq)]
1886pub struct BleDebugaddmaxReg_SPEC;
1887impl crate::sealed::RegSpec for BleDebugaddmaxReg_SPEC {
1888 type DataType = u32;
1889}
1890
1891#[doc = "Upper limit for the memory zone"]
1892pub type BleDebugaddmaxReg = crate::RegValueT<BleDebugaddmaxReg_SPEC>;
1893
1894impl BleDebugaddmaxReg {
1895 #[doc = "Upper limit for the Register zone indicated by the reg_inzone flag"]
1896 #[inline(always)]
1897 pub fn reg_addmax(
1898 self,
1899 ) -> crate::common::RegisterField<
1900 16,
1901 0xffff,
1902 1,
1903 0,
1904 u16,
1905 u16,
1906 BleDebugaddmaxReg_SPEC,
1907 crate::common::RW,
1908 > {
1909 crate::common::RegisterField::<
1910 16,
1911 0xffff,
1912 1,
1913 0,
1914 u16,
1915 u16,
1916 BleDebugaddmaxReg_SPEC,
1917 crate::common::RW,
1918 >::from_register(self, 0)
1919 }
1920
1921 #[doc = "Upper limit for the Exchange Memory zone indicated by the em_inzone flag"]
1922 #[inline(always)]
1923 pub fn em_addmax(
1924 self,
1925 ) -> crate::common::RegisterField<
1926 0,
1927 0xffff,
1928 1,
1929 0,
1930 u16,
1931 u16,
1932 BleDebugaddmaxReg_SPEC,
1933 crate::common::RW,
1934 > {
1935 crate::common::RegisterField::<
1936 0,
1937 0xffff,
1938 1,
1939 0,
1940 u16,
1941 u16,
1942 BleDebugaddmaxReg_SPEC,
1943 crate::common::RW,
1944 >::from_register(self, 0)
1945 }
1946}
1947impl ::core::default::Default for BleDebugaddmaxReg {
1948 #[inline(always)]
1949 fn default() -> BleDebugaddmaxReg {
1950 <crate::RegValueT<BleDebugaddmaxReg_SPEC> as RegisterValue<_>>::new(0)
1951 }
1952}
1953
1954#[doc(hidden)]
1955#[derive(Copy, Clone, Eq, PartialEq)]
1956pub struct BleDebugaddminReg_SPEC;
1957impl crate::sealed::RegSpec for BleDebugaddminReg_SPEC {
1958 type DataType = u32;
1959}
1960
1961#[doc = "Lower limit for the memory zone"]
1962pub type BleDebugaddminReg = crate::RegValueT<BleDebugaddminReg_SPEC>;
1963
1964impl BleDebugaddminReg {
1965 #[doc = "Lower limit for the Register zone indicated by the reg_inzone flag"]
1966 #[inline(always)]
1967 pub fn reg_addmin(
1968 self,
1969 ) -> crate::common::RegisterField<
1970 16,
1971 0xffff,
1972 1,
1973 0,
1974 u16,
1975 u16,
1976 BleDebugaddminReg_SPEC,
1977 crate::common::RW,
1978 > {
1979 crate::common::RegisterField::<
1980 16,
1981 0xffff,
1982 1,
1983 0,
1984 u16,
1985 u16,
1986 BleDebugaddminReg_SPEC,
1987 crate::common::RW,
1988 >::from_register(self, 0)
1989 }
1990
1991 #[doc = "Lower limit for the Exchange Memory zone indicated by the em_inzone flag"]
1992 #[inline(always)]
1993 pub fn em_addmin(
1994 self,
1995 ) -> crate::common::RegisterField<
1996 0,
1997 0xffff,
1998 1,
1999 0,
2000 u16,
2001 u16,
2002 BleDebugaddminReg_SPEC,
2003 crate::common::RW,
2004 > {
2005 crate::common::RegisterField::<
2006 0,
2007 0xffff,
2008 1,
2009 0,
2010 u16,
2011 u16,
2012 BleDebugaddminReg_SPEC,
2013 crate::common::RW,
2014 >::from_register(self, 0)
2015 }
2016}
2017impl ::core::default::Default for BleDebugaddminReg {
2018 #[inline(always)]
2019 fn default() -> BleDebugaddminReg {
2020 <crate::RegValueT<BleDebugaddminReg_SPEC> as RegisterValue<_>>::new(0)
2021 }
2022}
2023
2024#[doc(hidden)]
2025#[derive(Copy, Clone, Eq, PartialEq)]
2026pub struct BleDeepslcntlReg_SPEC;
2027impl crate::sealed::RegSpec for BleDeepslcntlReg_SPEC {
2028 type DataType = u32;
2029}
2030
2031#[doc = "Deep-Sleep control register"]
2032pub type BleDeepslcntlReg = crate::RegValueT<BleDeepslcntlReg_SPEC>;
2033
2034impl BleDeepslcntlReg {
2035 #[doc = "External Wake-Up disable\n0: RW-BLE Core can be woken by external wake-up\n1: RW-BLE Core cannot be woken up by external wake-up"]
2036 #[inline(always)]
2037 pub fn extwkupdsb(
2038 self,
2039 ) -> crate::common::RegisterFieldBool<31, 1, 0, BleDeepslcntlReg_SPEC, crate::common::RW> {
2040 crate::common::RegisterFieldBool::<31,1,0,BleDeepslcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2041 }
2042
2043 #[doc = "Indicator of current Deep Sleep clock mux status:\n0: RW-BLE Core is not yet in Deep Sleep Mode\n1: RW-BLE Core is in Deep Sleep Mode (only low_power_clk is running)"]
2044 #[inline(always)]
2045 pub fn deep_sleep_stat(
2046 self,
2047 ) -> crate::common::RegisterFieldBool<15, 1, 0, BleDeepslcntlReg_SPEC, crate::common::R> {
2048 crate::common::RegisterFieldBool::<15,1,0,BleDeepslcntlReg_SPEC,crate::common::R>::from_register(self,0)
2049 }
2050
2051 #[doc = "Wake Up Request from RW-BLE Software. Applies when system is in Deep Sleep Mode. It wakes up the RW-BLE Core when written with a 1. Resets at 0 when action is performed. No action happens if it is written with 0."]
2052 #[inline(always)]
2053 pub fn soft_wakeup_req(
2054 self,
2055 ) -> crate::common::RegisterFieldBool<4, 1, 0, BleDeepslcntlReg_SPEC, crate::common::RW> {
2056 crate::common::RegisterFieldBool::<4,1,0,BleDeepslcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2057 }
2058
2059 #[doc = "625us base time reference integer and fractional part correction. Applies when system has been woken-up from Deep Sleep Mode. It enables Fine Counter and Base Time counter when written with a 1. Resets at 0 when action is performed. No action happens if it is written with 0."]
2060 #[inline(always)]
2061 pub fn deep_sleep_corr_en(
2062 self,
2063 ) -> crate::common::RegisterFieldBool<3, 1, 0, BleDeepslcntlReg_SPEC, crate::common::RW> {
2064 crate::common::RegisterFieldBool::<3,1,0,BleDeepslcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2065 }
2066
2067 #[doc = "0: RW-BLE Core in normal active mode\n1: Request RW-BLE Core to switch in deep sleep mode.\nThis bit is reset on DEEP_SLEEP_STAT falling edge."]
2068 #[inline(always)]
2069 pub fn deep_sleep_on(
2070 self,
2071 ) -> crate::common::RegisterFieldBool<2, 1, 0, BleDeepslcntlReg_SPEC, crate::common::RW> {
2072 crate::common::RegisterFieldBool::<2,1,0,BleDeepslcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2073 }
2074
2075 #[doc = "Always set to \"3\" when DEEP_SLEEP_ON is set to \"1\".\nIt controls the generation of BLE_WAKEUP_LP_IRQ."]
2076 #[inline(always)]
2077 pub fn deep_sleep_irq_en(
2078 self,
2079 ) -> crate::common::RegisterField<0, 0x3, 1, 0, u8, u8, BleDeepslcntlReg_SPEC, crate::common::RW>
2080 {
2081 crate::common::RegisterField::<0,0x3,1,0,u8,u8,BleDeepslcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2082 }
2083}
2084impl ::core::default::Default for BleDeepslcntlReg {
2085 #[inline(always)]
2086 fn default() -> BleDeepslcntlReg {
2087 <crate::RegValueT<BleDeepslcntlReg_SPEC> as RegisterValue<_>>::new(0)
2088 }
2089}
2090
2091#[doc(hidden)]
2092#[derive(Copy, Clone, Eq, PartialEq)]
2093pub struct BleDeepslstatReg_SPEC;
2094impl crate::sealed::RegSpec for BleDeepslstatReg_SPEC {
2095 type DataType = u32;
2096}
2097
2098#[doc = "Duration of the last deep sleep phase register"]
2099pub type BleDeepslstatReg = crate::RegValueT<BleDeepslstatReg_SPEC>;
2100
2101impl BleDeepslstatReg {
2102 #[doc = "Actual duration of the last deep sleep phase measured in low_power_clk clock cycle. DEEPSLDUR is set to zero at the beginning of the deep sleep phase, and is incremented at each low_power_clk clock cycle until the end of the deep sleep phase."]
2103 #[inline(always)]
2104 pub fn deepsldur(
2105 self,
2106 ) -> crate::common::RegisterField<
2107 0,
2108 0xffffffff,
2109 1,
2110 0,
2111 u32,
2112 u32,
2113 BleDeepslstatReg_SPEC,
2114 crate::common::R,
2115 > {
2116 crate::common::RegisterField::<
2117 0,
2118 0xffffffff,
2119 1,
2120 0,
2121 u32,
2122 u32,
2123 BleDeepslstatReg_SPEC,
2124 crate::common::R,
2125 >::from_register(self, 0)
2126 }
2127}
2128impl ::core::default::Default for BleDeepslstatReg {
2129 #[inline(always)]
2130 fn default() -> BleDeepslstatReg {
2131 <crate::RegValueT<BleDeepslstatReg_SPEC> as RegisterValue<_>>::new(0)
2132 }
2133}
2134
2135#[doc(hidden)]
2136#[derive(Copy, Clone, Eq, PartialEq)]
2137pub struct BleDeepslwkupReg_SPEC;
2138impl crate::sealed::RegSpec for BleDeepslwkupReg_SPEC {
2139 type DataType = u32;
2140}
2141
2142#[doc = "Time (measured in Low Power clock cycles) in Deep Sleep Mode before waking-up the device"]
2143pub type BleDeepslwkupReg = crate::RegValueT<BleDeepslwkupReg_SPEC>;
2144
2145impl BleDeepslwkupReg {
2146 #[doc = "Determines the time in low_power_clk clock cycles to spend in Deep Sleep Mode before waking-up the device. This ensures a maximum of 37 hours and 16mn sleep mode capabilities at 32kHz. This ensures a maximum of 36 hours and 16mn sleep mode capabilities at 32.768kHz"]
2147 #[inline(always)]
2148 pub fn deepsltime(
2149 self,
2150 ) -> crate::common::RegisterField<
2151 0,
2152 0xffffffff,
2153 1,
2154 0,
2155 u32,
2156 u32,
2157 BleDeepslwkupReg_SPEC,
2158 crate::common::RW,
2159 > {
2160 crate::common::RegisterField::<
2161 0,
2162 0xffffffff,
2163 1,
2164 0,
2165 u32,
2166 u32,
2167 BleDeepslwkupReg_SPEC,
2168 crate::common::RW,
2169 >::from_register(self, 0)
2170 }
2171}
2172impl ::core::default::Default for BleDeepslwkupReg {
2173 #[inline(always)]
2174 fn default() -> BleDeepslwkupReg {
2175 <crate::RegValueT<BleDeepslwkupReg_SPEC> as RegisterValue<_>>::new(0)
2176 }
2177}
2178
2179#[doc(hidden)]
2180#[derive(Copy, Clone, Eq, PartialEq)]
2181pub struct BleDiagcntl2Reg_SPEC;
2182impl crate::sealed::RegSpec for BleDiagcntl2Reg_SPEC {
2183 type DataType = u32;
2184}
2185
2186#[doc = "Debug use only"]
2187pub type BleDiagcntl2Reg = crate::RegValueT<BleDiagcntl2Reg_SPEC>;
2188
2189impl BleDiagcntl2Reg {
2190 #[doc = "0: Disable diagnostic port 0 output. All outputs are set to 0x0.\n1: Enable diagnostic port 0 output."]
2191 #[inline(always)]
2192 pub fn diag7_en(
2193 self,
2194 ) -> crate::common::RegisterFieldBool<31, 1, 0, BleDiagcntl2Reg_SPEC, crate::common::RW> {
2195 crate::common::RegisterFieldBool::<31,1,0,BleDiagcntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
2196 }
2197
2198 #[doc = "Only relevant when DIAG7_EN = 1.\nSelection of the outputs that must be driven to the diagnostic port BLE_DIAG7."]
2199 #[inline(always)]
2200 pub fn diag7(
2201 self,
2202 ) -> crate::common::RegisterField<24, 0x3f, 1, 0, u8, u8, BleDiagcntl2Reg_SPEC, crate::common::RW>
2203 {
2204 crate::common::RegisterField::<
2205 24,
2206 0x3f,
2207 1,
2208 0,
2209 u8,
2210 u8,
2211 BleDiagcntl2Reg_SPEC,
2212 crate::common::RW,
2213 >::from_register(self, 0)
2214 }
2215
2216 #[doc = "0: Disable diagnostic port 0 output. All outputs are set to 0x0.\n1: Enable diagnostic port 0 output."]
2217 #[inline(always)]
2218 pub fn diag6_en(
2219 self,
2220 ) -> crate::common::RegisterFieldBool<23, 1, 0, BleDiagcntl2Reg_SPEC, crate::common::RW> {
2221 crate::common::RegisterFieldBool::<23,1,0,BleDiagcntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
2222 }
2223
2224 #[doc = "Only relevant when DIAG6_EN = 1.\nSelection of the outputs that must be driven to the diagnostic port BLE_DIAG6."]
2225 #[inline(always)]
2226 pub fn diag6(
2227 self,
2228 ) -> crate::common::RegisterField<16, 0x3f, 1, 0, u8, u8, BleDiagcntl2Reg_SPEC, crate::common::RW>
2229 {
2230 crate::common::RegisterField::<
2231 16,
2232 0x3f,
2233 1,
2234 0,
2235 u8,
2236 u8,
2237 BleDiagcntl2Reg_SPEC,
2238 crate::common::RW,
2239 >::from_register(self, 0)
2240 }
2241
2242 #[doc = "0: Disable diagnostic port 0 output. All outputs are set to 0x0.\n1: Enable diagnostic port 0 output."]
2243 #[inline(always)]
2244 pub fn diag5_en(
2245 self,
2246 ) -> crate::common::RegisterFieldBool<15, 1, 0, BleDiagcntl2Reg_SPEC, crate::common::RW> {
2247 crate::common::RegisterFieldBool::<15,1,0,BleDiagcntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
2248 }
2249
2250 #[doc = "Only relevant when DIAG5_EN= 1.\nSelection of the outputs that must be driven to the diagnostic port BLE_DIAG5."]
2251 #[inline(always)]
2252 pub fn diag5(
2253 self,
2254 ) -> crate::common::RegisterField<8, 0x3f, 1, 0, u8, u8, BleDiagcntl2Reg_SPEC, crate::common::RW>
2255 {
2256 crate::common::RegisterField::<8,0x3f,1,0,u8,u8,BleDiagcntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
2257 }
2258
2259 #[doc = "0: Disable diagnostic port 0 output. All outputs are set to 0x0.\n1: Enable diagnostic port 0 output."]
2260 #[inline(always)]
2261 pub fn diag4_en(
2262 self,
2263 ) -> crate::common::RegisterFieldBool<7, 1, 0, BleDiagcntl2Reg_SPEC, crate::common::RW> {
2264 crate::common::RegisterFieldBool::<7,1,0,BleDiagcntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
2265 }
2266
2267 #[doc = "Only relevant when DIAG4_EN = 1.\nSelection of the outputs that must be driven to the diagnostic port BLE_DIAG4."]
2268 #[inline(always)]
2269 pub fn diag4(
2270 self,
2271 ) -> crate::common::RegisterField<0, 0x3f, 1, 0, u8, u8, BleDiagcntl2Reg_SPEC, crate::common::RW>
2272 {
2273 crate::common::RegisterField::<0,0x3f,1,0,u8,u8,BleDiagcntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
2274 }
2275}
2276impl ::core::default::Default for BleDiagcntl2Reg {
2277 #[inline(always)]
2278 fn default() -> BleDiagcntl2Reg {
2279 <crate::RegValueT<BleDiagcntl2Reg_SPEC> as RegisterValue<_>>::new(0)
2280 }
2281}
2282
2283#[doc(hidden)]
2284#[derive(Copy, Clone, Eq, PartialEq)]
2285pub struct BleDiagcntl3Reg_SPEC;
2286impl crate::sealed::RegSpec for BleDiagcntl3Reg_SPEC {
2287 type DataType = u32;
2288}
2289
2290#[doc = "Debug use only"]
2291pub type BleDiagcntl3Reg = crate::RegValueT<BleDiagcntl3Reg_SPEC>;
2292
2293impl BleDiagcntl3Reg {
2294 #[doc = "If set, then the specific diagnostic bit will be inverted."]
2295 #[inline(always)]
2296 pub fn diag7_inv(
2297 self,
2298 ) -> crate::common::RegisterFieldBool<31, 1, 0, BleDiagcntl3Reg_SPEC, crate::common::RW> {
2299 crate::common::RegisterFieldBool::<31,1,0,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2300 }
2301
2302 #[doc = "Selects which bit from the DIAG7 word will be forwarded to bit 7 of the BLE DIagnostic Port."]
2303 #[inline(always)]
2304 pub fn diag7_bit(
2305 self,
2306 ) -> crate::common::RegisterField<28, 0x7, 1, 0, u8, u8, BleDiagcntl3Reg_SPEC, crate::common::RW>
2307 {
2308 crate::common::RegisterField::<28,0x7,1,0,u8,u8,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2309 }
2310
2311 #[doc = "If set, then the specific diagnostic bit will be inverted."]
2312 #[inline(always)]
2313 pub fn diag6_inv(
2314 self,
2315 ) -> crate::common::RegisterFieldBool<27, 1, 0, BleDiagcntl3Reg_SPEC, crate::common::RW> {
2316 crate::common::RegisterFieldBool::<27,1,0,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2317 }
2318
2319 #[doc = "Selects which bit from the DIAG6 word will be forwarded to bit 6 of the BLE DIagnostic Port."]
2320 #[inline(always)]
2321 pub fn diag6_bit(
2322 self,
2323 ) -> crate::common::RegisterField<24, 0x7, 1, 0, u8, u8, BleDiagcntl3Reg_SPEC, crate::common::RW>
2324 {
2325 crate::common::RegisterField::<24,0x7,1,0,u8,u8,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2326 }
2327
2328 #[doc = "If set, then the specific diagnostic bit will be inverted."]
2329 #[inline(always)]
2330 pub fn diag5_inv(
2331 self,
2332 ) -> crate::common::RegisterFieldBool<23, 1, 0, BleDiagcntl3Reg_SPEC, crate::common::RW> {
2333 crate::common::RegisterFieldBool::<23,1,0,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2334 }
2335
2336 #[doc = "Selects which bit from the DIAG5 word will be forwarded to bit 5 of the BLE DIagnostic Port."]
2337 #[inline(always)]
2338 pub fn diag5_bit(
2339 self,
2340 ) -> crate::common::RegisterField<20, 0x7, 1, 0, u8, u8, BleDiagcntl3Reg_SPEC, crate::common::RW>
2341 {
2342 crate::common::RegisterField::<20,0x7,1,0,u8,u8,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2343 }
2344
2345 #[doc = "If set, then the specific diagnostic bit will be inverted."]
2346 #[inline(always)]
2347 pub fn diag4_inv(
2348 self,
2349 ) -> crate::common::RegisterFieldBool<19, 1, 0, BleDiagcntl3Reg_SPEC, crate::common::RW> {
2350 crate::common::RegisterFieldBool::<19,1,0,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2351 }
2352
2353 #[doc = "Selects which bit from the DIAG4 word will be forwarded to bit 4 of the BLE DIagnostic Port."]
2354 #[inline(always)]
2355 pub fn diag4_bit(
2356 self,
2357 ) -> crate::common::RegisterField<16, 0x7, 1, 0, u8, u8, BleDiagcntl3Reg_SPEC, crate::common::RW>
2358 {
2359 crate::common::RegisterField::<16,0x7,1,0,u8,u8,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2360 }
2361
2362 #[doc = "If set, then the specific diagnostic bit will be inverted."]
2363 #[inline(always)]
2364 pub fn diag3_inv(
2365 self,
2366 ) -> crate::common::RegisterFieldBool<15, 1, 0, BleDiagcntl3Reg_SPEC, crate::common::RW> {
2367 crate::common::RegisterFieldBool::<15,1,0,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2368 }
2369
2370 #[doc = "Selects which bit from the DIAG3 word will be forwarded to bit 3 of the BLE DIagnostic Port."]
2371 #[inline(always)]
2372 pub fn diag3_bit(
2373 self,
2374 ) -> crate::common::RegisterField<12, 0x7, 1, 0, u8, u8, BleDiagcntl3Reg_SPEC, crate::common::RW>
2375 {
2376 crate::common::RegisterField::<12,0x7,1,0,u8,u8,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2377 }
2378
2379 #[doc = "If set, then the specific diagnostic bit will be inverted."]
2380 #[inline(always)]
2381 pub fn diag2_inv(
2382 self,
2383 ) -> crate::common::RegisterFieldBool<11, 1, 0, BleDiagcntl3Reg_SPEC, crate::common::RW> {
2384 crate::common::RegisterFieldBool::<11,1,0,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2385 }
2386
2387 #[doc = "Selects which bit from the DIAG2 word will be forwarded to bit 2 of the BLE DIagnostic Port."]
2388 #[inline(always)]
2389 pub fn diag2_bit(
2390 self,
2391 ) -> crate::common::RegisterField<8, 0x7, 1, 0, u8, u8, BleDiagcntl3Reg_SPEC, crate::common::RW>
2392 {
2393 crate::common::RegisterField::<8,0x7,1,0,u8,u8,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2394 }
2395
2396 #[doc = "If set, then the specific diagnostic bit will be inverted."]
2397 #[inline(always)]
2398 pub fn diag1_inv(
2399 self,
2400 ) -> crate::common::RegisterFieldBool<7, 1, 0, BleDiagcntl3Reg_SPEC, crate::common::RW> {
2401 crate::common::RegisterFieldBool::<7,1,0,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2402 }
2403
2404 #[doc = "Selects which bit from the DIAG1 word will be forwarded to bit 1 of the BLE DIagnostic Port."]
2405 #[inline(always)]
2406 pub fn diag1_bit(
2407 self,
2408 ) -> crate::common::RegisterField<4, 0x7, 1, 0, u8, u8, BleDiagcntl3Reg_SPEC, crate::common::RW>
2409 {
2410 crate::common::RegisterField::<4,0x7,1,0,u8,u8,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2411 }
2412
2413 #[doc = "If set, then the specific diagnostic bit will be inverted."]
2414 #[inline(always)]
2415 pub fn diag0_inv(
2416 self,
2417 ) -> crate::common::RegisterFieldBool<3, 1, 0, BleDiagcntl3Reg_SPEC, crate::common::RW> {
2418 crate::common::RegisterFieldBool::<3,1,0,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2419 }
2420
2421 #[doc = "Selects which bit from the DIAG0 word will be forwarded to bit 0 of the BLE DIagnostic Port."]
2422 #[inline(always)]
2423 pub fn diag0_bit(
2424 self,
2425 ) -> crate::common::RegisterField<0, 0x7, 1, 0, u8, u8, BleDiagcntl3Reg_SPEC, crate::common::RW>
2426 {
2427 crate::common::RegisterField::<0,0x7,1,0,u8,u8,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2428 }
2429}
2430impl ::core::default::Default for BleDiagcntl3Reg {
2431 #[inline(always)]
2432 fn default() -> BleDiagcntl3Reg {
2433 <crate::RegValueT<BleDiagcntl3Reg_SPEC> as RegisterValue<_>>::new(0)
2434 }
2435}
2436
2437#[doc(hidden)]
2438#[derive(Copy, Clone, Eq, PartialEq)]
2439pub struct BleDiagcntlReg_SPEC;
2440impl crate::sealed::RegSpec for BleDiagcntlReg_SPEC {
2441 type DataType = u32;
2442}
2443
2444#[doc = "Diagnostics Register"]
2445pub type BleDiagcntlReg = crate::RegValueT<BleDiagcntlReg_SPEC>;
2446
2447impl BleDiagcntlReg {
2448 #[doc = "0: Disable diagnostic port 0 output. All outputs are set to 0x0.\n1: Enable diagnostic port 0 output."]
2449 #[inline(always)]
2450 pub fn diag3_en(
2451 self,
2452 ) -> crate::common::RegisterFieldBool<31, 1, 0, BleDiagcntlReg_SPEC, crate::common::RW> {
2453 crate::common::RegisterFieldBool::<31,1,0,BleDiagcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2454 }
2455
2456 #[doc = "Only relevant when DIAG3_EN = 1.\nSelection of the outputs that must be driven to the diagnostic port BLE_DIAG3."]
2457 #[inline(always)]
2458 pub fn diag3(
2459 self,
2460 ) -> crate::common::RegisterField<24, 0x3f, 1, 0, u8, u8, BleDiagcntlReg_SPEC, crate::common::RW>
2461 {
2462 crate::common::RegisterField::<24,0x3f,1,0,u8,u8,BleDiagcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2463 }
2464
2465 #[doc = "0: Disable diagnostic port 0 output. All outputs are set to 0x0.\n1: Enable diagnostic port 0 output."]
2466 #[inline(always)]
2467 pub fn diag2_en(
2468 self,
2469 ) -> crate::common::RegisterFieldBool<23, 1, 0, BleDiagcntlReg_SPEC, crate::common::RW> {
2470 crate::common::RegisterFieldBool::<23,1,0,BleDiagcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2471 }
2472
2473 #[doc = "Only relevant when DIAG2_EN = 1.\nSelection of the outputs that must be driven to the diagnostic port BLE_DIAG2."]
2474 #[inline(always)]
2475 pub fn diag2(
2476 self,
2477 ) -> crate::common::RegisterField<16, 0x3f, 1, 0, u8, u8, BleDiagcntlReg_SPEC, crate::common::RW>
2478 {
2479 crate::common::RegisterField::<16,0x3f,1,0,u8,u8,BleDiagcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2480 }
2481
2482 #[doc = "0: Disable diagnostic port 0 output. All outputs are set to 0x0.\n1: Enable diagnostic port 0 output."]
2483 #[inline(always)]
2484 pub fn diag1_en(
2485 self,
2486 ) -> crate::common::RegisterFieldBool<15, 1, 0, BleDiagcntlReg_SPEC, crate::common::RW> {
2487 crate::common::RegisterFieldBool::<15,1,0,BleDiagcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2488 }
2489
2490 #[doc = "Only relevant when DIAG1_EN = 1.\nSelection of the outputs that must be driven to the diagnostic port BLE_DIAG1."]
2491 #[inline(always)]
2492 pub fn diag1(
2493 self,
2494 ) -> crate::common::RegisterField<8, 0x3f, 1, 0, u8, u8, BleDiagcntlReg_SPEC, crate::common::RW>
2495 {
2496 crate::common::RegisterField::<8,0x3f,1,0,u8,u8,BleDiagcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2497 }
2498
2499 #[doc = "0: Disable diagnostic port 0 output. All outputs are set to 0x0.\n1: Enable diagnostic port 0 output."]
2500 #[inline(always)]
2501 pub fn diag0_en(
2502 self,
2503 ) -> crate::common::RegisterFieldBool<7, 1, 0, BleDiagcntlReg_SPEC, crate::common::RW> {
2504 crate::common::RegisterFieldBool::<7,1,0,BleDiagcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2505 }
2506
2507 #[doc = "Only relevant when DIAG0_EN = 1.\nSelection of the outputs that must be driven to the diagnostic port BLE_DIAG0."]
2508 #[inline(always)]
2509 pub fn diag0(
2510 self,
2511 ) -> crate::common::RegisterField<0, 0x3f, 1, 0, u8, u8, BleDiagcntlReg_SPEC, crate::common::RW>
2512 {
2513 crate::common::RegisterField::<0,0x3f,1,0,u8,u8,BleDiagcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2514 }
2515}
2516impl ::core::default::Default for BleDiagcntlReg {
2517 #[inline(always)]
2518 fn default() -> BleDiagcntlReg {
2519 <crate::RegValueT<BleDiagcntlReg_SPEC> as RegisterValue<_>>::new(0)
2520 }
2521}
2522
2523#[doc(hidden)]
2524#[derive(Copy, Clone, Eq, PartialEq)]
2525pub struct BleDiagstatReg_SPEC;
2526impl crate::sealed::RegSpec for BleDiagstatReg_SPEC {
2527 type DataType = u32;
2528}
2529
2530#[doc = "Debug use only"]
2531pub type BleDiagstatReg = crate::RegValueT<BleDiagstatReg_SPEC>;
2532
2533impl BleDiagstatReg {
2534 #[doc = "Directly connected to ble_dbg3\\[7:0\\] output. Debug use only."]
2535 #[inline(always)]
2536 pub fn diag3stat(
2537 self,
2538 ) -> crate::common::RegisterField<24, 0xff, 1, 0, u8, u8, BleDiagstatReg_SPEC, crate::common::R>
2539 {
2540 crate::common::RegisterField::<24,0xff,1,0,u8,u8,BleDiagstatReg_SPEC,crate::common::R>::from_register(self,0)
2541 }
2542
2543 #[doc = "Directly connected to ble_dbg2\\[7:0\\] output. Debug use only."]
2544 #[inline(always)]
2545 pub fn diag2stat(
2546 self,
2547 ) -> crate::common::RegisterField<16, 0xff, 1, 0, u8, u8, BleDiagstatReg_SPEC, crate::common::R>
2548 {
2549 crate::common::RegisterField::<16,0xff,1,0,u8,u8,BleDiagstatReg_SPEC,crate::common::R>::from_register(self,0)
2550 }
2551
2552 #[doc = "Directly connected to ble_dbg1\\[7:0\\] output. Debug use only."]
2553 #[inline(always)]
2554 pub fn diag1stat(
2555 self,
2556 ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, BleDiagstatReg_SPEC, crate::common::R>
2557 {
2558 crate::common::RegisterField::<8,0xff,1,0,u8,u8,BleDiagstatReg_SPEC,crate::common::R>::from_register(self,0)
2559 }
2560
2561 #[doc = "Directly connected to ble_dbg0\\[7:0\\] output. Debug use only."]
2562 #[inline(always)]
2563 pub fn diag0stat(
2564 self,
2565 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, BleDiagstatReg_SPEC, crate::common::R>
2566 {
2567 crate::common::RegisterField::<0,0xff,1,0,u8,u8,BleDiagstatReg_SPEC,crate::common::R>::from_register(self,0)
2568 }
2569}
2570impl ::core::default::Default for BleDiagstatReg {
2571 #[inline(always)]
2572 fn default() -> BleDiagstatReg {
2573 <crate::RegValueT<BleDiagstatReg_SPEC> as RegisterValue<_>>::new(0)
2574 }
2575}
2576
2577#[doc(hidden)]
2578#[derive(Copy, Clone, Eq, PartialEq)]
2579pub struct BleEmBaseReg_SPEC;
2580impl crate::sealed::RegSpec for BleEmBaseReg_SPEC {
2581 type DataType = u32;
2582}
2583
2584#[doc = "Exchange Memory Base Register"]
2585pub type BleEmBaseReg = crate::RegValueT<BleEmBaseReg_SPEC>;
2586
2587impl BleEmBaseReg {
2588 #[doc = "The physical address on the system memory map of the base of the Exchange Memory."]
2589 #[inline(always)]
2590 pub fn ble_em_base_16_10(
2591 self,
2592 ) -> crate::common::RegisterField<10, 0x7f, 1, 0, u8, u8, BleEmBaseReg_SPEC, crate::common::RW>
2593 {
2594 crate::common::RegisterField::<10,0x7f,1,0,u8,u8,BleEmBaseReg_SPEC,crate::common::RW>::from_register(self,0)
2595 }
2596}
2597impl ::core::default::Default for BleEmBaseReg {
2598 #[inline(always)]
2599 fn default() -> BleEmBaseReg {
2600 <crate::RegValueT<BleEmBaseReg_SPEC> as RegisterValue<_>>::new(0)
2601 }
2602}
2603
2604#[doc(hidden)]
2605#[derive(Copy, Clone, Eq, PartialEq)]
2606pub struct BleEnbpresetReg_SPEC;
2607impl crate::sealed::RegSpec for BleEnbpresetReg_SPEC {
2608 type DataType = u32;
2609}
2610
2611#[doc = "Time in low power oscillator cycles register"]
2612pub type BleEnbpresetReg = crate::RegValueT<BleEnbpresetReg_SPEC>;
2613
2614impl BleEnbpresetReg {
2615 #[doc = "Minimum and recommended value is \"TWIRQ_RESET + 1\".\nIn the case of wake-up due to an external wake-up request, TWEXT specifies the time delay in low power oscillator cycles to deassert BLE_WAKEUP_LP_IRQ.\nRefer also to GP_CONTROL_REG\\[BLE_WAKEUP_REQ\\].\nRange is \\[0...64 ms\\] for 32kHz; \\[0...62.5 ms\\] for 32.768kHz"]
2616 #[inline(always)]
2617 pub fn twext(
2618 self,
2619 ) -> crate::common::RegisterField<
2620 21,
2621 0x7ff,
2622 1,
2623 0,
2624 u16,
2625 u16,
2626 BleEnbpresetReg_SPEC,
2627 crate::common::RW,
2628 > {
2629 crate::common::RegisterField::<
2630 21,
2631 0x7ff,
2632 1,
2633 0,
2634 u16,
2635 u16,
2636 BleEnbpresetReg_SPEC,
2637 crate::common::RW,
2638 >::from_register(self, 0)
2639 }
2640
2641 #[doc = "Minimum value is \"TWIRQ_RESET + 1\".\nTime in low power oscillator cycles to set BLE_WAKEUP_LP_IRQ before the BLE sleep timer expiration.\nRefer also to BLE_DEEPSLWKUP_REG\\[DEEPSLTIME\\].\nRange is \\[0...64 ms\\] for 32kHz; \\[0...62.5 ms\\] for 32.768kHz"]
2642 #[inline(always)]
2643 pub fn twirq_set(
2644 self,
2645 ) -> crate::common::RegisterField<
2646 10,
2647 0x7ff,
2648 1,
2649 0,
2650 u16,
2651 u16,
2652 BleEnbpresetReg_SPEC,
2653 crate::common::RW,
2654 > {
2655 crate::common::RegisterField::<
2656 10,
2657 0x7ff,
2658 1,
2659 0,
2660 u16,
2661 u16,
2662 BleEnbpresetReg_SPEC,
2663 crate::common::RW,
2664 >::from_register(self, 0)
2665 }
2666
2667 #[doc = "Recommended value is 1.\nTime in low power oscillator cycles to reset BLE_WAKEUP_LP_IRQ before the BLE sleep timer expiration.\nRefer also to BLE_DEEPSLWKUP_REG\\[DEEPSLTIME\\].\nRange is \\[0...32 ms\\] for 32kHz; \\[0...31.25 ms\\] for 32.768kHz."]
2668 #[inline(always)]
2669 pub fn twirq_reset(
2670 self,
2671 ) -> crate::common::RegisterField<
2672 0,
2673 0x3ff,
2674 1,
2675 0,
2676 u16,
2677 u16,
2678 BleEnbpresetReg_SPEC,
2679 crate::common::RW,
2680 > {
2681 crate::common::RegisterField::<
2682 0,
2683 0x3ff,
2684 1,
2685 0,
2686 u16,
2687 u16,
2688 BleEnbpresetReg_SPEC,
2689 crate::common::RW,
2690 >::from_register(self, 0)
2691 }
2692}
2693impl ::core::default::Default for BleEnbpresetReg {
2694 #[inline(always)]
2695 fn default() -> BleEnbpresetReg {
2696 <crate::RegValueT<BleEnbpresetReg_SPEC> as RegisterValue<_>>::new(0)
2697 }
2698}
2699
2700#[doc(hidden)]
2701#[derive(Copy, Clone, Eq, PartialEq)]
2702pub struct BleErrortypestatReg_SPEC;
2703impl crate::sealed::RegSpec for BleErrortypestatReg_SPEC {
2704 type DataType = u32;
2705}
2706
2707#[doc = "Error Type Status registers"]
2708pub type BleErrortypestatReg = crate::RegValueT<BleErrortypestatReg_SPEC>;
2709
2710impl BleErrortypestatReg {
2711 #[doc = "Indicates whether two consecutive and concurrent ble_event_irq have been generated, and not acknowledged in time by the RW-BLE Software.\n0: No error\n1: Error occurred"]
2712 #[inline(always)]
2713 pub fn concevtirq_error(
2714 self,
2715 ) -> crate::common::RegisterFieldBool<17, 1, 0, BleErrortypestatReg_SPEC, crate::common::R>
2716 {
2717 crate::common::RegisterFieldBool::<17,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2718 }
2719
2720 #[doc = "Indicates whether Rx data buffer pointer value programmed is null: this is a major programming failure.\n0: No error\n1: Error occurred"]
2721 #[inline(always)]
2722 pub fn rxdata_ptr_error(
2723 self,
2724 ) -> crate::common::RegisterFieldBool<16, 1, 0, BleErrortypestatReg_SPEC, crate::common::R>
2725 {
2726 crate::common::RegisterFieldBool::<16,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2727 }
2728
2729 #[doc = "Indicates whether Tx data buffer pointer value programmed is null during Advertising / Scanning / Initiating events, or during Master / Slave connections with non-null packet length: this is a major programming failure.\n0: No error\n1: Error occurred"]
2730 #[inline(always)]
2731 pub fn txdata_ptr_error(
2732 self,
2733 ) -> crate::common::RegisterFieldBool<15, 1, 0, BleErrortypestatReg_SPEC, crate::common::R>
2734 {
2735 crate::common::RegisterFieldBool::<15,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2736 }
2737
2738 #[doc = "Indicates whether Rx Descriptor pointer value programmed in register is null: this is a major programming failure.\n0: No error\n1: Error occurred"]
2739 #[inline(always)]
2740 pub fn rxdesc_empty_error(
2741 self,
2742 ) -> crate::common::RegisterFieldBool<14, 1, 0, BleErrortypestatReg_SPEC, crate::common::R>
2743 {
2744 crate::common::RegisterFieldBool::<14,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2745 }
2746
2747 #[doc = "Indicates whether Tx Descriptor pointer value programmed in Control Structure is null during Advertising / Scanning / Initiating events: this is a major programming failure.\n0: No error\n1: Error occurred"]
2748 #[inline(always)]
2749 pub fn txdesc_empty_error(
2750 self,
2751 ) -> crate::common::RegisterFieldBool<13, 1, 0, BleErrortypestatReg_SPEC, crate::common::R>
2752 {
2753 crate::common::RegisterFieldBool::<13,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2754 }
2755
2756 #[doc = "Indicates whether CS-FORMAT has been programmed with an invalid value: this is a major software programming failure.\n0: No error\n1: Error occurred"]
2757 #[inline(always)]
2758 pub fn csformat_error(
2759 self,
2760 ) -> crate::common::RegisterFieldBool<12, 1, 0, BleErrortypestatReg_SPEC, crate::common::R>
2761 {
2762 crate::common::RegisterFieldBool::<12,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2763 }
2764
2765 #[doc = "Indicates Link Layer Channel Map error, happens when actual number of CS-LLCHMAP bit set to one is different from CS-NBCHGOOD at the beginning of Frequency Hopping process\n0: No error\n1: Error occurred"]
2766 #[inline(always)]
2767 pub fn llchmap_error(
2768 self,
2769 ) -> crate::common::RegisterFieldBool<11, 1, 0, BleErrortypestatReg_SPEC, crate::common::R>
2770 {
2771 crate::common::RegisterFieldBool::<11,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2772 }
2773
2774 #[doc = "Indicates Advertising Interval Under run, occurs if time between two consecutive Advertising packet (in Advertising mode) is lower than the expected value.\n0: No error\n1: Error occurred"]
2775 #[inline(always)]
2776 pub fn adv_underrun(
2777 self,
2778 ) -> crate::common::RegisterFieldBool<10, 1, 0, BleErrortypestatReg_SPEC, crate::common::R>
2779 {
2780 crate::common::RegisterFieldBool::<10,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2781 }
2782
2783 #[doc = "Indicates Inter Frame Space Under run, occurs if IFS time is not enough to update and read Control Structure/Descriptors, and/or White List parsing is not finished and/or Decryption time is too long to be finished on time\n0: No error\n1: Error occurred"]
2784 #[inline(always)]
2785 pub fn ifs_underrun(
2786 self,
2787 ) -> crate::common::RegisterFieldBool<9, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2788 crate::common::RegisterFieldBool::<9,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2789 }
2790
2791 #[doc = "Indicates White List Timeout error, occurs if White List parsing is not finished on time\n0: No error\n1: Error occurred"]
2792 #[inline(always)]
2793 pub fn whitelist_error(
2794 self,
2795 ) -> crate::common::RegisterFieldBool<8, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2796 crate::common::RegisterFieldBool::<8,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2797 }
2798
2799 #[doc = "Indicates Anticipated Pre-Fetch Mechanism error: happens when 2 consecutive events are programmed, and when the first event is not completely finished while second pre-fetch instant is reached.\n0: No error\n1: Error occured"]
2800 #[inline(always)]
2801 pub fn evt_cntl_apfm_error(
2802 self,
2803 ) -> crate::common::RegisterFieldBool<7, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2804 crate::common::RegisterFieldBool::<7,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2805 }
2806
2807 #[doc = "Indicates Anticipated Pre-Fetch Mechanism error: happens when 2 consecutive events are programmed, and when the first event is not completely finished while second pre-fetch instant is reached.\n0: No error\n1: Error occured"]
2808 #[inline(always)]
2809 pub fn evt_schdl_apfm_error(
2810 self,
2811 ) -> crate::common::RegisterFieldBool<6, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2812 crate::common::RegisterFieldBool::<6,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2813 }
2814
2815 #[doc = "Indicates Event Scheduler faced Invalid timing programing on two consecutive ET entries (e.g first one with 624s offset and second one with no offset)\n0: No error\n1: Error occurred"]
2816 #[inline(always)]
2817 pub fn evt_schdl_entry_error(
2818 self,
2819 ) -> crate::common::RegisterFieldBool<5, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2820 crate::common::RegisterFieldBool::<5,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2821 }
2822
2823 #[doc = "Indicates Event Scheduler Exchange Memory access error, happens when Exchange Memory accesses are not served in time, and blocks the Exchange Table entry read\n0: No error\n1: Error occurred"]
2824 #[inline(always)]
2825 pub fn evt_schdl_emacc_error(
2826 self,
2827 ) -> crate::common::RegisterFieldBool<4, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2828 crate::common::RegisterFieldBool::<4,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2829 }
2830
2831 #[doc = "Indicates Radio Controller Exchange Memory access error, happens when Exchange Memory accesses are not served in time and data are corrupted.\n0: No error\n1: Error occurred"]
2832 #[inline(always)]
2833 pub fn radio_emacc_error(
2834 self,
2835 ) -> crate::common::RegisterFieldBool<3, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2836 crate::common::RegisterFieldBool::<3,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2837 }
2838
2839 #[doc = "Indicates Packet Controller Exchange Memory access error, happens when Exchange Memory accesses are not served in time and Tx/Rx data are corrupted\n0: No error\n1: Error occurred"]
2840 #[inline(always)]
2841 pub fn pktcntl_emacc_error(
2842 self,
2843 ) -> crate::common::RegisterFieldBool<2, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2844 crate::common::RegisterFieldBool::<2,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2845 }
2846
2847 #[doc = "Indicates real time decryption error, happens when AES-CCM decryption is too slow compared to Packet Controller requests. A 16-bytes block has to be decrypted prior the next block is received by the Packet Controller\n0: No error\n1: Error occurred"]
2848 #[inline(always)]
2849 pub fn rxcrypt_error(
2850 self,
2851 ) -> crate::common::RegisterFieldBool<1, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2852 crate::common::RegisterFieldBool::<1,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2853 }
2854
2855 #[doc = "Indicates Real Time encryption error, happens when AES-CCM encryption is too slow compared to Packet Controller requests. A 16-bytes block has to be encrypted and prepared on Packet Controller request, and needs to be ready before the Packet Controller has to send ti\n0: No error\n1: Error occurred"]
2856 #[inline(always)]
2857 pub fn txcrypt_error(
2858 self,
2859 ) -> crate::common::RegisterFieldBool<0, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2860 crate::common::RegisterFieldBool::<0,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2861 }
2862}
2863impl ::core::default::Default for BleErrortypestatReg {
2864 #[inline(always)]
2865 fn default() -> BleErrortypestatReg {
2866 <crate::RegValueT<BleErrortypestatReg_SPEC> as RegisterValue<_>>::new(0)
2867 }
2868}
2869
2870#[doc(hidden)]
2871#[derive(Copy, Clone, Eq, PartialEq)]
2872pub struct BleFinecntcorrReg_SPEC;
2873impl crate::sealed::RegSpec for BleFinecntcorrReg_SPEC {
2874 type DataType = u32;
2875}
2876
2877#[doc = "Phase correction value register"]
2878pub type BleFinecntcorrReg = crate::RegValueT<BleFinecntcorrReg_SPEC>;
2879
2880impl BleFinecntcorrReg {
2881 #[doc = "Phase correction value for the 625us reference counter (i.e. Fine Counter) in us."]
2882 #[inline(always)]
2883 pub fn finecntcorr(
2884 self,
2885 ) -> crate::common::RegisterField<
2886 0,
2887 0x3ff,
2888 1,
2889 0,
2890 u16,
2891 u16,
2892 BleFinecntcorrReg_SPEC,
2893 crate::common::RW,
2894 > {
2895 crate::common::RegisterField::<
2896 0,
2897 0x3ff,
2898 1,
2899 0,
2900 u16,
2901 u16,
2902 BleFinecntcorrReg_SPEC,
2903 crate::common::RW,
2904 >::from_register(self, 0)
2905 }
2906}
2907impl ::core::default::Default for BleFinecntcorrReg {
2908 #[inline(always)]
2909 fn default() -> BleFinecntcorrReg {
2910 <crate::RegValueT<BleFinecntcorrReg_SPEC> as RegisterValue<_>>::new(0)
2911 }
2912}
2913
2914#[doc(hidden)]
2915#[derive(Copy, Clone, Eq, PartialEq)]
2916pub struct BleFinetimecntReg_SPEC;
2917impl crate::sealed::RegSpec for BleFinetimecntReg_SPEC {
2918 type DataType = u32;
2919}
2920
2921#[doc = "Fine time reference counter"]
2922pub type BleFinetimecntReg = crate::RegValueT<BleFinetimecntReg_SPEC>;
2923
2924impl BleFinetimecntReg {
2925 #[doc = "Value of the current s fine time reference counter. Updated each time SAMPCLK is written. Used by the SW in order to synchronize with the HW, and obtain a more precise sleep duration"]
2926 #[inline(always)]
2927 pub fn finecnt(
2928 self,
2929 ) -> crate::common::RegisterField<
2930 0,
2931 0x3ff,
2932 1,
2933 0,
2934 u16,
2935 u16,
2936 BleFinetimecntReg_SPEC,
2937 crate::common::R,
2938 > {
2939 crate::common::RegisterField::<
2940 0,
2941 0x3ff,
2942 1,
2943 0,
2944 u16,
2945 u16,
2946 BleFinetimecntReg_SPEC,
2947 crate::common::R,
2948 >::from_register(self, 0)
2949 }
2950}
2951impl ::core::default::Default for BleFinetimecntReg {
2952 #[inline(always)]
2953 fn default() -> BleFinetimecntReg {
2954 <crate::RegValueT<BleFinetimecntReg_SPEC> as RegisterValue<_>>::new(0)
2955 }
2956}
2957
2958#[doc(hidden)]
2959#[derive(Copy, Clone, Eq, PartialEq)]
2960pub struct BleFinetimtgtReg_SPEC;
2961impl crate::sealed::RegSpec for BleFinetimtgtReg_SPEC {
2962 type DataType = u32;
2963}
2964
2965#[doc = "Fine Timer Target value"]
2966pub type BleFinetimtgtReg = crate::RegValueT<BleFinetimtgtReg_SPEC>;
2967
2968impl BleFinetimtgtReg {
2969 #[doc = "Fine Timer Target value on which a ble_finetgtim_irq must be generated. This timer has a precision of 625us: interrupt is generated only when FINETARGET = BASETIMECNT"]
2970 #[inline(always)]
2971 pub fn finetarget(
2972 self,
2973 ) -> crate::common::RegisterField<
2974 0,
2975 0x7ffffff,
2976 1,
2977 0,
2978 u32,
2979 u32,
2980 BleFinetimtgtReg_SPEC,
2981 crate::common::RW,
2982 > {
2983 crate::common::RegisterField::<
2984 0,
2985 0x7ffffff,
2986 1,
2987 0,
2988 u32,
2989 u32,
2990 BleFinetimtgtReg_SPEC,
2991 crate::common::RW,
2992 >::from_register(self, 0)
2993 }
2994}
2995impl ::core::default::Default for BleFinetimtgtReg {
2996 #[inline(always)]
2997 fn default() -> BleFinetimtgtReg {
2998 <crate::RegValueT<BleFinetimtgtReg_SPEC> as RegisterValue<_>>::new(0)
2999 }
3000}
3001
3002#[doc(hidden)]
3003#[derive(Copy, Clone, Eq, PartialEq)]
3004pub struct BleGrosstimtgtReg_SPEC;
3005impl crate::sealed::RegSpec for BleGrosstimtgtReg_SPEC {
3006 type DataType = u32;
3007}
3008
3009#[doc = "Gross Timer Target value"]
3010pub type BleGrosstimtgtReg = crate::RegValueT<BleGrosstimtgtReg_SPEC>;
3011
3012impl BleGrosstimtgtReg {
3013 #[doc = "Gross Timer Target value on which a ble_grosstgtim_irq must be generated. This timer has a precision of 10ms: interrupt is generated only when GROSSTARGET\\[22:0\\] = BASETIMECNT\\[26:4\\] and BASETIMECNT\\[3:0\\] = 0."]
3014 #[inline(always)]
3015 pub fn grosstarget(
3016 self,
3017 ) -> crate::common::RegisterField<
3018 0,
3019 0x7fffff,
3020 1,
3021 0,
3022 u32,
3023 u32,
3024 BleGrosstimtgtReg_SPEC,
3025 crate::common::RW,
3026 > {
3027 crate::common::RegisterField::<
3028 0,
3029 0x7fffff,
3030 1,
3031 0,
3032 u32,
3033 u32,
3034 BleGrosstimtgtReg_SPEC,
3035 crate::common::RW,
3036 >::from_register(self, 0)
3037 }
3038}
3039impl ::core::default::Default for BleGrosstimtgtReg {
3040 #[inline(always)]
3041 fn default() -> BleGrosstimtgtReg {
3042 <crate::RegValueT<BleGrosstimtgtReg_SPEC> as RegisterValue<_>>::new(0)
3043 }
3044}
3045
3046#[doc(hidden)]
3047#[derive(Copy, Clone, Eq, PartialEq)]
3048pub struct BleIntackReg_SPEC;
3049impl crate::sealed::RegSpec for BleIntackReg_SPEC {
3050 type DataType = u32;
3051}
3052
3053#[doc = "Interrupt acknowledge register"]
3054pub type BleIntackReg = crate::RegValueT<BleIntackReg_SPEC>;
3055
3056impl BleIntackReg {
3057 #[doc = "SW triggered interrupt acknowledgement bit\nSoftware writing 1 acknowledges the SW triggered interrupt. This bit resets SWINTSTAT and SWINTRAWSTAT flags.\nResets at 0 when action is performed"]
3058 #[inline(always)]
3059 pub fn swintack(
3060 self,
3061 ) -> crate::common::RegisterFieldBool<9, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3062 crate::common::RegisterFieldBool::<9,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3063 }
3064
3065 #[doc = "End of event / Anticipated Pre-Fetch Abort interrupt acknowledgement bit\nSoftware writing 1 acknowledges the End of event / Anticipated Pre-Fetch Abort interrupt. This bit resets EVENTAPFAINTSTAT and EVENTAPFAINTRAWSTAT flags.\nResets at 0 when action is performed"]
3066 #[inline(always)]
3067 pub fn eventapfaintack(
3068 self,
3069 ) -> crate::common::RegisterFieldBool<8, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3070 crate::common::RegisterFieldBool::<8,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3071 }
3072
3073 #[doc = "Fine Target Timer interrupt acknowledgement bit\nSoftware writing 1 acknowledges the Fine Timer interrupt. This bit resets FINETGTIMINTSTAT and FINETGTIMINTRAWSTAT flags.\nResets at 0 when action is performed"]
3074 #[inline(always)]
3075 pub fn finetgtimintack(
3076 self,
3077 ) -> crate::common::RegisterFieldBool<7, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3078 crate::common::RegisterFieldBool::<7,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3079 }
3080
3081 #[doc = "Gross Target Timer interrupt acknowledgement bit\nSoftware writing 1 acknowledges the Gross Timer interrupt. This bit resets GROSSTGTIMINTSTAT and GROSSTGTIMINTRAWSTAT flags.\nResets at 0 when action is performed"]
3082 #[inline(always)]
3083 pub fn grosstgtimintack(
3084 self,
3085 ) -> crate::common::RegisterFieldBool<6, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3086 crate::common::RegisterFieldBool::<6,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3087 }
3088
3089 #[doc = "Error interrupt acknowledgement bit\nSoftware writing 1 acknowledges the Error interrupt. This bit resets ERRORINTSTAT and ERRORINTRAWSTAT flags.\nResets at 0 when action is performed"]
3090 #[inline(always)]
3091 pub fn errorintack(
3092 self,
3093 ) -> crate::common::RegisterFieldBool<5, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3094 crate::common::RegisterFieldBool::<5,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3095 }
3096
3097 #[doc = "Encryption engine interrupt acknowledgement bit Software writing 1 acknowledges the Encryption engine interrupt. This bit resets CRYPTINTSTAT and CRYPTINTRAWSTAT flags.\nResets at 0 when action is performed"]
3098 #[inline(always)]
3099 pub fn cryptintack(
3100 self,
3101 ) -> crate::common::RegisterFieldBool<4, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3102 crate::common::RegisterFieldBool::<4,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3103 }
3104
3105 #[doc = "End of Event interrupt acknowledgment bit\nSoftware writing 1 acknowledges the End of Advertising / Scanning / Connection interrupt. This bit resets SLPINTSTAT and SLPINTRAWSTAT flags.\nResets at 0 when action is performed"]
3106 #[inline(always)]
3107 pub fn eventintack(
3108 self,
3109 ) -> crate::common::RegisterFieldBool<3, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3110 crate::common::RegisterFieldBool::<3,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3111 }
3112
3113 #[doc = "End of Deep Sleep interrupt acknowledgment bit\nSoftware writing 1 acknowledges the End of Sleep Mode interrupt. This bit resets SLPINTSTAT and SLPINTRAWSTAT flags.\nResets at 0 when action is performed"]
3114 #[inline(always)]
3115 pub fn slpintack(
3116 self,
3117 ) -> crate::common::RegisterFieldBool<2, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3118 crate::common::RegisterFieldBool::<2,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3119 }
3120
3121 #[doc = "Packet Reception interrupt acknowledgment bit\nSoftware writing 1 acknowledges the Rx interrupt. This bit resets RXINTSTAT and RXINTRAWSTAT flags.\nResets at 0 when action is performed"]
3122 #[inline(always)]
3123 pub fn rxintack(
3124 self,
3125 ) -> crate::common::RegisterFieldBool<1, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3126 crate::common::RegisterFieldBool::<1,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3127 }
3128
3129 #[doc = "625us base time reference interrupt acknowledgment bit\nSoftware writing 1 acknowledges the CLKN interrupt. This bit resets CLKINTSTAT and CLKINTRAWSTAT flags.\nResets at 0 when action is performed"]
3130 #[inline(always)]
3131 pub fn cscntintack(
3132 self,
3133 ) -> crate::common::RegisterFieldBool<0, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3134 crate::common::RegisterFieldBool::<0,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3135 }
3136}
3137impl ::core::default::Default for BleIntackReg {
3138 #[inline(always)]
3139 fn default() -> BleIntackReg {
3140 <crate::RegValueT<BleIntackReg_SPEC> as RegisterValue<_>>::new(0)
3141 }
3142}
3143
3144#[doc(hidden)]
3145#[derive(Copy, Clone, Eq, PartialEq)]
3146pub struct BleIntcntlReg_SPEC;
3147impl crate::sealed::RegSpec for BleIntcntlReg_SPEC {
3148 type DataType = u32;
3149}
3150
3151#[doc = "Interrupt controller register"]
3152pub type BleIntcntlReg = crate::RegValueT<BleIntcntlReg_SPEC>;
3153
3154impl BleIntcntlReg {
3155 #[doc = "CSCNT interrupt mask during event. This bit allows to enable CSCNT interrupt generation during events (i.e. advertising, scanning, initiating, and connection)\n0: CSCNT Interrupt not generated during events.\n1: CSCNT Interrupt generated during events."]
3156 #[inline(always)]
3157 pub fn cscntdevmsk(
3158 self,
3159 ) -> crate::common::RegisterFieldBool<15, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3160 crate::common::RegisterFieldBool::<15,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3161 }
3162
3163 #[doc = "SW triggered interrupt Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3164 #[inline(always)]
3165 pub fn swintmsk(
3166 self,
3167 ) -> crate::common::RegisterFieldBool<9, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3168 crate::common::RegisterFieldBool::<9,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3169 }
3170
3171 #[doc = "End of event / anticipated pre-fetch abort interrupt Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3172 #[inline(always)]
3173 pub fn eventapfaintmsk(
3174 self,
3175 ) -> crate::common::RegisterFieldBool<8, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3176 crate::common::RegisterFieldBool::<8,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3177 }
3178
3179 #[doc = "Fine Target Timer Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3180 #[inline(always)]
3181 pub fn finetgtimintmsk(
3182 self,
3183 ) -> crate::common::RegisterFieldBool<7, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3184 crate::common::RegisterFieldBool::<7,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3185 }
3186
3187 #[doc = "Gross Target Timer Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3188 #[inline(always)]
3189 pub fn grosstgtimintmsk(
3190 self,
3191 ) -> crate::common::RegisterFieldBool<6, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3192 crate::common::RegisterFieldBool::<6,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3193 }
3194
3195 #[doc = "Error Interrupt Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3196 #[inline(always)]
3197 pub fn errorintmsk(
3198 self,
3199 ) -> crate::common::RegisterFieldBool<5, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3200 crate::common::RegisterFieldBool::<5,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3201 }
3202
3203 #[doc = "Encryption engine Interrupt Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3204 #[inline(always)]
3205 pub fn cryptintmsk(
3206 self,
3207 ) -> crate::common::RegisterFieldBool<4, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3208 crate::common::RegisterFieldBool::<4,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3209 }
3210
3211 #[doc = "End of event Interrupt Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3212 #[inline(always)]
3213 pub fn eventintmsk(
3214 self,
3215 ) -> crate::common::RegisterFieldBool<3, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3216 crate::common::RegisterFieldBool::<3,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3217 }
3218
3219 #[doc = "Sleep Mode Interrupt Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3220 #[inline(always)]
3221 pub fn slpintmsk(
3222 self,
3223 ) -> crate::common::RegisterFieldBool<2, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3224 crate::common::RegisterFieldBool::<2,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3225 }
3226
3227 #[doc = "Rx Interrupt Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3228 #[inline(always)]
3229 pub fn rxintmsk(
3230 self,
3231 ) -> crate::common::RegisterFieldBool<1, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3232 crate::common::RegisterFieldBool::<1,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3233 }
3234
3235 #[doc = "625us Base Time Interrupt Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3236 #[inline(always)]
3237 pub fn cscntintmsk(
3238 self,
3239 ) -> crate::common::RegisterFieldBool<0, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3240 crate::common::RegisterFieldBool::<0,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3241 }
3242}
3243impl ::core::default::Default for BleIntcntlReg {
3244 #[inline(always)]
3245 fn default() -> BleIntcntlReg {
3246 <crate::RegValueT<BleIntcntlReg_SPEC> as RegisterValue<_>>::new(33055)
3247 }
3248}
3249
3250#[doc(hidden)]
3251#[derive(Copy, Clone, Eq, PartialEq)]
3252pub struct BleIntrawstatReg_SPEC;
3253impl crate::sealed::RegSpec for BleIntrawstatReg_SPEC {
3254 type DataType = u32;
3255}
3256
3257#[doc = "Interrupt raw status register"]
3258pub type BleIntrawstatReg = crate::RegValueT<BleIntrawstatReg_SPEC>;
3259
3260impl BleIntrawstatReg {
3261 #[doc = "SW triggered interrupt raw status\n0: No SW triggered interrupt.\n1: A SW triggered interrupt is pending."]
3262 #[inline(always)]
3263 pub fn swintrawstat(
3264 self,
3265 ) -> crate::common::RegisterFieldBool<9, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3266 crate::common::RegisterFieldBool::<9,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3267 }
3268
3269 #[doc = "End of event / Anticipated Pre-Fetch Abort interrupt raw status\n0: No End of Event interrupt.\n1: An End of Event interrupt is pending."]
3270 #[inline(always)]
3271 pub fn eventapfaintrawstat(
3272 self,
3273 ) -> crate::common::RegisterFieldBool<8, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3274 crate::common::RegisterFieldBool::<8,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3275 }
3276
3277 #[doc = "Fine Target Timer Error interrupt raw status\n0: No Fine Target Timer interrupt.\n1: A Fine Target Timer interrupt is pending."]
3278 #[inline(always)]
3279 pub fn finetgtimintrawstat(
3280 self,
3281 ) -> crate::common::RegisterFieldBool<7, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3282 crate::common::RegisterFieldBool::<7,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3283 }
3284
3285 #[doc = "Gross Target Timer interrupt raw status\n0: No Gross Target Timer interrupt.\n1: A Gross Target Timer interrupt is pending."]
3286 #[inline(always)]
3287 pub fn grosstgtimintrawstat(
3288 self,
3289 ) -> crate::common::RegisterFieldBool<6, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3290 crate::common::RegisterFieldBool::<6,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3291 }
3292
3293 #[doc = "Error interrupt raw status\n0: No Error interrupt.\n1: An Error interrupt is pending."]
3294 #[inline(always)]
3295 pub fn errorintrawstat(
3296 self,
3297 ) -> crate::common::RegisterFieldBool<5, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3298 crate::common::RegisterFieldBool::<5,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3299 }
3300
3301 #[doc = "Encryption engine interrupt raw status\n0: No Encryption / Decryption interrupt.\n1: An Encryption / Decryption interrupt is pending."]
3302 #[inline(always)]
3303 pub fn cryptintrawstat(
3304 self,
3305 ) -> crate::common::RegisterFieldBool<4, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3306 crate::common::RegisterFieldBool::<4,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3307 }
3308
3309 #[doc = "End of Event interrupt raw status\n0: No End of Advertising / Scanning / Connection interrupt.\n1: An End of Advertising / Scanning / Connection interrupt is pending."]
3310 #[inline(always)]
3311 pub fn eventintrawstat(
3312 self,
3313 ) -> crate::common::RegisterFieldBool<3, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3314 crate::common::RegisterFieldBool::<3,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3315 }
3316
3317 #[doc = "Sleep interrupt raw status\n0: No End of Sleep Mode interrupt.\n1: An End of Sleep Mode interrupt is pending."]
3318 #[inline(always)]
3319 pub fn slpintrawstat(
3320 self,
3321 ) -> crate::common::RegisterFieldBool<2, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3322 crate::common::RegisterFieldBool::<2,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3323 }
3324
3325 #[doc = "Packet Reception interrupt raw status\n0: No Rx interrupt.\n1: An Rx interrupt is pending."]
3326 #[inline(always)]
3327 pub fn rxintrawstat(
3328 self,
3329 ) -> crate::common::RegisterFieldBool<1, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3330 crate::common::RegisterFieldBool::<1,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3331 }
3332
3333 #[doc = "625us base time reference interrupt raw status\n0: No 625us Base Time interrupt.\n1: A 625us Base Time interrupt is pending."]
3334 #[inline(always)]
3335 pub fn cscntintrawstat(
3336 self,
3337 ) -> crate::common::RegisterFieldBool<0, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3338 crate::common::RegisterFieldBool::<0,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3339 }
3340}
3341impl ::core::default::Default for BleIntrawstatReg {
3342 #[inline(always)]
3343 fn default() -> BleIntrawstatReg {
3344 <crate::RegValueT<BleIntrawstatReg_SPEC> as RegisterValue<_>>::new(0)
3345 }
3346}
3347
3348#[doc(hidden)]
3349#[derive(Copy, Clone, Eq, PartialEq)]
3350pub struct BleIntstatReg_SPEC;
3351impl crate::sealed::RegSpec for BleIntstatReg_SPEC {
3352 type DataType = u32;
3353}
3354
3355#[doc = "Interrupt status register"]
3356pub type BleIntstatReg = crate::RegValueT<BleIntstatReg_SPEC>;
3357
3358impl BleIntstatReg {
3359 #[doc = "SW triggered interrupt status\n0: No SW triggered interrupt.\n1: A SW triggered interrupt is pending"]
3360 #[inline(always)]
3361 pub fn swintstat(
3362 self,
3363 ) -> crate::common::RegisterFieldBool<9, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3364 crate::common::RegisterFieldBool::<9,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3365 }
3366
3367 #[doc = "End of event / Anticipated Pre-Fetch Abort interrupt status\n0: No End of Event interrupt.\n1: An End of Event interrupt is pending."]
3368 #[inline(always)]
3369 pub fn eventapfaintstat(
3370 self,
3371 ) -> crate::common::RegisterFieldBool<8, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3372 crate::common::RegisterFieldBool::<8,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3373 }
3374
3375 #[doc = "Masked Fine Target Timer Error interrupt status\n0: No Fine Target Timer interrupt.\n1: A Fine Target Timer interrupt is pending."]
3376 #[inline(always)]
3377 pub fn finetgtimintstat(
3378 self,
3379 ) -> crate::common::RegisterFieldBool<7, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3380 crate::common::RegisterFieldBool::<7,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3381 }
3382
3383 #[doc = "Masked Gross Target Timer interrupt status\n0: No Gross Target Timer interrupt.\n1: A Gross Target Timer interrupt is pending."]
3384 #[inline(always)]
3385 pub fn grosstgtimintstat(
3386 self,
3387 ) -> crate::common::RegisterFieldBool<6, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3388 crate::common::RegisterFieldBool::<6,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3389 }
3390
3391 #[doc = "Masked Error interrupt status\n0: No Error interrupt.\n1: An Error interrupt is pending."]
3392 #[inline(always)]
3393 pub fn errorintstat(
3394 self,
3395 ) -> crate::common::RegisterFieldBool<5, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3396 crate::common::RegisterFieldBool::<5,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3397 }
3398
3399 #[doc = "Masked Encryption engine interrupt status\n0: No Encryption / Decryption interrupt.\n1: An Encryption / Decryption interrupt is pending."]
3400 #[inline(always)]
3401 pub fn cryptintstat(
3402 self,
3403 ) -> crate::common::RegisterFieldBool<4, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3404 crate::common::RegisterFieldBool::<4,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3405 }
3406
3407 #[doc = "Masked End of Event interrupt status\n0: No End of Advertising / Scanning / Connection interrupt.\n1: An End of Advertising / Scanning / Connection interrupt is pending."]
3408 #[inline(always)]
3409 pub fn eventintstat(
3410 self,
3411 ) -> crate::common::RegisterFieldBool<3, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3412 crate::common::RegisterFieldBool::<3,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3413 }
3414
3415 #[doc = "Masked Sleep interrupt status\n0: No End of Sleep Mode interrupt.\n1: An End of Sleep Mode interrupt is pending."]
3416 #[inline(always)]
3417 pub fn slpintstat(
3418 self,
3419 ) -> crate::common::RegisterFieldBool<2, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3420 crate::common::RegisterFieldBool::<2,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3421 }
3422
3423 #[doc = "Masked Packet Reception interrupt status\n0: No Rx interrupt.\n1: An Rx interrupt is pending."]
3424 #[inline(always)]
3425 pub fn rxintstat(
3426 self,
3427 ) -> crate::common::RegisterFieldBool<1, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3428 crate::common::RegisterFieldBool::<1,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3429 }
3430
3431 #[doc = "Masked 625us base time reference interrupt status\n0: No 625us Base Time interrupt.\n1: A 625us Base Time interrupt is pending."]
3432 #[inline(always)]
3433 pub fn cscntintstat(
3434 self,
3435 ) -> crate::common::RegisterFieldBool<0, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3436 crate::common::RegisterFieldBool::<0,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3437 }
3438}
3439impl ::core::default::Default for BleIntstatReg {
3440 #[inline(always)]
3441 fn default() -> BleIntstatReg {
3442 <crate::RegValueT<BleIntstatReg_SPEC> as RegisterValue<_>>::new(0)
3443 }
3444}
3445
3446#[doc(hidden)]
3447#[derive(Copy, Clone, Eq, PartialEq)]
3448pub struct BleRadiocntl0Reg_SPEC;
3449impl crate::sealed::RegSpec for BleRadiocntl0Reg_SPEC {
3450 type DataType = u32;
3451}
3452
3453#[doc = "Radio interface control register"]
3454pub type BleRadiocntl0Reg = crate::RegValueT<BleRadiocntl0Reg_SPEC>;
3455
3456impl BleRadiocntl0Reg {
3457 #[inline(always)]
3458 pub fn field246rsv(
3459 self,
3460 ) -> crate::common::RegisterField<2, 0x7, 1, 0, u8, u8, BleRadiocntl0Reg_SPEC, crate::common::RW>
3461 {
3462 crate::common::RegisterField::<2,0x7,1,0,u8,u8,BleRadiocntl0Reg_SPEC,crate::common::RW>::from_register(self,0)
3463 }
3464}
3465impl ::core::default::Default for BleRadiocntl0Reg {
3466 #[inline(always)]
3467 fn default() -> BleRadiocntl0Reg {
3468 <crate::RegValueT<BleRadiocntl0Reg_SPEC> as RegisterValue<_>>::new(2)
3469 }
3470}
3471
3472#[doc(hidden)]
3473#[derive(Copy, Clone, Eq, PartialEq)]
3474pub struct BleRadiocntl1Reg_SPEC;
3475impl crate::sealed::RegSpec for BleRadiocntl1Reg_SPEC {
3476 type DataType = u32;
3477}
3478
3479#[doc = "Radio interface control register"]
3480pub type BleRadiocntl1Reg = crate::RegValueT<BleRadiocntl1Reg_SPEC>;
3481
3482impl BleRadiocntl1Reg {
3483 #[doc = "Extended radio selection field, Must be set to \"2\"."]
3484 #[inline(always)]
3485 pub fn xrfsel(
3486 self,
3487 ) -> crate::common::RegisterField<
3488 16,
3489 0x1f,
3490 1,
3491 0,
3492 u8,
3493 u8,
3494 BleRadiocntl1Reg_SPEC,
3495 crate::common::RW,
3496 > {
3497 crate::common::RegisterField::<
3498 16,
3499 0x1f,
3500 1,
3501 0,
3502 u8,
3503 u8,
3504 BleRadiocntl1Reg_SPEC,
3505 crate::common::RW,
3506 >::from_register(self, 0)
3507 }
3508}
3509impl ::core::default::Default for BleRadiocntl1Reg {
3510 #[inline(always)]
3511 fn default() -> BleRadiocntl1Reg {
3512 <crate::RegValueT<BleRadiocntl1Reg_SPEC> as RegisterValue<_>>::new(0)
3513 }
3514}
3515
3516#[doc(hidden)]
3517#[derive(Copy, Clone, Eq, PartialEq)]
3518pub struct BleRadiocntl2Reg_SPEC;
3519impl crate::sealed::RegSpec for BleRadiocntl2Reg_SPEC {
3520 type DataType = u32;
3521}
3522
3523#[doc = "Radio interface control register"]
3524pub type BleRadiocntl2Reg = crate::RegValueT<BleRadiocntl2Reg_SPEC>;
3525
3526impl NoBitfieldReg<BleRadiocntl2Reg_SPEC> for BleRadiocntl2Reg {}
3527impl ::core::default::Default for BleRadiocntl2Reg {
3528 #[inline(always)]
3529 fn default() -> BleRadiocntl2Reg {
3530 <crate::RegValueT<BleRadiocntl2Reg_SPEC> as RegisterValue<_>>::new(0)
3531 }
3532}
3533
3534#[doc(hidden)]
3535#[derive(Copy, Clone, Eq, PartialEq)]
3536pub struct BleRadiocntl3Reg_SPEC;
3537impl crate::sealed::RegSpec for BleRadiocntl3Reg_SPEC {
3538 type DataType = u32;
3539}
3540
3541#[doc = "Radio interface control register"]
3542pub type BleRadiocntl3Reg = crate::RegValueT<BleRadiocntl3Reg_SPEC>;
3543
3544impl NoBitfieldReg<BleRadiocntl3Reg_SPEC> for BleRadiocntl3Reg {}
3545impl ::core::default::Default for BleRadiocntl3Reg {
3546 #[inline(always)]
3547 fn default() -> BleRadiocntl3Reg {
3548 <crate::RegValueT<BleRadiocntl3Reg_SPEC> as RegisterValue<_>>::new(64)
3549 }
3550}
3551
3552#[doc(hidden)]
3553#[derive(Copy, Clone, Eq, PartialEq)]
3554pub struct BleRadiopwrupdnReg_SPEC;
3555impl crate::sealed::RegSpec for BleRadiopwrupdnReg_SPEC {
3556 type DataType = u32;
3557}
3558
3559#[doc = "RX/TX power up/down phase register"]
3560pub type BleRadiopwrupdnReg = crate::RegValueT<BleRadiopwrupdnReg_SPEC>;
3561
3562impl BleRadiopwrupdnReg {
3563 #[doc = "Defines round trip delay value. This value correspond to the addition of data latency in Tx and data latency in Rx. Value is in us"]
3564 #[inline(always)]
3565 pub fn rtrip_delay(
3566 self,
3567 ) -> crate::common::RegisterField<
3568 24,
3569 0x7f,
3570 1,
3571 0,
3572 u8,
3573 u8,
3574 BleRadiopwrupdnReg_SPEC,
3575 crate::common::RW,
3576 > {
3577 crate::common::RegisterField::<
3578 24,
3579 0x7f,
3580 1,
3581 0,
3582 u8,
3583 u8,
3584 BleRadiopwrupdnReg_SPEC,
3585 crate::common::RW,
3586 >::from_register(self, 0)
3587 }
3588
3589 #[doc = "This register holds the length in s of the RX power up phase for the current radio device. Default value is 210us (reset value). Operating range depends on the selected radio."]
3590 #[inline(always)]
3591 pub fn rxpwrup(
3592 self,
3593 ) -> crate::common::RegisterField<
3594 16,
3595 0xff,
3596 1,
3597 0,
3598 u8,
3599 u8,
3600 BleRadiopwrupdnReg_SPEC,
3601 crate::common::RW,
3602 > {
3603 crate::common::RegisterField::<
3604 16,
3605 0xff,
3606 1,
3607 0,
3608 u8,
3609 u8,
3610 BleRadiopwrupdnReg_SPEC,
3611 crate::common::RW,
3612 >::from_register(self, 0)
3613 }
3614
3615 #[doc = "This register extends the length in s of the TX power down phase for the current radio device. Default value is 3us (reset value). Operating range depends on the selected radio."]
3616 #[inline(always)]
3617 pub fn txpwrdn(
3618 self,
3619 ) -> crate::common::RegisterField<
3620 8,
3621 0xf,
3622 1,
3623 0,
3624 u8,
3625 u8,
3626 BleRadiopwrupdnReg_SPEC,
3627 crate::common::RW,
3628 > {
3629 crate::common::RegisterField::<
3630 8,
3631 0xf,
3632 1,
3633 0,
3634 u8,
3635 u8,
3636 BleRadiopwrupdnReg_SPEC,
3637 crate::common::RW,
3638 >::from_register(self, 0)
3639 }
3640
3641 #[doc = "This register holds the length in s of the TX power up phase for the current radio device. Default value is 210us (reset value). Operating range depends on the selected radio."]
3642 #[inline(always)]
3643 pub fn txpwrup(
3644 self,
3645 ) -> crate::common::RegisterField<
3646 0,
3647 0xff,
3648 1,
3649 0,
3650 u8,
3651 u8,
3652 BleRadiopwrupdnReg_SPEC,
3653 crate::common::RW,
3654 > {
3655 crate::common::RegisterField::<
3656 0,
3657 0xff,
3658 1,
3659 0,
3660 u8,
3661 u8,
3662 BleRadiopwrupdnReg_SPEC,
3663 crate::common::RW,
3664 >::from_register(self, 0)
3665 }
3666}
3667impl ::core::default::Default for BleRadiopwrupdnReg {
3668 #[inline(always)]
3669 fn default() -> BleRadiopwrupdnReg {
3670 <crate::RegValueT<BleRadiopwrupdnReg_SPEC> as RegisterValue<_>>::new(13763538)
3671 }
3672}
3673
3674#[doc(hidden)]
3675#[derive(Copy, Clone, Eq, PartialEq)]
3676pub struct BleRftestcntlReg_SPEC;
3677impl crate::sealed::RegSpec for BleRftestcntlReg_SPEC {
3678 type DataType = u32;
3679}
3680
3681#[doc = "RF Testing Register"]
3682pub type BleRftestcntlReg = crate::RegValueT<BleRftestcntlReg_SPEC>;
3683
3684impl BleRftestcntlReg {
3685 #[doc = "Applicable in RF Test Mode only\n0: Normal mode of operation\n1: Infinite Rx window"]
3686 #[inline(always)]
3687 pub fn infiniterx(
3688 self,
3689 ) -> crate::common::RegisterFieldBool<31, 1, 0, BleRftestcntlReg_SPEC, crate::common::RW> {
3690 crate::common::RegisterFieldBool::<31,1,0,BleRftestcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3691 }
3692
3693 #[doc = "Applicable in RF Test Mode only\n0: Rx packet count disabled\n1: Rx packet count enabled, and reported in CS-RXCCMPKTCNT and RFTESTRXSTAT-RXPKTCNT on RF abort command"]
3694 #[inline(always)]
3695 pub fn rxpktcnten(
3696 self,
3697 ) -> crate::common::RegisterFieldBool<27, 1, 0, BleRftestcntlReg_SPEC, crate::common::RW> {
3698 crate::common::RegisterFieldBool::<27,1,0,BleRftestcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3699 }
3700
3701 #[doc = "Applicable in RF Test Mode only\n0: Normal mode of operation.\n1: Infinite Tx packet / Normal start of a packet but endless payload"]
3702 #[inline(always)]
3703 pub fn infinitetx(
3704 self,
3705 ) -> crate::common::RegisterFieldBool<15, 1, 0, BleRftestcntlReg_SPEC, crate::common::RW> {
3706 crate::common::RegisterFieldBool::<15,1,0,BleRftestcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3707 }
3708
3709 #[doc = "Applicable only in Tx/Rx RF Test mode\n0: Normal mode of operation: TxDESC-TXADVLEN controls the Tx packet payload size\n1: Uses RFTESTCNTL-TXLENGTH packet length (can support up to 512 bytes transmit)"]
3710 #[inline(always)]
3711 pub fn txlengthsrc(
3712 self,
3713 ) -> crate::common::RegisterFieldBool<14, 1, 0, BleRftestcntlReg_SPEC, crate::common::RW> {
3714 crate::common::RegisterFieldBool::<14,1,0,BleRftestcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3715 }
3716
3717 #[doc = "Applicable only in Tx/Rx RF Test mode\n0: Tx Packet Payload are PRBS9 type\n1: Tx Packet Payload are PRBS15 type"]
3718 #[inline(always)]
3719 pub fn prbstype(
3720 self,
3721 ) -> crate::common::RegisterFieldBool<13, 1, 0, BleRftestcntlReg_SPEC, crate::common::RW> {
3722 crate::common::RegisterFieldBool::<13,1,0,BleRftestcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3723 }
3724
3725 #[doc = "Applicable only in Tx/Rx RF Test mode\n0: Tx Packet Payload source is the Control Structure\n1: Tx Packet Payload are PRBS generator"]
3726 #[inline(always)]
3727 pub fn txpldsrc(
3728 self,
3729 ) -> crate::common::RegisterFieldBool<12, 1, 0, BleRftestcntlReg_SPEC, crate::common::RW> {
3730 crate::common::RegisterFieldBool::<12,1,0,BleRftestcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3731 }
3732
3733 #[doc = "Applicable in RF Test Mode only\n0: Tx packet count disabled\n1: Tx packet count enabled, and reported in CS-TXCCMPKTCNT and RFTESTTXSTAT-TXPKTCNT on RF abort command"]
3734 #[inline(always)]
3735 pub fn txpktcnten(
3736 self,
3737 ) -> crate::common::RegisterFieldBool<11, 1, 0, BleRftestcntlReg_SPEC, crate::common::RW> {
3738 crate::common::RegisterFieldBool::<11,1,0,BleRftestcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3739 }
3740
3741 #[doc = "Applicable only for Tx/Rx RF Test mode, and valid when RFTESTCNTL-TXLENGTHSRC = 1\nTx packet length in number of byte"]
3742 #[inline(always)]
3743 pub fn txlength(
3744 self,
3745 ) -> crate::common::RegisterField<
3746 0,
3747 0x1ff,
3748 1,
3749 0,
3750 u16,
3751 u16,
3752 BleRftestcntlReg_SPEC,
3753 crate::common::RW,
3754 > {
3755 crate::common::RegisterField::<
3756 0,
3757 0x1ff,
3758 1,
3759 0,
3760 u16,
3761 u16,
3762 BleRftestcntlReg_SPEC,
3763 crate::common::RW,
3764 >::from_register(self, 0)
3765 }
3766}
3767impl ::core::default::Default for BleRftestcntlReg {
3768 #[inline(always)]
3769 fn default() -> BleRftestcntlReg {
3770 <crate::RegValueT<BleRftestcntlReg_SPEC> as RegisterValue<_>>::new(0)
3771 }
3772}
3773
3774#[doc(hidden)]
3775#[derive(Copy, Clone, Eq, PartialEq)]
3776pub struct BleRftestrxstatReg_SPEC;
3777impl crate::sealed::RegSpec for BleRftestrxstatReg_SPEC {
3778 type DataType = u32;
3779}
3780
3781#[doc = "RF Testing Register"]
3782pub type BleRftestrxstatReg = crate::RegValueT<BleRftestrxstatReg_SPEC>;
3783
3784impl BleRftestrxstatReg {
3785 #[doc = "Reports number of correctly received packet during Test Modes (no sync error, no CRC error).\nValue is valid if RFTESTCNTL-RXPKTCNTEN is set"]
3786 #[inline(always)]
3787 pub fn rxpktcnt(
3788 self,
3789 ) -> crate::common::RegisterField<
3790 0,
3791 0xffffffff,
3792 1,
3793 0,
3794 u32,
3795 u32,
3796 BleRftestrxstatReg_SPEC,
3797 crate::common::R,
3798 > {
3799 crate::common::RegisterField::<
3800 0,
3801 0xffffffff,
3802 1,
3803 0,
3804 u32,
3805 u32,
3806 BleRftestrxstatReg_SPEC,
3807 crate::common::R,
3808 >::from_register(self, 0)
3809 }
3810}
3811impl ::core::default::Default for BleRftestrxstatReg {
3812 #[inline(always)]
3813 fn default() -> BleRftestrxstatReg {
3814 <crate::RegValueT<BleRftestrxstatReg_SPEC> as RegisterValue<_>>::new(0)
3815 }
3816}
3817
3818#[doc(hidden)]
3819#[derive(Copy, Clone, Eq, PartialEq)]
3820pub struct BleRftesttxstatReg_SPEC;
3821impl crate::sealed::RegSpec for BleRftesttxstatReg_SPEC {
3822 type DataType = u32;
3823}
3824
3825#[doc = "RF Testing Register"]
3826pub type BleRftesttxstatReg = crate::RegValueT<BleRftesttxstatReg_SPEC>;
3827
3828impl BleRftesttxstatReg {
3829 #[doc = "Reports number of transmitted packet during Test Modes.\nValue is valid if RFTESTCNTL-TXPKTCNTEN is set"]
3830 #[inline(always)]
3831 pub fn txpktcnt(
3832 self,
3833 ) -> crate::common::RegisterField<
3834 0,
3835 0xffffffff,
3836 1,
3837 0,
3838 u32,
3839 u32,
3840 BleRftesttxstatReg_SPEC,
3841 crate::common::R,
3842 > {
3843 crate::common::RegisterField::<
3844 0,
3845 0xffffffff,
3846 1,
3847 0,
3848 u32,
3849 u32,
3850 BleRftesttxstatReg_SPEC,
3851 crate::common::R,
3852 >::from_register(self, 0)
3853 }
3854}
3855impl ::core::default::Default for BleRftesttxstatReg {
3856 #[inline(always)]
3857 fn default() -> BleRftesttxstatReg {
3858 <crate::RegValueT<BleRftesttxstatReg_SPEC> as RegisterValue<_>>::new(0)
3859 }
3860}
3861
3862#[doc(hidden)]
3863#[derive(Copy, Clone, Eq, PartialEq)]
3864pub struct BleRwblecntlReg_SPEC;
3865impl crate::sealed::RegSpec for BleRwblecntlReg_SPEC {
3866 type DataType = u32;
3867}
3868
3869#[doc = "BLE Control register"]
3870pub type BleRwblecntlReg = crate::RegValueT<BleRwblecntlReg_SPEC>;
3871
3872impl BleRwblecntlReg {
3873 #[doc = "Reset the complete BLE Core except registers and timing generator, when written with a 1. Resets at 0 when action is performed. No action happens if it is written with 0."]
3874 #[inline(always)]
3875 pub fn master_soft_rst(
3876 self,
3877 ) -> crate::common::RegisterFieldBool<31, 1, 0, BleRwblecntlReg_SPEC, crate::common::W> {
3878 crate::common::RegisterFieldBool::<31,1,0,BleRwblecntlReg_SPEC,crate::common::W>::from_register(self,0)
3879 }
3880
3881 #[doc = "Reset the timing generator, when written with a 1. Resets at 0 when action is performed. No action happens if it is written with 0."]
3882 #[inline(always)]
3883 pub fn master_tgsoft_rst(
3884 self,
3885 ) -> crate::common::RegisterFieldBool<30, 1, 0, BleRwblecntlReg_SPEC, crate::common::W> {
3886 crate::common::RegisterFieldBool::<30,1,0,BleRwblecntlReg_SPEC,crate::common::W>::from_register(self,0)
3887 }
3888
3889 #[doc = "Reset the complete register block, when written with a 1. Resets at 0 when action is performed. No action happens if it is written with 0.\nNote that INT STAT will not be cleared, so the user should also write to BLE_INTACK_REG after the SW Reset"]
3890 #[inline(always)]
3891 pub fn reg_soft_rst(
3892 self,
3893 ) -> crate::common::RegisterFieldBool<29, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3894 crate::common::RegisterFieldBool::<29,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3895 }
3896
3897 #[doc = "Forces the generation of ble_sw_irq when written with a 1, and proper masking is set. Resets at 0 when action is performed. No action happens if it is written with 0."]
3898 #[inline(always)]
3899 pub fn swint_req(
3900 self,
3901 ) -> crate::common::RegisterFieldBool<28, 1, 0, BleRwblecntlReg_SPEC, crate::common::W> {
3902 crate::common::RegisterFieldBool::<28,1,0,BleRwblecntlReg_SPEC,crate::common::W>::from_register(self,0)
3903 }
3904
3905 #[doc = "Abort the current RF Testing defined as per CS-FORMAT when written with a 1. Resets at 0 when action is performed. No action happens if it is written with 0.\nNote that when RFTEST_ABORT is requested:\n1) In case of infinite Tx, the Packet Controller FSM stops at the end of the current byte in process, and processes accordingly the packet CRC.\n2) In case of Infinite Rx, the Packet Controller FSM either stops as the end of the current Packet reception (if Access address has been detected), or simply stop the processing switching off the RF."]
3906 #[inline(always)]
3907 pub fn rftest_abort(
3908 self,
3909 ) -> crate::common::RegisterFieldBool<26, 1, 0, BleRwblecntlReg_SPEC, crate::common::W> {
3910 crate::common::RegisterFieldBool::<26,1,0,BleRwblecntlReg_SPEC,crate::common::W>::from_register(self,0)
3911 }
3912
3913 #[doc = "Abort the current Advertising event when written with a 1. Resets at 0 when action is performed. No action happens if it is written with 0."]
3914 #[inline(always)]
3915 pub fn advert_abort(
3916 self,
3917 ) -> crate::common::RegisterFieldBool<25, 1, 0, BleRwblecntlReg_SPEC, crate::common::W> {
3918 crate::common::RegisterFieldBool::<25,1,0,BleRwblecntlReg_SPEC,crate::common::W>::from_register(self,0)
3919 }
3920
3921 #[doc = "Abort the current scan window when written with a 1. Resets at 0 when action is performed. No action happens if it is written with 0."]
3922 #[inline(always)]
3923 pub fn scan_abort(
3924 self,
3925 ) -> crate::common::RegisterFieldBool<24, 1, 0, BleRwblecntlReg_SPEC, crate::common::W> {
3926 crate::common::RegisterFieldBool::<24,1,0,BleRwblecntlReg_SPEC,crate::common::W>::from_register(self,0)
3927 }
3928
3929 #[doc = "0: Normal operation of MD bits management\n1: Allow a single Tx/Rx exchange whatever the MD bits are.\nvalue forced by SW from Tx Descriptorvalue just saved in Rx Descriptor during reception"]
3930 #[inline(always)]
3931 pub fn md_dsb(
3932 self,
3933 ) -> crate::common::RegisterFieldBool<22, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3934 crate::common::RegisterFieldBool::<22,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3935 }
3936
3937 #[doc = "0: Normal operation of Sequence number\n1: Sequence Number Management disabled:\nvalue forced by SW from Tx Descriptorvalue ignored in Rx, where no SN error reported."]
3938 #[inline(always)]
3939 pub fn sn_dsb(
3940 self,
3941 ) -> crate::common::RegisterFieldBool<21, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3942 crate::common::RegisterFieldBool::<21,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3943 }
3944
3945 #[doc = "0: Normal operation of Acknowledge\n1: Acknowledge scheme disabled:\nvalue forced by SW from Tx Descriptorvalue ignored in Rx, where no NESN error reported."]
3946 #[inline(always)]
3947 pub fn nesn_dsb(
3948 self,
3949 ) -> crate::common::RegisterFieldBool<20, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3950 crate::common::RegisterFieldBool::<20,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3951 }
3952
3953 #[doc = "0: Normal operation. Encryption / Decryption enabled.\n1: Encryption / Decryption disabled.\nNote that if CS-CRYPT_EN is set, then MIC is generated, and only data encryption is disabled, meaning data sent are plain data."]
3954 #[inline(always)]
3955 pub fn crypt_dsb(
3956 self,
3957 ) -> crate::common::RegisterFieldBool<19, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3958 crate::common::RegisterFieldBool::<19,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3959 }
3960
3961 #[doc = "0: Normal operation. Whitening enabled.\n1: Whitening disabled."]
3962 #[inline(always)]
3963 pub fn whit_dsb(
3964 self,
3965 ) -> crate::common::RegisterFieldBool<18, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3966 crate::common::RegisterFieldBool::<18,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3967 }
3968
3969 #[doc = "0: Normal operation. CRC removed from data stream.\n1: CRC stripping disabled on Rx packets, CRC replaced by 0x000 in Tx."]
3970 #[inline(always)]
3971 pub fn crc_dsb(
3972 self,
3973 ) -> crate::common::RegisterFieldBool<17, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3974 crate::common::RegisterFieldBool::<17,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3975 }
3976
3977 #[doc = "0: Normal operation. Frequency Hopping Remapping algorithm enabled.\n1: Frequency Hopping Remapping algorithm disabled"]
3978 #[inline(always)]
3979 pub fn hop_remap_dsb(
3980 self,
3981 ) -> crate::common::RegisterFieldBool<16, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3982 crate::common::RegisterFieldBool::<16,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3983 }
3984
3985 #[doc = "Defines correlation mode\n00: Correlates onto Access Address\n01: Correlates onto half preamble and Access Address\n10: Correlates onto full preamble and Access Address\n11: n/a"]
3986 #[inline(always)]
3987 pub fn corr_mode(
3988 self,
3989 ) -> crate::common::RegisterField<12, 0x3, 1, 0, u8, u8, BleRwblecntlReg_SPEC, crate::common::RW>
3990 {
3991 crate::common::RegisterField::<12,0x3,1,0,u8,u8,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3992 }
3993
3994 #[doc = "Advertising Channels Error Filtering Enable control\n0: RW-BLE Core reports all errors to RW-BLE Software\n1: RW-BLE Core reports only correctly received packet, without error to RW-BLE Software"]
3995 #[inline(always)]
3996 pub fn advertfilt_en(
3997 self,
3998 ) -> crate::common::RegisterFieldBool<9, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3999 crate::common::RegisterFieldBool::<9,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
4000 }
4001
4002 #[doc = "0: Disable RW-BLE Core Exchange Table pre-fetch mechanism.\n1: Enable RW-BLE Core Exchange table pre-fetch mechanism."]
4003 #[inline(always)]
4004 pub fn rwble_en(
4005 self,
4006 ) -> crate::common::RegisterFieldBool<8, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
4007 crate::common::RegisterFieldBool::<8,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
4008 }
4009
4010 #[doc = "Default Rx Window size in us. Used when device:\n\nis master connectedperforms its second receipt.0 is not a valid value. Recommended value is 10 (in decimal)."]
4011 #[inline(always)]
4012 pub fn rxwinszdef(
4013 self,
4014 ) -> crate::common::RegisterField<4, 0xf, 1, 0, u8, u8, BleRwblecntlReg_SPEC, crate::common::RW>
4015 {
4016 crate::common::RegisterField::<4,0xf,1,0,u8,u8,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
4017 }
4018
4019 #[doc = "Indicates the maximum number of errors allowed to recognize the synchronization word."]
4020 #[inline(always)]
4021 pub fn syncerr(
4022 self,
4023 ) -> crate::common::RegisterField<0, 0x7, 1, 0, u8, u8, BleRwblecntlReg_SPEC, crate::common::RW>
4024 {
4025 crate::common::RegisterField::<0,0x7,1,0,u8,u8,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
4026 }
4027}
4028impl ::core::default::Default for BleRwblecntlReg {
4029 #[inline(always)]
4030 fn default() -> BleRwblecntlReg {
4031 <crate::RegValueT<BleRwblecntlReg_SPEC> as RegisterValue<_>>::new(0)
4032 }
4033}
4034
4035#[doc(hidden)]
4036#[derive(Copy, Clone, Eq, PartialEq)]
4037pub struct BleRwbleconfReg_SPEC;
4038impl crate::sealed::RegSpec for BleRwbleconfReg_SPEC {
4039 type DataType = u32;
4040}
4041
4042#[doc = "Configuration register"]
4043pub type BleRwbleconfReg = crate::RegValueT<BleRwbleconfReg_SPEC>;
4044
4045impl BleRwbleconfReg {
4046 #[doc = "Value of the RW_BLE_ADDRESS_WIDTH parameter concerted into binary."]
4047 #[inline(always)]
4048 pub fn add_width(
4049 self,
4050 ) -> crate::common::RegisterField<24, 0x3f, 1, 0, u8, u8, BleRwbleconfReg_SPEC, crate::common::R>
4051 {
4052 crate::common::RegisterField::<24,0x3f,1,0,u8,u8,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4053 }
4054
4055 #[doc = "Radio Interface ID"]
4056 #[inline(always)]
4057 pub fn rfif(
4058 self,
4059 ) -> crate::common::RegisterField<16, 0x7f, 1, 0, u8, u8, BleRwbleconfReg_SPEC, crate::common::R>
4060 {
4061 crate::common::RegisterField::<16,0x7f,1,0,u8,u8,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4062 }
4063
4064 #[doc = "Operating Frequency (in MHz)"]
4065 #[inline(always)]
4066 pub fn clk_sel(
4067 self,
4068 ) -> crate::common::RegisterField<8, 0x3f, 1, 0, u8, u8, BleRwbleconfReg_SPEC, crate::common::R>
4069 {
4070 crate::common::RegisterField::<8,0x3f,1,0,u8,u8,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4071 }
4072
4073 #[doc = "0: AES deciphering not present"]
4074 #[inline(always)]
4075 pub fn decipher(
4076 self,
4077 ) -> crate::common::RegisterFieldBool<6, 1, 0, BleRwbleconfReg_SPEC, crate::common::R> {
4078 crate::common::RegisterFieldBool::<6,1,0,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4079 }
4080
4081 #[doc = "0: RW-BLE Core is used as a standalone BLE device"]
4082 #[inline(always)]
4083 pub fn dmmode(
4084 self,
4085 ) -> crate::common::RegisterFieldBool<5, 1, 0, BleRwbleconfReg_SPEC, crate::common::R> {
4086 crate::common::RegisterFieldBool::<5,1,0,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4087 }
4088
4089 #[doc = "1: Interrupts are trigger level generated, i.e. stays active at 1 till acknowledgement"]
4090 #[inline(always)]
4091 pub fn intmode(
4092 self,
4093 ) -> crate::common::RegisterFieldBool<4, 1, 0, BleRwbleconfReg_SPEC, crate::common::R> {
4094 crate::common::RegisterFieldBool::<4,1,0,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4095 }
4096
4097 #[doc = "1: WLAN Coexistence mechanism present"]
4098 #[inline(always)]
4099 pub fn coex(
4100 self,
4101 ) -> crate::common::RegisterFieldBool<3, 1, 0, BleRwbleconfReg_SPEC, crate::common::R> {
4102 crate::common::RegisterFieldBool::<3,1,0,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4103 }
4104
4105 #[doc = "1: Diagnostic port instantiated"]
4106 #[inline(always)]
4107 pub fn usedbg(
4108 self,
4109 ) -> crate::common::RegisterFieldBool<2, 1, 0, BleRwbleconfReg_SPEC, crate::common::R> {
4110 crate::common::RegisterFieldBool::<2,1,0,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4111 }
4112
4113 #[doc = "1: AES-CCM Encryption block present"]
4114 #[inline(always)]
4115 pub fn usecrypt(
4116 self,
4117 ) -> crate::common::RegisterFieldBool<1, 1, 0, BleRwbleconfReg_SPEC, crate::common::R> {
4118 crate::common::RegisterFieldBool::<1,1,0,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4119 }
4120
4121 #[doc = "Processor bus width:\n1: 32 bits"]
4122 #[inline(always)]
4123 pub fn buswidth(
4124 self,
4125 ) -> crate::common::RegisterFieldBool<0, 1, 0, BleRwbleconfReg_SPEC, crate::common::R> {
4126 crate::common::RegisterFieldBool::<0,1,0,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4127 }
4128}
4129impl ::core::default::Default for BleRwbleconfReg {
4130 #[inline(always)]
4131 fn default() -> BleRwbleconfReg {
4132 <crate::RegValueT<BleRwbleconfReg_SPEC> as RegisterValue<_>>::new(268566559)
4133 }
4134}
4135
4136#[doc(hidden)]
4137#[derive(Copy, Clone, Eq, PartialEq)]
4138pub struct BleRxmicvalReg_SPEC;
4139impl crate::sealed::RegSpec for BleRxmicvalReg_SPEC {
4140 type DataType = u32;
4141}
4142
4143#[doc = "AES / CCM plain MIC value"]
4144pub type BleRxmicvalReg = crate::RegValueT<BleRxmicvalReg_SPEC>;
4145
4146impl BleRxmicvalReg {
4147 #[doc = "AES-CCM plain MIC value. Valid on once MIC has been extracted from Rx packet."]
4148 #[inline(always)]
4149 pub fn rxmicval(
4150 self,
4151 ) -> crate::common::RegisterField<
4152 0,
4153 0xffffffff,
4154 1,
4155 0,
4156 u32,
4157 u32,
4158 BleRxmicvalReg_SPEC,
4159 crate::common::R,
4160 > {
4161 crate::common::RegisterField::<
4162 0,
4163 0xffffffff,
4164 1,
4165 0,
4166 u32,
4167 u32,
4168 BleRxmicvalReg_SPEC,
4169 crate::common::R,
4170 >::from_register(self, 0)
4171 }
4172}
4173impl ::core::default::Default for BleRxmicvalReg {
4174 #[inline(always)]
4175 fn default() -> BleRxmicvalReg {
4176 <crate::RegValueT<BleRxmicvalReg_SPEC> as RegisterValue<_>>::new(0)
4177 }
4178}
4179
4180#[doc(hidden)]
4181#[derive(Copy, Clone, Eq, PartialEq)]
4182pub struct BleSampleclkReg_SPEC;
4183impl crate::sealed::RegSpec for BleSampleclkReg_SPEC {
4184 type DataType = u32;
4185}
4186
4187#[doc = "Samples the Base Time Counter"]
4188pub type BleSampleclkReg = crate::RegValueT<BleSampleclkReg_SPEC>;
4189
4190impl BleSampleclkReg {
4191 #[doc = "Writing a 1 samples the Base Time Counter value in BASETIMECNT register. Resets at 0 when action is performed."]
4192 #[inline(always)]
4193 pub fn samp(
4194 self,
4195 ) -> crate::common::RegisterFieldBool<0, 1, 0, BleSampleclkReg_SPEC, crate::common::W> {
4196 crate::common::RegisterFieldBool::<0,1,0,BleSampleclkReg_SPEC,crate::common::W>::from_register(self,0)
4197 }
4198}
4199impl ::core::default::Default for BleSampleclkReg {
4200 #[inline(always)]
4201 fn default() -> BleSampleclkReg {
4202 <crate::RegValueT<BleSampleclkReg_SPEC> as RegisterValue<_>>::new(0)
4203 }
4204}
4205
4206#[doc(hidden)]
4207#[derive(Copy, Clone, Eq, PartialEq)]
4208pub struct BleSwprofilingReg_SPEC;
4209impl crate::sealed::RegSpec for BleSwprofilingReg_SPEC {
4210 type DataType = u32;
4211}
4212
4213#[doc = "Software Profiling register"]
4214pub type BleSwprofilingReg = crate::RegValueT<BleSwprofilingReg_SPEC>;
4215
4216impl BleSwprofilingReg {
4217 #[doc = "Software Profiling register: used by RW-BLE Software for profiling purpose: this value is copied on Diagnostic port"]
4218 #[inline(always)]
4219 pub fn swprofval(
4220 self,
4221 ) -> crate::common::RegisterField<
4222 0,
4223 0xffffffff,
4224 1,
4225 0,
4226 u32,
4227 u32,
4228 BleSwprofilingReg_SPEC,
4229 crate::common::RW,
4230 > {
4231 crate::common::RegisterField::<
4232 0,
4233 0xffffffff,
4234 1,
4235 0,
4236 u32,
4237 u32,
4238 BleSwprofilingReg_SPEC,
4239 crate::common::RW,
4240 >::from_register(self, 0)
4241 }
4242}
4243impl ::core::default::Default for BleSwprofilingReg {
4244 #[inline(always)]
4245 fn default() -> BleSwprofilingReg {
4246 <crate::RegValueT<BleSwprofilingReg_SPEC> as RegisterValue<_>>::new(0)
4247 }
4248}
4249
4250#[doc(hidden)]
4251#[derive(Copy, Clone, Eq, PartialEq)]
4252pub struct BleTimgencntlReg_SPEC;
4253impl crate::sealed::RegSpec for BleTimgencntlReg_SPEC {
4254 type DataType = u32;
4255}
4256
4257#[doc = "Timing Generator Register"]
4258pub type BleTimgencntlReg = crate::RegValueT<BleTimgencntlReg_SPEC>;
4259
4260impl BleTimgencntlReg {
4261 #[doc = "Controls the Anticipated pre-Fetch Abort mechanism\n0: Disabled\n1: Enabled"]
4262 #[inline(always)]
4263 pub fn apfm_en(
4264 self,
4265 ) -> crate::common::RegisterFieldBool<31, 1, 0, BleTimgencntlReg_SPEC, crate::common::RW> {
4266 crate::common::RegisterFieldBool::<31,1,0,BleTimgencntlReg_SPEC,crate::common::RW>::from_register(self,0)
4267 }
4268
4269 #[doc = "Defines the instant in s at which immediate abort is required after anticipated pre-fetch abort"]
4270 #[inline(always)]
4271 pub fn prefetchabort_time(
4272 self,
4273 ) -> crate::common::RegisterField<
4274 16,
4275 0x3ff,
4276 1,
4277 0,
4278 u16,
4279 u16,
4280 BleTimgencntlReg_SPEC,
4281 crate::common::RW,
4282 > {
4283 crate::common::RegisterField::<
4284 16,
4285 0x3ff,
4286 1,
4287 0,
4288 u16,
4289 u16,
4290 BleTimgencntlReg_SPEC,
4291 crate::common::RW,
4292 >::from_register(self, 0)
4293 }
4294
4295 #[doc = "Defines Exchange Table pre-fetch instant in us"]
4296 #[inline(always)]
4297 pub fn prefetch_time(
4298 self,
4299 ) -> crate::common::RegisterField<
4300 0,
4301 0x1ff,
4302 1,
4303 0,
4304 u16,
4305 u16,
4306 BleTimgencntlReg_SPEC,
4307 crate::common::RW,
4308 > {
4309 crate::common::RegisterField::<
4310 0,
4311 0x1ff,
4312 1,
4313 0,
4314 u16,
4315 u16,
4316 BleTimgencntlReg_SPEC,
4317 crate::common::RW,
4318 >::from_register(self, 0)
4319 }
4320}
4321impl ::core::default::Default for BleTimgencntlReg {
4322 #[inline(always)]
4323 fn default() -> BleTimgencntlReg {
4324 <crate::RegValueT<BleTimgencntlReg_SPEC> as RegisterValue<_>>::new(2147483647)
4325 }
4326}
4327
4328#[doc(hidden)]
4329#[derive(Copy, Clone, Eq, PartialEq)]
4330pub struct BleTxmicvalReg_SPEC;
4331impl crate::sealed::RegSpec for BleTxmicvalReg_SPEC {
4332 type DataType = u32;
4333}
4334
4335#[doc = "AES / CCM plain MIC value"]
4336pub type BleTxmicvalReg = crate::RegValueT<BleTxmicvalReg_SPEC>;
4337
4338impl BleTxmicvalReg {
4339 #[doc = "AES-CCM plain MIC value. Valid on when MIC has been calculated (in Tx)"]
4340 #[inline(always)]
4341 pub fn txmicval(
4342 self,
4343 ) -> crate::common::RegisterField<
4344 0,
4345 0xffffffff,
4346 1,
4347 0,
4348 u32,
4349 u32,
4350 BleTxmicvalReg_SPEC,
4351 crate::common::R,
4352 > {
4353 crate::common::RegisterField::<
4354 0,
4355 0xffffffff,
4356 1,
4357 0,
4358 u32,
4359 u32,
4360 BleTxmicvalReg_SPEC,
4361 crate::common::R,
4362 >::from_register(self, 0)
4363 }
4364}
4365impl ::core::default::Default for BleTxmicvalReg {
4366 #[inline(always)]
4367 fn default() -> BleTxmicvalReg {
4368 <crate::RegValueT<BleTxmicvalReg_SPEC> as RegisterValue<_>>::new(0)
4369 }
4370}
4371
4372#[doc(hidden)]
4373#[derive(Copy, Clone, Eq, PartialEq)]
4374pub struct BleVersionReg_SPEC;
4375impl crate::sealed::RegSpec for BleVersionReg_SPEC {
4376 type DataType = u32;
4377}
4378
4379#[doc = "Version register"]
4380pub type BleVersionReg = crate::RegValueT<BleVersionReg_SPEC>;
4381
4382impl BleVersionReg {
4383 #[doc = "BLE Core Type"]
4384 #[inline(always)]
4385 pub fn typ(
4386 self,
4387 ) -> crate::common::RegisterField<24, 0xff, 1, 0, u8, u8, BleVersionReg_SPEC, crate::common::R>
4388 {
4389 crate::common::RegisterField::<24,0xff,1,0,u8,u8,BleVersionReg_SPEC,crate::common::R>::from_register(self,0)
4390 }
4391
4392 #[doc = "BLE Core version Major release number."]
4393 #[inline(always)]
4394 pub fn rel(
4395 self,
4396 ) -> crate::common::RegisterField<16, 0xff, 1, 0, u8, u8, BleVersionReg_SPEC, crate::common::R>
4397 {
4398 crate::common::RegisterField::<16,0xff,1,0,u8,u8,BleVersionReg_SPEC,crate::common::R>::from_register(self,0)
4399 }
4400
4401 #[doc = "BLE Core upgrade Upgrade number."]
4402 #[inline(always)]
4403 pub fn upg(
4404 self,
4405 ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, BleVersionReg_SPEC, crate::common::R>
4406 {
4407 crate::common::RegisterField::<8,0xff,1,0,u8,u8,BleVersionReg_SPEC,crate::common::R>::from_register(self,0)
4408 }
4409
4410 #[doc = "BLE Core Build Build number."]
4411 #[inline(always)]
4412 pub fn build(
4413 self,
4414 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, BleVersionReg_SPEC, crate::common::R>
4415 {
4416 crate::common::RegisterField::<0,0xff,1,0,u8,u8,BleVersionReg_SPEC,crate::common::R>::from_register(self,0)
4417 }
4418}
4419impl ::core::default::Default for BleVersionReg {
4420 #[inline(always)]
4421 fn default() -> BleVersionReg {
4422 <crate::RegValueT<BleVersionReg_SPEC> as RegisterValue<_>>::new(117506048)
4423 }
4424}
4425
4426#[doc(hidden)]
4427#[derive(Copy, Clone, Eq, PartialEq)]
4428pub struct BleWlnbdevReg_SPEC;
4429impl crate::sealed::RegSpec for BleWlnbdevReg_SPEC {
4430 type DataType = u32;
4431}
4432
4433#[doc = "Devices in white list"]
4434pub type BleWlnbdevReg = crate::RegValueT<BleWlnbdevReg_SPEC>;
4435
4436impl BleWlnbdevReg {
4437 #[doc = "Number of private devices in the white list."]
4438 #[inline(always)]
4439 pub fn nbprivdev(
4440 self,
4441 ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, BleWlnbdevReg_SPEC, crate::common::RW>
4442 {
4443 crate::common::RegisterField::<8,0xff,1,0,u8,u8,BleWlnbdevReg_SPEC,crate::common::RW>::from_register(self,0)
4444 }
4445
4446 #[doc = "Number of public devices in the white list."]
4447 #[inline(always)]
4448 pub fn nbpubdev(
4449 self,
4450 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, BleWlnbdevReg_SPEC, crate::common::RW>
4451 {
4452 crate::common::RegisterField::<0,0xff,1,0,u8,u8,BleWlnbdevReg_SPEC,crate::common::RW>::from_register(self,0)
4453 }
4454}
4455impl ::core::default::Default for BleWlnbdevReg {
4456 #[inline(always)]
4457 fn default() -> BleWlnbdevReg {
4458 <crate::RegValueT<BleWlnbdevReg_SPEC> as RegisterValue<_>>::new(0)
4459 }
4460}
4461
4462#[doc(hidden)]
4463#[derive(Copy, Clone, Eq, PartialEq)]
4464pub struct BleWlprivaddptrReg_SPEC;
4465impl crate::sealed::RegSpec for BleWlprivaddptrReg_SPEC {
4466 type DataType = u32;
4467}
4468
4469#[doc = "Start address of private devices list"]
4470pub type BleWlprivaddptrReg = crate::RegValueT<BleWlprivaddptrReg_SPEC>;
4471
4472impl BleWlprivaddptrReg {
4473 #[doc = "Start address pointer of the private devices white list."]
4474 #[inline(always)]
4475 pub fn wlprivaddptr(
4476 self,
4477 ) -> crate::common::RegisterField<
4478 0,
4479 0xffff,
4480 1,
4481 0,
4482 u16,
4483 u16,
4484 BleWlprivaddptrReg_SPEC,
4485 crate::common::RW,
4486 > {
4487 crate::common::RegisterField::<
4488 0,
4489 0xffff,
4490 1,
4491 0,
4492 u16,
4493 u16,
4494 BleWlprivaddptrReg_SPEC,
4495 crate::common::RW,
4496 >::from_register(self, 0)
4497 }
4498}
4499impl ::core::default::Default for BleWlprivaddptrReg {
4500 #[inline(always)]
4501 fn default() -> BleWlprivaddptrReg {
4502 <crate::RegValueT<BleWlprivaddptrReg_SPEC> as RegisterValue<_>>::new(0)
4503 }
4504}
4505
4506#[doc(hidden)]
4507#[derive(Copy, Clone, Eq, PartialEq)]
4508pub struct BleWlpubaddptrReg_SPEC;
4509impl crate::sealed::RegSpec for BleWlpubaddptrReg_SPEC {
4510 type DataType = u32;
4511}
4512
4513#[doc = "Start address of public devices list"]
4514pub type BleWlpubaddptrReg = crate::RegValueT<BleWlpubaddptrReg_SPEC>;
4515
4516impl BleWlpubaddptrReg {
4517 #[doc = "Start address pointer of the public devices white list."]
4518 #[inline(always)]
4519 pub fn wlpubaddptr(
4520 self,
4521 ) -> crate::common::RegisterField<
4522 0,
4523 0xffff,
4524 1,
4525 0,
4526 u16,
4527 u16,
4528 BleWlpubaddptrReg_SPEC,
4529 crate::common::RW,
4530 > {
4531 crate::common::RegisterField::<
4532 0,
4533 0xffff,
4534 1,
4535 0,
4536 u16,
4537 u16,
4538 BleWlpubaddptrReg_SPEC,
4539 crate::common::RW,
4540 >::from_register(self, 0)
4541 }
4542}
4543impl ::core::default::Default for BleWlpubaddptrReg {
4544 #[inline(always)]
4545 fn default() -> BleWlpubaddptrReg {
4546 <crate::RegValueT<BleWlpubaddptrReg_SPEC> as RegisterValue<_>>::new(0)
4547 }
4548}