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 #[inline(always)]
1425 pub fn ble_phy_err_msk_n(
1426 self,
1427 ) -> crate::common::RegisterFieldBool<24, 1, 0, BleCntl2Reg_SPEC, crate::common::RW> {
1428 crate::common::RegisterFieldBool::<24,1,0,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1429 }
1430
1431 #[doc = "When cleared to \"0\" then it masks the BLE_ARP_ERR_STAT in order to not trigger a BLE_ERROR_IRQ."]
1432 #[inline(always)]
1433 pub fn ble_arp_err_msk_n(
1434 self,
1435 ) -> crate::common::RegisterFieldBool<23, 1, 0, BleCntl2Reg_SPEC, crate::common::RW> {
1436 crate::common::RegisterFieldBool::<23,1,0,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1437 }
1438
1439 #[doc = "When set to \"1\" then an error occured in BLE ARP sub-block and the BLE_GEN_IRQ will be aserted.\nIt will be set if the ARP_ERROR or PHY_ERROR will be asserted and if the BLE_ARP_ERR_MSK is set to \"1\".\nWriting the value \"1\" will acknowledge and clear this field."]
1440 #[inline(always)]
1441 pub fn ble_arp_phy_err_stat(
1442 self,
1443 ) -> crate::common::RegisterFieldBool<22, 1, 0, BleCntl2Reg_SPEC, crate::common::RW> {
1444 crate::common::RegisterFieldBool::<22,1,0,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1445 }
1446
1447 #[doc = "0: (default) Select Peak-hold RSSI value during the SYNC_FOUND event:\nCS->RXRSSI\\[7:0\\] = RF_RSSI_RESULT_REG->RSSI_LATCHED_RD\\[9:2\\].\n1: Select the Average RSSI value during the SYNC_FOUND event:\nCS->RXRSSI\\[7:0\\] = RF_RSSI_RESULT_REG->RSSI_AVG_RD\\[9:2\\]."]
1448 #[inline(always)]
1449 pub fn ble_rssi_sel(
1450 self,
1451 ) -> crate::common::RegisterFieldBool<21, 1, 0, BleCntl2Reg_SPEC, crate::common::RW> {
1452 crate::common::RegisterFieldBool::<21,1,0,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1453 }
1454
1455 #[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."]
1456 #[inline(always)]
1457 pub fn wakeuplpstat(
1458 self,
1459 ) -> crate::common::RegisterFieldBool<20, 1, 0, BleCntl2Reg_SPEC, crate::common::R> {
1460 crate::common::RegisterFieldBool::<20,1,0,BleCntl2Reg_SPEC,crate::common::R>::from_register(self,0)
1461 }
1462
1463 #[doc = "Keep to 0."]
1464 #[inline(always)]
1465 pub fn sw_rpl_spi(
1466 self,
1467 ) -> crate::common::RegisterFieldBool<19, 1, 0, BleCntl2Reg_SPEC, crate::common::RW> {
1468 crate::common::RegisterFieldBool::<19,1,0,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1469 }
1470
1471 #[doc = "Keep to 0."]
1472 #[inline(always)]
1473 pub fn bb_only(
1474 self,
1475 ) -> crate::common::RegisterFieldBool<18, 1, 0, BleCntl2Reg_SPEC, crate::common::RW> {
1476 crate::common::RegisterFieldBool::<18,1,0,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1477 }
1478
1479 #[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."]
1480 #[inline(always)]
1481 pub fn ble_pti_source_sel(
1482 self,
1483 ) -> crate::common::RegisterFieldBool<17, 1, 0, BleCntl2Reg_SPEC, crate::common::RW> {
1484 crate::common::RegisterFieldBool::<17,1,0,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1485 }
1486
1487 #[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_RWBLECNTL_REG\\[RWBLE_EN\\] to 1.\nRefer also to BLE_RWBLECONF_REG\\[CLK_SEL\\]."]
1488 #[inline(always)]
1489 pub fn ble_clk_sel(
1490 self,
1491 ) -> crate::common::RegisterField<9, 0x3f, 1, 0, u8, u8, BleCntl2Reg_SPEC, crate::common::RW>
1492 {
1493 crate::common::RegisterField::<9,0x3f,1,0,u8,u8,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1494 }
1495
1496 #[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."]
1497 #[inline(always)]
1498 pub fn radio_pwrdn_allow(
1499 self,
1500 ) -> crate::common::RegisterFieldBool<8, 1, 0, BleCntl2Reg_SPEC, crate::common::R> {
1501 crate::common::RegisterFieldBool::<8,1,0,BleCntl2Reg_SPEC,crate::common::R>::from_register(self,0)
1502 }
1503
1504 #[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."]
1505 #[inline(always)]
1506 pub fn mon_lp_clk(
1507 self,
1508 ) -> crate::common::RegisterFieldBool<7, 1, 0, BleCntl2Reg_SPEC, crate::common::R> {
1509 crate::common::RegisterFieldBool::<7,1,0,BleCntl2Reg_SPEC,crate::common::R>::from_register(self,0)
1510 }
1511
1512 #[doc = "0: BLE uses low power clock\n1: BLE uses master clock"]
1513 #[inline(always)]
1514 pub fn ble_clk_stat(
1515 self,
1516 ) -> crate::common::RegisterFieldBool<6, 1, 0, BleCntl2Reg_SPEC, crate::common::R> {
1517 crate::common::RegisterFieldBool::<6,1,0,BleCntl2Reg_SPEC,crate::common::R>::from_register(self,0)
1518 }
1519
1520 #[doc = "1: Overrule BLE_DIAG.\n0: BLE_DIAG is not overruled."]
1521 #[inline(always)]
1522 pub fn ble_diag_ovr(
1523 self,
1524 ) -> crate::common::RegisterFieldBool<3, 1, 0, BleCntl2Reg_SPEC, crate::common::RW> {
1525 crate::common::RegisterFieldBool::<3,1,0,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1526 }
1527
1528 #[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\"."]
1529 #[inline(always)]
1530 pub fn emaccerrmsk(
1531 self,
1532 ) -> crate::common::RegisterFieldBool<2, 1, 0, BleCntl2Reg_SPEC, crate::common::RW> {
1533 crate::common::RegisterFieldBool::<2,1,0,BleCntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
1534 }
1535
1536 #[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\"."]
1537 #[inline(always)]
1538 pub fn emaccerrack(
1539 self,
1540 ) -> crate::common::RegisterFieldBool<1, 1, 0, BleCntl2Reg_SPEC, crate::common::W> {
1541 crate::common::RegisterFieldBool::<1,1,0,BleCntl2Reg_SPEC,crate::common::W>::from_register(self,0)
1542 }
1543
1544 #[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\"."]
1545 #[inline(always)]
1546 pub fn emaccerrstat(
1547 self,
1548 ) -> crate::common::RegisterFieldBool<0, 1, 0, BleCntl2Reg_SPEC, crate::common::R> {
1549 crate::common::RegisterFieldBool::<0,1,0,BleCntl2Reg_SPEC,crate::common::R>::from_register(self,0)
1550 }
1551}
1552impl ::core::default::Default for BleCntl2Reg {
1553 #[inline(always)]
1554 fn default() -> BleCntl2Reg {
1555 <crate::RegValueT<BleCntl2Reg_SPEC> as RegisterValue<_>>::new(4)
1556 }
1557}
1558
1559#[doc(hidden)]
1560#[derive(Copy, Clone, Eq, PartialEq)]
1561pub struct BleCoexifcntl0Reg_SPEC;
1562impl crate::sealed::RegSpec for BleCoexifcntl0Reg_SPEC {
1563 type DataType = u32;
1564}
1565
1566#[doc = "Coexistence interface Control 0 Register"]
1567pub type BleCoexifcntl0Reg = crate::RegValueT<BleCoexifcntl0Reg_SPEC>;
1568
1569impl BleCoexifcntl0Reg {
1570 #[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"]
1571 #[inline(always)]
1572 pub fn wlcrxpriomode(
1573 self,
1574 ) -> crate::common::RegisterField<
1575 20,
1576 0x3,
1577 1,
1578 0,
1579 u8,
1580 u8,
1581 BleCoexifcntl0Reg_SPEC,
1582 crate::common::RW,
1583 > {
1584 crate::common::RegisterField::<
1585 20,
1586 0x3,
1587 1,
1588 0,
1589 u8,
1590 u8,
1591 BleCoexifcntl0Reg_SPEC,
1592 crate::common::RW,
1593 >::from_register(self, 0)
1594 }
1595
1596 #[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"]
1597 #[inline(always)]
1598 pub fn wlctxpriomode(
1599 self,
1600 ) -> crate::common::RegisterField<
1601 16,
1602 0x3,
1603 1,
1604 0,
1605 u8,
1606 u8,
1607 BleCoexifcntl0Reg_SPEC,
1608 crate::common::RW,
1609 > {
1610 crate::common::RegisterField::<
1611 16,
1612 0x3,
1613 1,
1614 0,
1615 u8,
1616 u8,
1617 BleCoexifcntl0Reg_SPEC,
1618 crate::common::RW,
1619 >::from_register(self, 0)
1620 }
1621
1622 #[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"]
1623 #[inline(always)]
1624 pub fn wlantxmsk(
1625 self,
1626 ) -> crate::common::RegisterField<6, 0x3, 1, 0, u8, u8, BleCoexifcntl0Reg_SPEC, crate::common::RW>
1627 {
1628 crate::common::RegisterField::<
1629 6,
1630 0x3,
1631 1,
1632 0,
1633 u8,
1634 u8,
1635 BleCoexifcntl0Reg_SPEC,
1636 crate::common::RW,
1637 >::from_register(self, 0)
1638 }
1639
1640 #[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"]
1641 #[inline(always)]
1642 pub fn wlanrxmsk(
1643 self,
1644 ) -> crate::common::RegisterField<4, 0x3, 1, 0, u8, u8, BleCoexifcntl0Reg_SPEC, crate::common::RW>
1645 {
1646 crate::common::RegisterField::<
1647 4,
1648 0x3,
1649 1,
1650 0,
1651 u8,
1652 u8,
1653 BleCoexifcntl0Reg_SPEC,
1654 crate::common::RW,
1655 >::from_register(self, 0)
1656 }
1657
1658 #[doc = "Determines whether ble_sync is generated or not.\n0: ble_sync pulse not generated\n1: ble_sync pulse generated"]
1659 #[inline(always)]
1660 pub fn syncgen_en(
1661 self,
1662 ) -> crate::common::RegisterFieldBool<1, 1, 0, BleCoexifcntl0Reg_SPEC, crate::common::RW> {
1663 crate::common::RegisterFieldBool::<1,1,0,BleCoexifcntl0Reg_SPEC,crate::common::RW>::from_register(self,0)
1664 }
1665
1666 #[doc = "Enable / Disable control of the MWS/WLAN Coexistence control\n0: Coexistence interface disabled\n1: Coexistence interface enabled"]
1667 #[inline(always)]
1668 pub fn coex_en(
1669 self,
1670 ) -> crate::common::RegisterFieldBool<0, 1, 0, BleCoexifcntl0Reg_SPEC, crate::common::RW> {
1671 crate::common::RegisterFieldBool::<0,1,0,BleCoexifcntl0Reg_SPEC,crate::common::RW>::from_register(self,0)
1672 }
1673}
1674impl ::core::default::Default for BleCoexifcntl0Reg {
1675 #[inline(always)]
1676 fn default() -> BleCoexifcntl0Reg {
1677 <crate::RegValueT<BleCoexifcntl0Reg_SPEC> as RegisterValue<_>>::new(16)
1678 }
1679}
1680
1681#[doc(hidden)]
1682#[derive(Copy, Clone, Eq, PartialEq)]
1683pub struct BleCoexifcntl1Reg_SPEC;
1684impl crate::sealed::RegSpec for BleCoexifcntl1Reg_SPEC {
1685 type DataType = u32;
1686}
1687
1688#[doc = "Coexistence interface Control 1 Register"]
1689pub type BleCoexifcntl1Reg = crate::RegValueT<BleCoexifcntl1Reg_SPEC>;
1690
1691impl BleCoexifcntl1Reg {
1692 #[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"]
1693 #[inline(always)]
1694 pub fn wlcprxthr(
1695 self,
1696 ) -> crate::common::RegisterField<
1697 24,
1698 0x1f,
1699 1,
1700 0,
1701 u8,
1702 u8,
1703 BleCoexifcntl1Reg_SPEC,
1704 crate::common::RW,
1705 > {
1706 crate::common::RegisterField::<
1707 24,
1708 0x1f,
1709 1,
1710 0,
1711 u8,
1712 u8,
1713 BleCoexifcntl1Reg_SPEC,
1714 crate::common::RW,
1715 >::from_register(self, 0)
1716 }
1717
1718 #[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"]
1719 #[inline(always)]
1720 pub fn wlcptxthr(
1721 self,
1722 ) -> crate::common::RegisterField<
1723 16,
1724 0x1f,
1725 1,
1726 0,
1727 u8,
1728 u8,
1729 BleCoexifcntl1Reg_SPEC,
1730 crate::common::RW,
1731 > {
1732 crate::common::RegisterField::<
1733 16,
1734 0x1f,
1735 1,
1736 0,
1737 u8,
1738 u8,
1739 BleCoexifcntl1Reg_SPEC,
1740 crate::common::RW,
1741 >::from_register(self, 0)
1742 }
1743
1744 #[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."]
1745 #[inline(always)]
1746 pub fn wlcpduration(
1747 self,
1748 ) -> crate::common::RegisterField<
1749 8,
1750 0x7f,
1751 1,
1752 0,
1753 u8,
1754 u8,
1755 BleCoexifcntl1Reg_SPEC,
1756 crate::common::RW,
1757 > {
1758 crate::common::RegisterField::<
1759 8,
1760 0x7f,
1761 1,
1762 0,
1763 u8,
1764 u8,
1765 BleCoexifcntl1Reg_SPEC,
1766 crate::common::RW,
1767 >::from_register(self, 0)
1768 }
1769
1770 #[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 ."]
1771 #[inline(always)]
1772 pub fn wlcpdelay(
1773 self,
1774 ) -> crate::common::RegisterField<
1775 0,
1776 0x7f,
1777 1,
1778 0,
1779 u8,
1780 u8,
1781 BleCoexifcntl1Reg_SPEC,
1782 crate::common::RW,
1783 > {
1784 crate::common::RegisterField::<
1785 0,
1786 0x7f,
1787 1,
1788 0,
1789 u8,
1790 u8,
1791 BleCoexifcntl1Reg_SPEC,
1792 crate::common::RW,
1793 >::from_register(self, 0)
1794 }
1795}
1796impl ::core::default::Default for BleCoexifcntl1Reg {
1797 #[inline(always)]
1798 fn default() -> BleCoexifcntl1Reg {
1799 <crate::RegValueT<BleCoexifcntl1Reg_SPEC> as RegisterValue<_>>::new(0)
1800 }
1801}
1802
1803#[doc(hidden)]
1804#[derive(Copy, Clone, Eq, PartialEq)]
1805pub struct BleCurrentrxdescptrReg_SPEC;
1806impl crate::sealed::RegSpec for BleCurrentrxdescptrReg_SPEC {
1807 type DataType = u32;
1808}
1809
1810#[doc = "Rx Descriptor Pointer for the Receive Buffer Chained List"]
1811pub type BleCurrentrxdescptrReg = crate::RegValueT<BleCurrentrxdescptrReg_SPEC>;
1812
1813impl BleCurrentrxdescptrReg {
1814 #[doc = "Exchange Table Pointer that determines the starting point of the Exchange Table"]
1815 #[inline(always)]
1816 pub fn etptr(
1817 self,
1818 ) -> crate::common::RegisterField<
1819 16,
1820 0xffff,
1821 1,
1822 0,
1823 u16,
1824 u16,
1825 BleCurrentrxdescptrReg_SPEC,
1826 crate::common::RW,
1827 > {
1828 crate::common::RegisterField::<
1829 16,
1830 0xffff,
1831 1,
1832 0,
1833 u16,
1834 u16,
1835 BleCurrentrxdescptrReg_SPEC,
1836 crate::common::RW,
1837 >::from_register(self, 0)
1838 }
1839
1840 #[doc = "Rx Descriptor Pointer that determines the starting point of the Receive Buffer Chained List"]
1841 #[inline(always)]
1842 pub fn currentrxdescptr(
1843 self,
1844 ) -> crate::common::RegisterField<
1845 0,
1846 0x7fff,
1847 1,
1848 0,
1849 u16,
1850 u16,
1851 BleCurrentrxdescptrReg_SPEC,
1852 crate::common::RW,
1853 > {
1854 crate::common::RegisterField::<
1855 0,
1856 0x7fff,
1857 1,
1858 0,
1859 u16,
1860 u16,
1861 BleCurrentrxdescptrReg_SPEC,
1862 crate::common::RW,
1863 >::from_register(self, 0)
1864 }
1865}
1866impl ::core::default::Default for BleCurrentrxdescptrReg {
1867 #[inline(always)]
1868 fn default() -> BleCurrentrxdescptrReg {
1869 <crate::RegValueT<BleCurrentrxdescptrReg_SPEC> as RegisterValue<_>>::new(0)
1870 }
1871}
1872
1873#[doc(hidden)]
1874#[derive(Copy, Clone, Eq, PartialEq)]
1875pub struct BleDebugaddmaxReg_SPEC;
1876impl crate::sealed::RegSpec for BleDebugaddmaxReg_SPEC {
1877 type DataType = u32;
1878}
1879
1880#[doc = "Upper limit for the memory zone"]
1881pub type BleDebugaddmaxReg = crate::RegValueT<BleDebugaddmaxReg_SPEC>;
1882
1883impl BleDebugaddmaxReg {
1884 #[doc = "Upper limit for the Register zone indicated by the reg_inzone flag"]
1885 #[inline(always)]
1886 pub fn reg_addmax(
1887 self,
1888 ) -> crate::common::RegisterField<
1889 16,
1890 0xffff,
1891 1,
1892 0,
1893 u16,
1894 u16,
1895 BleDebugaddmaxReg_SPEC,
1896 crate::common::RW,
1897 > {
1898 crate::common::RegisterField::<
1899 16,
1900 0xffff,
1901 1,
1902 0,
1903 u16,
1904 u16,
1905 BleDebugaddmaxReg_SPEC,
1906 crate::common::RW,
1907 >::from_register(self, 0)
1908 }
1909
1910 #[doc = "Upper limit for the Exchange Memory zone indicated by the em_inzone flag"]
1911 #[inline(always)]
1912 pub fn em_addmax(
1913 self,
1914 ) -> crate::common::RegisterField<
1915 0,
1916 0xffff,
1917 1,
1918 0,
1919 u16,
1920 u16,
1921 BleDebugaddmaxReg_SPEC,
1922 crate::common::RW,
1923 > {
1924 crate::common::RegisterField::<
1925 0,
1926 0xffff,
1927 1,
1928 0,
1929 u16,
1930 u16,
1931 BleDebugaddmaxReg_SPEC,
1932 crate::common::RW,
1933 >::from_register(self, 0)
1934 }
1935}
1936impl ::core::default::Default for BleDebugaddmaxReg {
1937 #[inline(always)]
1938 fn default() -> BleDebugaddmaxReg {
1939 <crate::RegValueT<BleDebugaddmaxReg_SPEC> as RegisterValue<_>>::new(0)
1940 }
1941}
1942
1943#[doc(hidden)]
1944#[derive(Copy, Clone, Eq, PartialEq)]
1945pub struct BleDebugaddminReg_SPEC;
1946impl crate::sealed::RegSpec for BleDebugaddminReg_SPEC {
1947 type DataType = u32;
1948}
1949
1950#[doc = "Lower limit for the memory zone"]
1951pub type BleDebugaddminReg = crate::RegValueT<BleDebugaddminReg_SPEC>;
1952
1953impl BleDebugaddminReg {
1954 #[doc = "Lower limit for the Register zone indicated by the reg_inzone flag"]
1955 #[inline(always)]
1956 pub fn reg_addmin(
1957 self,
1958 ) -> crate::common::RegisterField<
1959 16,
1960 0xffff,
1961 1,
1962 0,
1963 u16,
1964 u16,
1965 BleDebugaddminReg_SPEC,
1966 crate::common::RW,
1967 > {
1968 crate::common::RegisterField::<
1969 16,
1970 0xffff,
1971 1,
1972 0,
1973 u16,
1974 u16,
1975 BleDebugaddminReg_SPEC,
1976 crate::common::RW,
1977 >::from_register(self, 0)
1978 }
1979
1980 #[doc = "Lower limit for the Exchange Memory zone indicated by the em_inzone flag"]
1981 #[inline(always)]
1982 pub fn em_addmin(
1983 self,
1984 ) -> crate::common::RegisterField<
1985 0,
1986 0xffff,
1987 1,
1988 0,
1989 u16,
1990 u16,
1991 BleDebugaddminReg_SPEC,
1992 crate::common::RW,
1993 > {
1994 crate::common::RegisterField::<
1995 0,
1996 0xffff,
1997 1,
1998 0,
1999 u16,
2000 u16,
2001 BleDebugaddminReg_SPEC,
2002 crate::common::RW,
2003 >::from_register(self, 0)
2004 }
2005}
2006impl ::core::default::Default for BleDebugaddminReg {
2007 #[inline(always)]
2008 fn default() -> BleDebugaddminReg {
2009 <crate::RegValueT<BleDebugaddminReg_SPEC> as RegisterValue<_>>::new(0)
2010 }
2011}
2012
2013#[doc(hidden)]
2014#[derive(Copy, Clone, Eq, PartialEq)]
2015pub struct BleDeepslcntlReg_SPEC;
2016impl crate::sealed::RegSpec for BleDeepslcntlReg_SPEC {
2017 type DataType = u32;
2018}
2019
2020#[doc = "Deep-Sleep control register"]
2021pub type BleDeepslcntlReg = crate::RegValueT<BleDeepslcntlReg_SPEC>;
2022
2023impl BleDeepslcntlReg {
2024 #[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"]
2025 #[inline(always)]
2026 pub fn extwkupdsb(
2027 self,
2028 ) -> crate::common::RegisterFieldBool<31, 1, 0, BleDeepslcntlReg_SPEC, crate::common::RW> {
2029 crate::common::RegisterFieldBool::<31,1,0,BleDeepslcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2030 }
2031
2032 #[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)"]
2033 #[inline(always)]
2034 pub fn deep_sleep_stat(
2035 self,
2036 ) -> crate::common::RegisterFieldBool<15, 1, 0, BleDeepslcntlReg_SPEC, crate::common::R> {
2037 crate::common::RegisterFieldBool::<15,1,0,BleDeepslcntlReg_SPEC,crate::common::R>::from_register(self,0)
2038 }
2039
2040 #[doc = "Wake Up Request from BLE Software. Applies when system is in Deep Sleep Mode. It wakes up the BLE Core when written with a 1. Resets at 0 when action is performed. No action happens if it is written with 0."]
2041 #[inline(always)]
2042 pub fn soft_wakeup_req(
2043 self,
2044 ) -> crate::common::RegisterFieldBool<4, 1, 0, BleDeepslcntlReg_SPEC, crate::common::RW> {
2045 crate::common::RegisterFieldBool::<4,1,0,BleDeepslcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2046 }
2047
2048 #[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."]
2049 #[inline(always)]
2050 pub fn deep_sleep_corr_en(
2051 self,
2052 ) -> crate::common::RegisterFieldBool<3, 1, 0, BleDeepslcntlReg_SPEC, crate::common::W> {
2053 crate::common::RegisterFieldBool::<3,1,0,BleDeepslcntlReg_SPEC,crate::common::W>::from_register(self,0)
2054 }
2055
2056 #[doc = "0: 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."]
2057 #[inline(always)]
2058 pub fn deep_sleep_on(
2059 self,
2060 ) -> crate::common::RegisterFieldBool<2, 1, 0, BleDeepslcntlReg_SPEC, crate::common::W> {
2061 crate::common::RegisterFieldBool::<2,1,0,BleDeepslcntlReg_SPEC,crate::common::W>::from_register(self,0)
2062 }
2063
2064 #[doc = "Always set to \"3\" when DEEP_SLEEP_ON is set to \"1\".\nIt controls the generation of BLE_WAKEUP_LP_IRQ."]
2065 #[inline(always)]
2066 pub fn deep_sleep_irq_en(
2067 self,
2068 ) -> crate::common::RegisterField<0, 0x3, 1, 0, u8, u8, BleDeepslcntlReg_SPEC, crate::common::RW>
2069 {
2070 crate::common::RegisterField::<0,0x3,1,0,u8,u8,BleDeepslcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2071 }
2072}
2073impl ::core::default::Default for BleDeepslcntlReg {
2074 #[inline(always)]
2075 fn default() -> BleDeepslcntlReg {
2076 <crate::RegValueT<BleDeepslcntlReg_SPEC> as RegisterValue<_>>::new(0)
2077 }
2078}
2079
2080#[doc(hidden)]
2081#[derive(Copy, Clone, Eq, PartialEq)]
2082pub struct BleDeepslstatReg_SPEC;
2083impl crate::sealed::RegSpec for BleDeepslstatReg_SPEC {
2084 type DataType = u32;
2085}
2086
2087#[doc = "Duration of the last deep sleep phase register"]
2088pub type BleDeepslstatReg = crate::RegValueT<BleDeepslstatReg_SPEC>;
2089
2090impl BleDeepslstatReg {
2091 #[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."]
2092 #[inline(always)]
2093 pub fn deepsldur(
2094 self,
2095 ) -> crate::common::RegisterField<
2096 0,
2097 0xffffffff,
2098 1,
2099 0,
2100 u32,
2101 u32,
2102 BleDeepslstatReg_SPEC,
2103 crate::common::R,
2104 > {
2105 crate::common::RegisterField::<
2106 0,
2107 0xffffffff,
2108 1,
2109 0,
2110 u32,
2111 u32,
2112 BleDeepslstatReg_SPEC,
2113 crate::common::R,
2114 >::from_register(self, 0)
2115 }
2116}
2117impl ::core::default::Default for BleDeepslstatReg {
2118 #[inline(always)]
2119 fn default() -> BleDeepslstatReg {
2120 <crate::RegValueT<BleDeepslstatReg_SPEC> as RegisterValue<_>>::new(0)
2121 }
2122}
2123
2124#[doc(hidden)]
2125#[derive(Copy, Clone, Eq, PartialEq)]
2126pub struct BleDeepslwkupReg_SPEC;
2127impl crate::sealed::RegSpec for BleDeepslwkupReg_SPEC {
2128 type DataType = u32;
2129}
2130
2131#[doc = "Time (measured in Low Power clock cycles) in Deep Sleep Mode before waking-up the device"]
2132pub type BleDeepslwkupReg = crate::RegValueT<BleDeepslwkupReg_SPEC>;
2133
2134impl BleDeepslwkupReg {
2135 #[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"]
2136 #[inline(always)]
2137 pub fn deepsltime(
2138 self,
2139 ) -> crate::common::RegisterField<
2140 0,
2141 0xffffffff,
2142 1,
2143 0,
2144 u32,
2145 u32,
2146 BleDeepslwkupReg_SPEC,
2147 crate::common::RW,
2148 > {
2149 crate::common::RegisterField::<
2150 0,
2151 0xffffffff,
2152 1,
2153 0,
2154 u32,
2155 u32,
2156 BleDeepslwkupReg_SPEC,
2157 crate::common::RW,
2158 >::from_register(self, 0)
2159 }
2160}
2161impl ::core::default::Default for BleDeepslwkupReg {
2162 #[inline(always)]
2163 fn default() -> BleDeepslwkupReg {
2164 <crate::RegValueT<BleDeepslwkupReg_SPEC> as RegisterValue<_>>::new(0)
2165 }
2166}
2167
2168#[doc(hidden)]
2169#[derive(Copy, Clone, Eq, PartialEq)]
2170pub struct BleDiagcntl2Reg_SPEC;
2171impl crate::sealed::RegSpec for BleDiagcntl2Reg_SPEC {
2172 type DataType = u32;
2173}
2174
2175#[doc = "Debug use only"]
2176pub type BleDiagcntl2Reg = crate::RegValueT<BleDiagcntl2Reg_SPEC>;
2177
2178impl BleDiagcntl2Reg {
2179 #[doc = "0: Disable diagnostic port 0 output. All outputs are set to 0x0.\n1: Enable diagnostic port 0 output."]
2180 #[inline(always)]
2181 pub fn diag7_en(
2182 self,
2183 ) -> crate::common::RegisterFieldBool<31, 1, 0, BleDiagcntl2Reg_SPEC, crate::common::RW> {
2184 crate::common::RegisterFieldBool::<31,1,0,BleDiagcntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
2185 }
2186
2187 #[doc = "Only relevant when DIAG7_EN = 1.\nSelection of the outputs that must be driven to the diagnostic port BLE_DIAG7."]
2188 #[inline(always)]
2189 pub fn diag7(
2190 self,
2191 ) -> crate::common::RegisterField<24, 0x3f, 1, 0, u8, u8, BleDiagcntl2Reg_SPEC, crate::common::RW>
2192 {
2193 crate::common::RegisterField::<
2194 24,
2195 0x3f,
2196 1,
2197 0,
2198 u8,
2199 u8,
2200 BleDiagcntl2Reg_SPEC,
2201 crate::common::RW,
2202 >::from_register(self, 0)
2203 }
2204
2205 #[doc = "0: Disable diagnostic port 0 output. All outputs are set to 0x0.\n1: Enable diagnostic port 0 output."]
2206 #[inline(always)]
2207 pub fn diag6_en(
2208 self,
2209 ) -> crate::common::RegisterFieldBool<23, 1, 0, BleDiagcntl2Reg_SPEC, crate::common::RW> {
2210 crate::common::RegisterFieldBool::<23,1,0,BleDiagcntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
2211 }
2212
2213 #[doc = "Only relevant when DIAG6_EN = 1.\nSelection of the outputs that must be driven to the diagnostic port BLE_DIAG6."]
2214 #[inline(always)]
2215 pub fn diag6(
2216 self,
2217 ) -> crate::common::RegisterField<16, 0x3f, 1, 0, u8, u8, BleDiagcntl2Reg_SPEC, crate::common::RW>
2218 {
2219 crate::common::RegisterField::<
2220 16,
2221 0x3f,
2222 1,
2223 0,
2224 u8,
2225 u8,
2226 BleDiagcntl2Reg_SPEC,
2227 crate::common::RW,
2228 >::from_register(self, 0)
2229 }
2230
2231 #[doc = "0: Disable diagnostic port 0 output. All outputs are set to 0x0.\n1: Enable diagnostic port 0 output."]
2232 #[inline(always)]
2233 pub fn diag5_en(
2234 self,
2235 ) -> crate::common::RegisterFieldBool<15, 1, 0, BleDiagcntl2Reg_SPEC, crate::common::RW> {
2236 crate::common::RegisterFieldBool::<15,1,0,BleDiagcntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
2237 }
2238
2239 #[doc = "Only relevant when DIAG5_EN= 1.\nSelection of the outputs that must be driven to the diagnostic port BLE_DIAG5."]
2240 #[inline(always)]
2241 pub fn diag5(
2242 self,
2243 ) -> crate::common::RegisterField<8, 0x3f, 1, 0, u8, u8, BleDiagcntl2Reg_SPEC, crate::common::RW>
2244 {
2245 crate::common::RegisterField::<8,0x3f,1,0,u8,u8,BleDiagcntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
2246 }
2247
2248 #[doc = "0: Disable diagnostic port 0 output. All outputs are set to 0x0.\n1: Enable diagnostic port 0 output."]
2249 #[inline(always)]
2250 pub fn diag4_en(
2251 self,
2252 ) -> crate::common::RegisterFieldBool<7, 1, 0, BleDiagcntl2Reg_SPEC, crate::common::RW> {
2253 crate::common::RegisterFieldBool::<7,1,0,BleDiagcntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
2254 }
2255
2256 #[doc = "Only relevant when DIAG4_EN = 1.\nSelection of the outputs that must be driven to the diagnostic port BLE_DIAG4."]
2257 #[inline(always)]
2258 pub fn diag4(
2259 self,
2260 ) -> crate::common::RegisterField<0, 0x3f, 1, 0, u8, u8, BleDiagcntl2Reg_SPEC, crate::common::RW>
2261 {
2262 crate::common::RegisterField::<0,0x3f,1,0,u8,u8,BleDiagcntl2Reg_SPEC,crate::common::RW>::from_register(self,0)
2263 }
2264}
2265impl ::core::default::Default for BleDiagcntl2Reg {
2266 #[inline(always)]
2267 fn default() -> BleDiagcntl2Reg {
2268 <crate::RegValueT<BleDiagcntl2Reg_SPEC> as RegisterValue<_>>::new(0)
2269 }
2270}
2271
2272#[doc(hidden)]
2273#[derive(Copy, Clone, Eq, PartialEq)]
2274pub struct BleDiagcntl3Reg_SPEC;
2275impl crate::sealed::RegSpec for BleDiagcntl3Reg_SPEC {
2276 type DataType = u32;
2277}
2278
2279#[doc = "Debug use only"]
2280pub type BleDiagcntl3Reg = crate::RegValueT<BleDiagcntl3Reg_SPEC>;
2281
2282impl BleDiagcntl3Reg {
2283 #[doc = "If set, then the specific diagnostic bit will be inverted."]
2284 #[inline(always)]
2285 pub fn diag7_inv(
2286 self,
2287 ) -> crate::common::RegisterFieldBool<31, 1, 0, BleDiagcntl3Reg_SPEC, crate::common::RW> {
2288 crate::common::RegisterFieldBool::<31,1,0,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2289 }
2290
2291 #[doc = "Selects which bit from the DIAG7 word will be forwarded to bit 7 of the BLE DIagnostic Port."]
2292 #[inline(always)]
2293 pub fn diag7_bit(
2294 self,
2295 ) -> crate::common::RegisterField<28, 0x7, 1, 0, u8, u8, BleDiagcntl3Reg_SPEC, crate::common::RW>
2296 {
2297 crate::common::RegisterField::<28,0x7,1,0,u8,u8,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2298 }
2299
2300 #[doc = "If set, then the specific diagnostic bit will be inverted."]
2301 #[inline(always)]
2302 pub fn diag6_inv(
2303 self,
2304 ) -> crate::common::RegisterFieldBool<27, 1, 0, BleDiagcntl3Reg_SPEC, crate::common::RW> {
2305 crate::common::RegisterFieldBool::<27,1,0,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2306 }
2307
2308 #[doc = "Selects which bit from the DIAG6 word will be forwarded to bit 6 of the BLE DIagnostic Port."]
2309 #[inline(always)]
2310 pub fn diag6_bit(
2311 self,
2312 ) -> crate::common::RegisterField<24, 0x7, 1, 0, u8, u8, BleDiagcntl3Reg_SPEC, crate::common::RW>
2313 {
2314 crate::common::RegisterField::<24,0x7,1,0,u8,u8,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2315 }
2316
2317 #[doc = "If set, then the specific diagnostic bit will be inverted."]
2318 #[inline(always)]
2319 pub fn diag5_inv(
2320 self,
2321 ) -> crate::common::RegisterFieldBool<23, 1, 0, BleDiagcntl3Reg_SPEC, crate::common::RW> {
2322 crate::common::RegisterFieldBool::<23,1,0,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2323 }
2324
2325 #[doc = "Selects which bit from the DIAG5 word will be forwarded to bit 5 of the BLE DIagnostic Port."]
2326 #[inline(always)]
2327 pub fn diag5_bit(
2328 self,
2329 ) -> crate::common::RegisterField<20, 0x7, 1, 0, u8, u8, BleDiagcntl3Reg_SPEC, crate::common::RW>
2330 {
2331 crate::common::RegisterField::<20,0x7,1,0,u8,u8,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2332 }
2333
2334 #[doc = "If set, then the specific diagnostic bit will be inverted."]
2335 #[inline(always)]
2336 pub fn diag4_inv(
2337 self,
2338 ) -> crate::common::RegisterFieldBool<19, 1, 0, BleDiagcntl3Reg_SPEC, crate::common::RW> {
2339 crate::common::RegisterFieldBool::<19,1,0,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2340 }
2341
2342 #[doc = "Selects which bit from the DIAG4 word will be forwarded to bit 4 of the BLE DIagnostic Port."]
2343 #[inline(always)]
2344 pub fn diag4_bit(
2345 self,
2346 ) -> crate::common::RegisterField<16, 0x7, 1, 0, u8, u8, BleDiagcntl3Reg_SPEC, crate::common::RW>
2347 {
2348 crate::common::RegisterField::<16,0x7,1,0,u8,u8,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2349 }
2350
2351 #[doc = "If set, then the specific diagnostic bit will be inverted."]
2352 #[inline(always)]
2353 pub fn diag3_inv(
2354 self,
2355 ) -> crate::common::RegisterFieldBool<15, 1, 0, BleDiagcntl3Reg_SPEC, crate::common::RW> {
2356 crate::common::RegisterFieldBool::<15,1,0,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2357 }
2358
2359 #[doc = "Selects which bit from the DIAG3 word will be forwarded to bit 3 of the BLE DIagnostic Port."]
2360 #[inline(always)]
2361 pub fn diag3_bit(
2362 self,
2363 ) -> crate::common::RegisterField<12, 0x7, 1, 0, u8, u8, BleDiagcntl3Reg_SPEC, crate::common::RW>
2364 {
2365 crate::common::RegisterField::<12,0x7,1,0,u8,u8,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2366 }
2367
2368 #[doc = "If set, then the specific diagnostic bit will be inverted."]
2369 #[inline(always)]
2370 pub fn diag2_inv(
2371 self,
2372 ) -> crate::common::RegisterFieldBool<11, 1, 0, BleDiagcntl3Reg_SPEC, crate::common::RW> {
2373 crate::common::RegisterFieldBool::<11,1,0,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2374 }
2375
2376 #[doc = "Selects which bit from the DIAG2 word will be forwarded to bit 2 of the BLE DIagnostic Port."]
2377 #[inline(always)]
2378 pub fn diag2_bit(
2379 self,
2380 ) -> crate::common::RegisterField<8, 0x7, 1, 0, u8, u8, BleDiagcntl3Reg_SPEC, crate::common::RW>
2381 {
2382 crate::common::RegisterField::<8,0x7,1,0,u8,u8,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2383 }
2384
2385 #[doc = "If set, then the specific diagnostic bit will be inverted."]
2386 #[inline(always)]
2387 pub fn diag1_inv(
2388 self,
2389 ) -> crate::common::RegisterFieldBool<7, 1, 0, BleDiagcntl3Reg_SPEC, crate::common::RW> {
2390 crate::common::RegisterFieldBool::<7,1,0,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2391 }
2392
2393 #[doc = "Selects which bit from the DIAG1 word will be forwarded to bit 1 of the BLE DIagnostic Port."]
2394 #[inline(always)]
2395 pub fn diag1_bit(
2396 self,
2397 ) -> crate::common::RegisterField<4, 0x7, 1, 0, u8, u8, BleDiagcntl3Reg_SPEC, crate::common::RW>
2398 {
2399 crate::common::RegisterField::<4,0x7,1,0,u8,u8,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2400 }
2401
2402 #[doc = "If set, then the specific diagnostic bit will be inverted."]
2403 #[inline(always)]
2404 pub fn diag0_inv(
2405 self,
2406 ) -> crate::common::RegisterFieldBool<3, 1, 0, BleDiagcntl3Reg_SPEC, crate::common::RW> {
2407 crate::common::RegisterFieldBool::<3,1,0,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2408 }
2409
2410 #[doc = "Selects which bit from the DIAG0 word will be forwarded to bit 0 of the BLE DIagnostic Port."]
2411 #[inline(always)]
2412 pub fn diag0_bit(
2413 self,
2414 ) -> crate::common::RegisterField<0, 0x7, 1, 0, u8, u8, BleDiagcntl3Reg_SPEC, crate::common::RW>
2415 {
2416 crate::common::RegisterField::<0,0x7,1,0,u8,u8,BleDiagcntl3Reg_SPEC,crate::common::RW>::from_register(self,0)
2417 }
2418}
2419impl ::core::default::Default for BleDiagcntl3Reg {
2420 #[inline(always)]
2421 fn default() -> BleDiagcntl3Reg {
2422 <crate::RegValueT<BleDiagcntl3Reg_SPEC> as RegisterValue<_>>::new(0)
2423 }
2424}
2425
2426#[doc(hidden)]
2427#[derive(Copy, Clone, Eq, PartialEq)]
2428pub struct BleDiagcntlReg_SPEC;
2429impl crate::sealed::RegSpec for BleDiagcntlReg_SPEC {
2430 type DataType = u32;
2431}
2432
2433#[doc = "Diagnostics Register"]
2434pub type BleDiagcntlReg = crate::RegValueT<BleDiagcntlReg_SPEC>;
2435
2436impl BleDiagcntlReg {
2437 #[doc = "0: Disable diagnostic port 0 output. All outputs are set to 0x0.\n1: Enable diagnostic port 0 output."]
2438 #[inline(always)]
2439 pub fn diag3_en(
2440 self,
2441 ) -> crate::common::RegisterFieldBool<31, 1, 0, BleDiagcntlReg_SPEC, crate::common::RW> {
2442 crate::common::RegisterFieldBool::<31,1,0,BleDiagcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2443 }
2444
2445 #[doc = "Only relevant when DIAG3_EN = 1.\nSelection of the outputs that must be driven to the diagnostic port BLE_DIAG3."]
2446 #[inline(always)]
2447 pub fn diag3(
2448 self,
2449 ) -> crate::common::RegisterField<24, 0x3f, 1, 0, u8, u8, BleDiagcntlReg_SPEC, crate::common::RW>
2450 {
2451 crate::common::RegisterField::<24,0x3f,1,0,u8,u8,BleDiagcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2452 }
2453
2454 #[doc = "0: Disable diagnostic port 0 output. All outputs are set to 0x0.\n1: Enable diagnostic port 0 output."]
2455 #[inline(always)]
2456 pub fn diag2_en(
2457 self,
2458 ) -> crate::common::RegisterFieldBool<23, 1, 0, BleDiagcntlReg_SPEC, crate::common::RW> {
2459 crate::common::RegisterFieldBool::<23,1,0,BleDiagcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2460 }
2461
2462 #[doc = "Only relevant when DIAG2_EN = 1.\nSelection of the outputs that must be driven to the diagnostic port BLE_DIAG2."]
2463 #[inline(always)]
2464 pub fn diag2(
2465 self,
2466 ) -> crate::common::RegisterField<16, 0x3f, 1, 0, u8, u8, BleDiagcntlReg_SPEC, crate::common::RW>
2467 {
2468 crate::common::RegisterField::<16,0x3f,1,0,u8,u8,BleDiagcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2469 }
2470
2471 #[doc = "0: Disable diagnostic port 0 output. All outputs are set to 0x0.\n1: Enable diagnostic port 0 output."]
2472 #[inline(always)]
2473 pub fn diag1_en(
2474 self,
2475 ) -> crate::common::RegisterFieldBool<15, 1, 0, BleDiagcntlReg_SPEC, crate::common::RW> {
2476 crate::common::RegisterFieldBool::<15,1,0,BleDiagcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2477 }
2478
2479 #[doc = "Only relevant when DIAG1_EN = 1.\nSelection of the outputs that must be driven to the diagnostic port BLE_DIAG1."]
2480 #[inline(always)]
2481 pub fn diag1(
2482 self,
2483 ) -> crate::common::RegisterField<8, 0x3f, 1, 0, u8, u8, BleDiagcntlReg_SPEC, crate::common::RW>
2484 {
2485 crate::common::RegisterField::<8,0x3f,1,0,u8,u8,BleDiagcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2486 }
2487
2488 #[doc = "0: Disable diagnostic port 0 output. All outputs are set to 0x0.\n1: Enable diagnostic port 0 output."]
2489 #[inline(always)]
2490 pub fn diag0_en(
2491 self,
2492 ) -> crate::common::RegisterFieldBool<7, 1, 0, BleDiagcntlReg_SPEC, crate::common::RW> {
2493 crate::common::RegisterFieldBool::<7,1,0,BleDiagcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2494 }
2495
2496 #[doc = "Only relevant when DIAG0_EN = 1.\nSelection of the outputs that must be driven to the diagnostic port BLE_DIAG0."]
2497 #[inline(always)]
2498 pub fn diag0(
2499 self,
2500 ) -> crate::common::RegisterField<0, 0x3f, 1, 0, u8, u8, BleDiagcntlReg_SPEC, crate::common::RW>
2501 {
2502 crate::common::RegisterField::<0,0x3f,1,0,u8,u8,BleDiagcntlReg_SPEC,crate::common::RW>::from_register(self,0)
2503 }
2504}
2505impl ::core::default::Default for BleDiagcntlReg {
2506 #[inline(always)]
2507 fn default() -> BleDiagcntlReg {
2508 <crate::RegValueT<BleDiagcntlReg_SPEC> as RegisterValue<_>>::new(0)
2509 }
2510}
2511
2512#[doc(hidden)]
2513#[derive(Copy, Clone, Eq, PartialEq)]
2514pub struct BleDiagstatReg_SPEC;
2515impl crate::sealed::RegSpec for BleDiagstatReg_SPEC {
2516 type DataType = u32;
2517}
2518
2519#[doc = "Debug use only"]
2520pub type BleDiagstatReg = crate::RegValueT<BleDiagstatReg_SPEC>;
2521
2522impl BleDiagstatReg {
2523 #[doc = "Directly connected to ble_dbg3\\[7:0\\] output. Debug use only."]
2524 #[inline(always)]
2525 pub fn diag3stat(
2526 self,
2527 ) -> crate::common::RegisterField<24, 0xff, 1, 0, u8, u8, BleDiagstatReg_SPEC, crate::common::R>
2528 {
2529 crate::common::RegisterField::<24,0xff,1,0,u8,u8,BleDiagstatReg_SPEC,crate::common::R>::from_register(self,0)
2530 }
2531
2532 #[doc = "Directly connected to ble_dbg2\\[7:0\\] output. Debug use only."]
2533 #[inline(always)]
2534 pub fn diag2stat(
2535 self,
2536 ) -> crate::common::RegisterField<16, 0xff, 1, 0, u8, u8, BleDiagstatReg_SPEC, crate::common::R>
2537 {
2538 crate::common::RegisterField::<16,0xff,1,0,u8,u8,BleDiagstatReg_SPEC,crate::common::R>::from_register(self,0)
2539 }
2540
2541 #[doc = "Directly connected to ble_dbg1\\[7:0\\] output. Debug use only."]
2542 #[inline(always)]
2543 pub fn diag1stat(
2544 self,
2545 ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, BleDiagstatReg_SPEC, crate::common::R>
2546 {
2547 crate::common::RegisterField::<8,0xff,1,0,u8,u8,BleDiagstatReg_SPEC,crate::common::R>::from_register(self,0)
2548 }
2549
2550 #[doc = "Directly connected to ble_dbg0\\[7:0\\] output. Debug use only."]
2551 #[inline(always)]
2552 pub fn diag0stat(
2553 self,
2554 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, BleDiagstatReg_SPEC, crate::common::R>
2555 {
2556 crate::common::RegisterField::<0,0xff,1,0,u8,u8,BleDiagstatReg_SPEC,crate::common::R>::from_register(self,0)
2557 }
2558}
2559impl ::core::default::Default for BleDiagstatReg {
2560 #[inline(always)]
2561 fn default() -> BleDiagstatReg {
2562 <crate::RegValueT<BleDiagstatReg_SPEC> as RegisterValue<_>>::new(0)
2563 }
2564}
2565
2566#[doc(hidden)]
2567#[derive(Copy, Clone, Eq, PartialEq)]
2568pub struct BleEmBaseReg_SPEC;
2569impl crate::sealed::RegSpec for BleEmBaseReg_SPEC {
2570 type DataType = u32;
2571}
2572
2573#[doc = "Exchange Memory Base Register"]
2574pub type BleEmBaseReg = crate::RegValueT<BleEmBaseReg_SPEC>;
2575
2576impl BleEmBaseReg {
2577 #[doc = "The physical address on the system memory map of the base of the Exchange Memory."]
2578 #[inline(always)]
2579 pub fn ble_em_base_16_10(
2580 self,
2581 ) -> crate::common::RegisterField<10, 0x7f, 1, 0, u8, u8, BleEmBaseReg_SPEC, crate::common::RW>
2582 {
2583 crate::common::RegisterField::<10,0x7f,1,0,u8,u8,BleEmBaseReg_SPEC,crate::common::RW>::from_register(self,0)
2584 }
2585}
2586impl ::core::default::Default for BleEmBaseReg {
2587 #[inline(always)]
2588 fn default() -> BleEmBaseReg {
2589 <crate::RegValueT<BleEmBaseReg_SPEC> as RegisterValue<_>>::new(0)
2590 }
2591}
2592
2593#[doc(hidden)]
2594#[derive(Copy, Clone, Eq, PartialEq)]
2595pub struct BleEnbpresetReg_SPEC;
2596impl crate::sealed::RegSpec for BleEnbpresetReg_SPEC {
2597 type DataType = u32;
2598}
2599
2600#[doc = "Time in low power oscillator cycles register"]
2601pub type BleEnbpresetReg = crate::RegValueT<BleEnbpresetReg_SPEC>;
2602
2603impl BleEnbpresetReg {
2604 #[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"]
2605 #[inline(always)]
2606 pub fn twext(
2607 self,
2608 ) -> crate::common::RegisterField<
2609 21,
2610 0x7ff,
2611 1,
2612 0,
2613 u16,
2614 u16,
2615 BleEnbpresetReg_SPEC,
2616 crate::common::RW,
2617 > {
2618 crate::common::RegisterField::<
2619 21,
2620 0x7ff,
2621 1,
2622 0,
2623 u16,
2624 u16,
2625 BleEnbpresetReg_SPEC,
2626 crate::common::RW,
2627 >::from_register(self, 0)
2628 }
2629
2630 #[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"]
2631 #[inline(always)]
2632 pub fn twirq_set(
2633 self,
2634 ) -> crate::common::RegisterField<
2635 10,
2636 0x7ff,
2637 1,
2638 0,
2639 u16,
2640 u16,
2641 BleEnbpresetReg_SPEC,
2642 crate::common::RW,
2643 > {
2644 crate::common::RegisterField::<
2645 10,
2646 0x7ff,
2647 1,
2648 0,
2649 u16,
2650 u16,
2651 BleEnbpresetReg_SPEC,
2652 crate::common::RW,
2653 >::from_register(self, 0)
2654 }
2655
2656 #[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."]
2657 #[inline(always)]
2658 pub fn twirq_reset(
2659 self,
2660 ) -> crate::common::RegisterField<
2661 0,
2662 0x3ff,
2663 1,
2664 0,
2665 u16,
2666 u16,
2667 BleEnbpresetReg_SPEC,
2668 crate::common::RW,
2669 > {
2670 crate::common::RegisterField::<
2671 0,
2672 0x3ff,
2673 1,
2674 0,
2675 u16,
2676 u16,
2677 BleEnbpresetReg_SPEC,
2678 crate::common::RW,
2679 >::from_register(self, 0)
2680 }
2681}
2682impl ::core::default::Default for BleEnbpresetReg {
2683 #[inline(always)]
2684 fn default() -> BleEnbpresetReg {
2685 <crate::RegValueT<BleEnbpresetReg_SPEC> as RegisterValue<_>>::new(0)
2686 }
2687}
2688
2689#[doc(hidden)]
2690#[derive(Copy, Clone, Eq, PartialEq)]
2691pub struct BleErrortypestatReg_SPEC;
2692impl crate::sealed::RegSpec for BleErrortypestatReg_SPEC {
2693 type DataType = u32;
2694}
2695
2696#[doc = "Error Type Status registers"]
2697pub type BleErrortypestatReg = crate::RegValueT<BleErrortypestatReg_SPEC>;
2698
2699impl BleErrortypestatReg {
2700 #[doc = "Indicates whether two consecutive and concurrent ble_event_irq have been generated, and not acknowledged in time by the BLE Software.\n0: No error\n1: Error occurred"]
2701 #[inline(always)]
2702 pub fn concevtirq_error(
2703 self,
2704 ) -> crate::common::RegisterFieldBool<17, 1, 0, BleErrortypestatReg_SPEC, crate::common::R>
2705 {
2706 crate::common::RegisterFieldBool::<17,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2707 }
2708
2709 #[doc = "Indicates whether Rx data buffer pointer value programmed is null: this is a major programming failure.\n0: No error\n1: Error occurred"]
2710 #[inline(always)]
2711 pub fn rxdata_ptr_error(
2712 self,
2713 ) -> crate::common::RegisterFieldBool<16, 1, 0, BleErrortypestatReg_SPEC, crate::common::R>
2714 {
2715 crate::common::RegisterFieldBool::<16,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2716 }
2717
2718 #[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"]
2719 #[inline(always)]
2720 pub fn txdata_ptr_error(
2721 self,
2722 ) -> crate::common::RegisterFieldBool<15, 1, 0, BleErrortypestatReg_SPEC, crate::common::R>
2723 {
2724 crate::common::RegisterFieldBool::<15,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2725 }
2726
2727 #[doc = "Indicates whether Rx Descriptor pointer value programmed in register is null: this is a major programming failure.\n0: No error\n1: Error occurred"]
2728 #[inline(always)]
2729 pub fn rxdesc_empty_error(
2730 self,
2731 ) -> crate::common::RegisterFieldBool<14, 1, 0, BleErrortypestatReg_SPEC, crate::common::R>
2732 {
2733 crate::common::RegisterFieldBool::<14,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2734 }
2735
2736 #[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"]
2737 #[inline(always)]
2738 pub fn txdesc_empty_error(
2739 self,
2740 ) -> crate::common::RegisterFieldBool<13, 1, 0, BleErrortypestatReg_SPEC, crate::common::R>
2741 {
2742 crate::common::RegisterFieldBool::<13,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2743 }
2744
2745 #[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"]
2746 #[inline(always)]
2747 pub fn csformat_error(
2748 self,
2749 ) -> crate::common::RegisterFieldBool<12, 1, 0, BleErrortypestatReg_SPEC, crate::common::R>
2750 {
2751 crate::common::RegisterFieldBool::<12,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2752 }
2753
2754 #[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"]
2755 #[inline(always)]
2756 pub fn llchmap_error(
2757 self,
2758 ) -> crate::common::RegisterFieldBool<11, 1, 0, BleErrortypestatReg_SPEC, crate::common::R>
2759 {
2760 crate::common::RegisterFieldBool::<11,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2761 }
2762
2763 #[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"]
2764 #[inline(always)]
2765 pub fn adv_underrun(
2766 self,
2767 ) -> crate::common::RegisterFieldBool<10, 1, 0, BleErrortypestatReg_SPEC, crate::common::R>
2768 {
2769 crate::common::RegisterFieldBool::<10,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2770 }
2771
2772 #[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"]
2773 #[inline(always)]
2774 pub fn ifs_underrun(
2775 self,
2776 ) -> crate::common::RegisterFieldBool<9, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2777 crate::common::RegisterFieldBool::<9,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2778 }
2779
2780 #[doc = "Indicates White List Timeout error, occurs if White List parsing is not finished on time\n0: No error\n1: Error occurred"]
2781 #[inline(always)]
2782 pub fn whitelist_error(
2783 self,
2784 ) -> crate::common::RegisterFieldBool<8, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2785 crate::common::RegisterFieldBool::<8,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2786 }
2787
2788 #[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"]
2789 #[inline(always)]
2790 pub fn evt_cntl_apfm_error(
2791 self,
2792 ) -> crate::common::RegisterFieldBool<7, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2793 crate::common::RegisterFieldBool::<7,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2794 }
2795
2796 #[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"]
2797 #[inline(always)]
2798 pub fn evt_schdl_apfm_error(
2799 self,
2800 ) -> crate::common::RegisterFieldBool<6, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2801 crate::common::RegisterFieldBool::<6,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2802 }
2803
2804 #[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"]
2805 #[inline(always)]
2806 pub fn evt_schdl_entry_error(
2807 self,
2808 ) -> crate::common::RegisterFieldBool<5, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2809 crate::common::RegisterFieldBool::<5,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2810 }
2811
2812 #[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"]
2813 #[inline(always)]
2814 pub fn evt_schdl_emacc_error(
2815 self,
2816 ) -> crate::common::RegisterFieldBool<4, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2817 crate::common::RegisterFieldBool::<4,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2818 }
2819
2820 #[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"]
2821 #[inline(always)]
2822 pub fn radio_emacc_error(
2823 self,
2824 ) -> crate::common::RegisterFieldBool<3, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2825 crate::common::RegisterFieldBool::<3,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2826 }
2827
2828 #[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"]
2829 #[inline(always)]
2830 pub fn pktcntl_emacc_error(
2831 self,
2832 ) -> crate::common::RegisterFieldBool<2, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2833 crate::common::RegisterFieldBool::<2,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2834 }
2835
2836 #[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"]
2837 #[inline(always)]
2838 pub fn rxcrypt_error(
2839 self,
2840 ) -> crate::common::RegisterFieldBool<1, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2841 crate::common::RegisterFieldBool::<1,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2842 }
2843
2844 #[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"]
2845 #[inline(always)]
2846 pub fn txcrypt_error(
2847 self,
2848 ) -> crate::common::RegisterFieldBool<0, 1, 0, BleErrortypestatReg_SPEC, crate::common::R> {
2849 crate::common::RegisterFieldBool::<0,1,0,BleErrortypestatReg_SPEC,crate::common::R>::from_register(self,0)
2850 }
2851}
2852impl ::core::default::Default for BleErrortypestatReg {
2853 #[inline(always)]
2854 fn default() -> BleErrortypestatReg {
2855 <crate::RegValueT<BleErrortypestatReg_SPEC> as RegisterValue<_>>::new(0)
2856 }
2857}
2858
2859#[doc(hidden)]
2860#[derive(Copy, Clone, Eq, PartialEq)]
2861pub struct BleFinecntcorrReg_SPEC;
2862impl crate::sealed::RegSpec for BleFinecntcorrReg_SPEC {
2863 type DataType = u32;
2864}
2865
2866#[doc = "Phase correction value register"]
2867pub type BleFinecntcorrReg = crate::RegValueT<BleFinecntcorrReg_SPEC>;
2868
2869impl BleFinecntcorrReg {
2870 #[doc = "Phase correction value for the 625us reference counter (i.e. Fine Counter) in us."]
2871 #[inline(always)]
2872 pub fn finecntcorr(
2873 self,
2874 ) -> crate::common::RegisterField<
2875 0,
2876 0x3ff,
2877 1,
2878 0,
2879 u16,
2880 u16,
2881 BleFinecntcorrReg_SPEC,
2882 crate::common::RW,
2883 > {
2884 crate::common::RegisterField::<
2885 0,
2886 0x3ff,
2887 1,
2888 0,
2889 u16,
2890 u16,
2891 BleFinecntcorrReg_SPEC,
2892 crate::common::RW,
2893 >::from_register(self, 0)
2894 }
2895}
2896impl ::core::default::Default for BleFinecntcorrReg {
2897 #[inline(always)]
2898 fn default() -> BleFinecntcorrReg {
2899 <crate::RegValueT<BleFinecntcorrReg_SPEC> as RegisterValue<_>>::new(0)
2900 }
2901}
2902
2903#[doc(hidden)]
2904#[derive(Copy, Clone, Eq, PartialEq)]
2905pub struct BleFinetimecntReg_SPEC;
2906impl crate::sealed::RegSpec for BleFinetimecntReg_SPEC {
2907 type DataType = u32;
2908}
2909
2910#[doc = "Fine time reference counter"]
2911pub type BleFinetimecntReg = crate::RegValueT<BleFinetimecntReg_SPEC>;
2912
2913impl BleFinetimecntReg {
2914 #[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"]
2915 #[inline(always)]
2916 pub fn finecnt(
2917 self,
2918 ) -> crate::common::RegisterField<
2919 0,
2920 0x3ff,
2921 1,
2922 0,
2923 u16,
2924 u16,
2925 BleFinetimecntReg_SPEC,
2926 crate::common::R,
2927 > {
2928 crate::common::RegisterField::<
2929 0,
2930 0x3ff,
2931 1,
2932 0,
2933 u16,
2934 u16,
2935 BleFinetimecntReg_SPEC,
2936 crate::common::R,
2937 >::from_register(self, 0)
2938 }
2939}
2940impl ::core::default::Default for BleFinetimecntReg {
2941 #[inline(always)]
2942 fn default() -> BleFinetimecntReg {
2943 <crate::RegValueT<BleFinetimecntReg_SPEC> as RegisterValue<_>>::new(0)
2944 }
2945}
2946
2947#[doc(hidden)]
2948#[derive(Copy, Clone, Eq, PartialEq)]
2949pub struct BleFinetimtgtReg_SPEC;
2950impl crate::sealed::RegSpec for BleFinetimtgtReg_SPEC {
2951 type DataType = u32;
2952}
2953
2954#[doc = "Fine Timer Target value"]
2955pub type BleFinetimtgtReg = crate::RegValueT<BleFinetimtgtReg_SPEC>;
2956
2957impl BleFinetimtgtReg {
2958 #[doc = "Fine Timer Target value on which a ble_finetgtim_irq must be generated. This timer has a precision of 625 usec: interrupt is generated only when FINETARGET = BASETIMECNT"]
2959 #[inline(always)]
2960 pub fn finetarget(
2961 self,
2962 ) -> crate::common::RegisterField<
2963 0,
2964 0x7ffffff,
2965 1,
2966 0,
2967 u32,
2968 u32,
2969 BleFinetimtgtReg_SPEC,
2970 crate::common::RW,
2971 > {
2972 crate::common::RegisterField::<
2973 0,
2974 0x7ffffff,
2975 1,
2976 0,
2977 u32,
2978 u32,
2979 BleFinetimtgtReg_SPEC,
2980 crate::common::RW,
2981 >::from_register(self, 0)
2982 }
2983}
2984impl ::core::default::Default for BleFinetimtgtReg {
2985 #[inline(always)]
2986 fn default() -> BleFinetimtgtReg {
2987 <crate::RegValueT<BleFinetimtgtReg_SPEC> as RegisterValue<_>>::new(0)
2988 }
2989}
2990
2991#[doc(hidden)]
2992#[derive(Copy, Clone, Eq, PartialEq)]
2993pub struct BleGrosstimtgtReg_SPEC;
2994impl crate::sealed::RegSpec for BleGrosstimtgtReg_SPEC {
2995 type DataType = u32;
2996}
2997
2998#[doc = "Gross Timer Target value"]
2999pub type BleGrosstimtgtReg = crate::RegValueT<BleGrosstimtgtReg_SPEC>;
3000
3001impl BleGrosstimtgtReg {
3002 #[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."]
3003 #[inline(always)]
3004 pub fn grosstarget(
3005 self,
3006 ) -> crate::common::RegisterField<
3007 0,
3008 0x7fffff,
3009 1,
3010 0,
3011 u32,
3012 u32,
3013 BleGrosstimtgtReg_SPEC,
3014 crate::common::RW,
3015 > {
3016 crate::common::RegisterField::<
3017 0,
3018 0x7fffff,
3019 1,
3020 0,
3021 u32,
3022 u32,
3023 BleGrosstimtgtReg_SPEC,
3024 crate::common::RW,
3025 >::from_register(self, 0)
3026 }
3027}
3028impl ::core::default::Default for BleGrosstimtgtReg {
3029 #[inline(always)]
3030 fn default() -> BleGrosstimtgtReg {
3031 <crate::RegValueT<BleGrosstimtgtReg_SPEC> as RegisterValue<_>>::new(0)
3032 }
3033}
3034
3035#[doc(hidden)]
3036#[derive(Copy, Clone, Eq, PartialEq)]
3037pub struct BleIntackReg_SPEC;
3038impl crate::sealed::RegSpec for BleIntackReg_SPEC {
3039 type DataType = u32;
3040}
3041
3042#[doc = "Interrupt acknowledge register"]
3043pub type BleIntackReg = crate::RegValueT<BleIntackReg_SPEC>;
3044
3045impl BleIntackReg {
3046 #[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"]
3047 #[inline(always)]
3048 pub fn swintack(
3049 self,
3050 ) -> crate::common::RegisterFieldBool<9, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3051 crate::common::RegisterFieldBool::<9,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3052 }
3053
3054 #[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"]
3055 #[inline(always)]
3056 pub fn eventapfaintack(
3057 self,
3058 ) -> crate::common::RegisterFieldBool<8, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3059 crate::common::RegisterFieldBool::<8,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3060 }
3061
3062 #[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"]
3063 #[inline(always)]
3064 pub fn finetgtimintack(
3065 self,
3066 ) -> crate::common::RegisterFieldBool<7, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3067 crate::common::RegisterFieldBool::<7,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3068 }
3069
3070 #[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"]
3071 #[inline(always)]
3072 pub fn grosstgtimintack(
3073 self,
3074 ) -> crate::common::RegisterFieldBool<6, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3075 crate::common::RegisterFieldBool::<6,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3076 }
3077
3078 #[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"]
3079 #[inline(always)]
3080 pub fn errorintack(
3081 self,
3082 ) -> crate::common::RegisterFieldBool<5, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3083 crate::common::RegisterFieldBool::<5,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3084 }
3085
3086 #[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"]
3087 #[inline(always)]
3088 pub fn cryptintack(
3089 self,
3090 ) -> crate::common::RegisterFieldBool<4, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3091 crate::common::RegisterFieldBool::<4,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3092 }
3093
3094 #[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"]
3095 #[inline(always)]
3096 pub fn eventintack(
3097 self,
3098 ) -> crate::common::RegisterFieldBool<3, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3099 crate::common::RegisterFieldBool::<3,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3100 }
3101
3102 #[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"]
3103 #[inline(always)]
3104 pub fn slpintack(
3105 self,
3106 ) -> crate::common::RegisterFieldBool<2, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3107 crate::common::RegisterFieldBool::<2,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3108 }
3109
3110 #[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"]
3111 #[inline(always)]
3112 pub fn rxintack(
3113 self,
3114 ) -> crate::common::RegisterFieldBool<1, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3115 crate::common::RegisterFieldBool::<1,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3116 }
3117
3118 #[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"]
3119 #[inline(always)]
3120 pub fn cscntintack(
3121 self,
3122 ) -> crate::common::RegisterFieldBool<0, 1, 0, BleIntackReg_SPEC, crate::common::W> {
3123 crate::common::RegisterFieldBool::<0,1,0,BleIntackReg_SPEC,crate::common::W>::from_register(self,0)
3124 }
3125}
3126impl ::core::default::Default for BleIntackReg {
3127 #[inline(always)]
3128 fn default() -> BleIntackReg {
3129 <crate::RegValueT<BleIntackReg_SPEC> as RegisterValue<_>>::new(0)
3130 }
3131}
3132
3133#[doc(hidden)]
3134#[derive(Copy, Clone, Eq, PartialEq)]
3135pub struct BleIntcntlReg_SPEC;
3136impl crate::sealed::RegSpec for BleIntcntlReg_SPEC {
3137 type DataType = u32;
3138}
3139
3140#[doc = "Interrupt controller register"]
3141pub type BleIntcntlReg = crate::RegValueT<BleIntcntlReg_SPEC>;
3142
3143impl BleIntcntlReg {
3144 #[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."]
3145 #[inline(always)]
3146 pub fn cscntdevmsk(
3147 self,
3148 ) -> crate::common::RegisterFieldBool<15, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3149 crate::common::RegisterFieldBool::<15,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3150 }
3151
3152 #[doc = "SW triggered interrupt Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3153 #[inline(always)]
3154 pub fn swintmsk(
3155 self,
3156 ) -> crate::common::RegisterFieldBool<9, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3157 crate::common::RegisterFieldBool::<9,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3158 }
3159
3160 #[doc = "End of event / anticipated pre-fetch abort interrupt Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3161 #[inline(always)]
3162 pub fn eventapfaintmsk(
3163 self,
3164 ) -> crate::common::RegisterFieldBool<8, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3165 crate::common::RegisterFieldBool::<8,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3166 }
3167
3168 #[doc = "Fine Target Timer Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3169 #[inline(always)]
3170 pub fn finetgtimintmsk(
3171 self,
3172 ) -> crate::common::RegisterFieldBool<7, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3173 crate::common::RegisterFieldBool::<7,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3174 }
3175
3176 #[doc = "Gross Target Timer Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3177 #[inline(always)]
3178 pub fn grosstgtimintmsk(
3179 self,
3180 ) -> crate::common::RegisterFieldBool<6, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3181 crate::common::RegisterFieldBool::<6,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3182 }
3183
3184 #[doc = "Error Interrupt Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3185 #[inline(always)]
3186 pub fn errorintmsk(
3187 self,
3188 ) -> crate::common::RegisterFieldBool<5, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3189 crate::common::RegisterFieldBool::<5,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3190 }
3191
3192 #[doc = "Encryption engine Interrupt Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3193 #[inline(always)]
3194 pub fn cryptintmsk(
3195 self,
3196 ) -> crate::common::RegisterFieldBool<4, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3197 crate::common::RegisterFieldBool::<4,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3198 }
3199
3200 #[doc = "End of event Interrupt Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3201 #[inline(always)]
3202 pub fn eventintmsk(
3203 self,
3204 ) -> crate::common::RegisterFieldBool<3, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3205 crate::common::RegisterFieldBool::<3,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3206 }
3207
3208 #[doc = "Sleep Mode Interrupt Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3209 #[inline(always)]
3210 pub fn slpintmsk(
3211 self,
3212 ) -> crate::common::RegisterFieldBool<2, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3213 crate::common::RegisterFieldBool::<2,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3214 }
3215
3216 #[doc = "Rx Interrupt Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3217 #[inline(always)]
3218 pub fn rxintmsk(
3219 self,
3220 ) -> crate::common::RegisterFieldBool<1, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3221 crate::common::RegisterFieldBool::<1,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3222 }
3223
3224 #[doc = "625us Base Time Interrupt Mask\n0: Interrupt not generated\n1: Interrupt generated"]
3225 #[inline(always)]
3226 pub fn cscntintmsk(
3227 self,
3228 ) -> crate::common::RegisterFieldBool<0, 1, 0, BleIntcntlReg_SPEC, crate::common::RW> {
3229 crate::common::RegisterFieldBool::<0,1,0,BleIntcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3230 }
3231}
3232impl ::core::default::Default for BleIntcntlReg {
3233 #[inline(always)]
3234 fn default() -> BleIntcntlReg {
3235 <crate::RegValueT<BleIntcntlReg_SPEC> as RegisterValue<_>>::new(33055)
3236 }
3237}
3238
3239#[doc(hidden)]
3240#[derive(Copy, Clone, Eq, PartialEq)]
3241pub struct BleIntrawstatReg_SPEC;
3242impl crate::sealed::RegSpec for BleIntrawstatReg_SPEC {
3243 type DataType = u32;
3244}
3245
3246#[doc = "Interrupt raw status register"]
3247pub type BleIntrawstatReg = crate::RegValueT<BleIntrawstatReg_SPEC>;
3248
3249impl BleIntrawstatReg {
3250 #[doc = "SW triggered interrupt raw status\n0: No SW triggered interrupt.\n1: A SW triggered interrupt is pending."]
3251 #[inline(always)]
3252 pub fn swintrawstat(
3253 self,
3254 ) -> crate::common::RegisterFieldBool<9, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3255 crate::common::RegisterFieldBool::<9,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3256 }
3257
3258 #[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."]
3259 #[inline(always)]
3260 pub fn eventapfaintrawstat(
3261 self,
3262 ) -> crate::common::RegisterFieldBool<8, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3263 crate::common::RegisterFieldBool::<8,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3264 }
3265
3266 #[doc = "Fine Target Timer Error interrupt raw status\n0: No Fine Target Timer interrupt.\n1: A Fine Target Timer interrupt is pending."]
3267 #[inline(always)]
3268 pub fn finetgtimintrawstat(
3269 self,
3270 ) -> crate::common::RegisterFieldBool<7, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3271 crate::common::RegisterFieldBool::<7,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3272 }
3273
3274 #[doc = "Gross Target Timer interrupt raw status\n0: No Gross Target Timer interrupt.\n1: A Gross Target Timer interrupt is pending."]
3275 #[inline(always)]
3276 pub fn grosstgtimintrawstat(
3277 self,
3278 ) -> crate::common::RegisterFieldBool<6, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3279 crate::common::RegisterFieldBool::<6,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3280 }
3281
3282 #[doc = "Error interrupt raw status\n0: No Error interrupt.\n1: An Error interrupt is pending."]
3283 #[inline(always)]
3284 pub fn errorintrawstat(
3285 self,
3286 ) -> crate::common::RegisterFieldBool<5, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3287 crate::common::RegisterFieldBool::<5,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3288 }
3289
3290 #[doc = "Encryption engine interrupt raw status\n0: No Encryption / Decryption interrupt.\n1: An Encryption / Decryption interrupt is pending."]
3291 #[inline(always)]
3292 pub fn cryptintrawstat(
3293 self,
3294 ) -> crate::common::RegisterFieldBool<4, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3295 crate::common::RegisterFieldBool::<4,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3296 }
3297
3298 #[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."]
3299 #[inline(always)]
3300 pub fn eventintrawstat(
3301 self,
3302 ) -> crate::common::RegisterFieldBool<3, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3303 crate::common::RegisterFieldBool::<3,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3304 }
3305
3306 #[doc = "Sleep interrupt raw status\n0: No End of Sleep Mode interrupt.\n1: An End of Sleep Mode interrupt is pending."]
3307 #[inline(always)]
3308 pub fn slpintrawstat(
3309 self,
3310 ) -> crate::common::RegisterFieldBool<2, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3311 crate::common::RegisterFieldBool::<2,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3312 }
3313
3314 #[doc = "Packet Reception interrupt raw status\n0: No Rx interrupt.\n1: An Rx interrupt is pending."]
3315 #[inline(always)]
3316 pub fn rxintrawstat(
3317 self,
3318 ) -> crate::common::RegisterFieldBool<1, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3319 crate::common::RegisterFieldBool::<1,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3320 }
3321
3322 #[doc = "625us base time reference interrupt raw status\n0: No 625us Base Time interrupt.\n1: A 625us Base Time interrupt is pending."]
3323 #[inline(always)]
3324 pub fn cscntintrawstat(
3325 self,
3326 ) -> crate::common::RegisterFieldBool<0, 1, 0, BleIntrawstatReg_SPEC, crate::common::R> {
3327 crate::common::RegisterFieldBool::<0,1,0,BleIntrawstatReg_SPEC,crate::common::R>::from_register(self,0)
3328 }
3329}
3330impl ::core::default::Default for BleIntrawstatReg {
3331 #[inline(always)]
3332 fn default() -> BleIntrawstatReg {
3333 <crate::RegValueT<BleIntrawstatReg_SPEC> as RegisterValue<_>>::new(0)
3334 }
3335}
3336
3337#[doc(hidden)]
3338#[derive(Copy, Clone, Eq, PartialEq)]
3339pub struct BleIntstatReg_SPEC;
3340impl crate::sealed::RegSpec for BleIntstatReg_SPEC {
3341 type DataType = u32;
3342}
3343
3344#[doc = "Interrupt status register"]
3345pub type BleIntstatReg = crate::RegValueT<BleIntstatReg_SPEC>;
3346
3347impl BleIntstatReg {
3348 #[doc = "SW triggered interrupt status\n0: No SW triggered interrupt.\n1: A SW triggered interrupt is pending"]
3349 #[inline(always)]
3350 pub fn swintstat(
3351 self,
3352 ) -> crate::common::RegisterFieldBool<9, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3353 crate::common::RegisterFieldBool::<9,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3354 }
3355
3356 #[doc = "End of event / Anticipated Pre-Fetch Abort interrupt status\n0: No End of Event interrupt.\n1: An End of Event interrupt is pending."]
3357 #[inline(always)]
3358 pub fn eventapfaintstat(
3359 self,
3360 ) -> crate::common::RegisterFieldBool<8, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3361 crate::common::RegisterFieldBool::<8,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3362 }
3363
3364 #[doc = "Masked Fine Target Timer Error interrupt status\n0: No Fine Target Timer interrupt.\n1: A Fine Target Timer interrupt is pending."]
3365 #[inline(always)]
3366 pub fn finetgtimintstat(
3367 self,
3368 ) -> crate::common::RegisterFieldBool<7, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3369 crate::common::RegisterFieldBool::<7,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3370 }
3371
3372 #[doc = "Masked Gross Target Timer interrupt status\n0: No Gross Target Timer interrupt.\n1: A Gross Target Timer interrupt is pending."]
3373 #[inline(always)]
3374 pub fn grosstgtimintstat(
3375 self,
3376 ) -> crate::common::RegisterFieldBool<6, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3377 crate::common::RegisterFieldBool::<6,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3378 }
3379
3380 #[doc = "Masked Error interrupt status\n0: No Error interrupt.\n1: An Error interrupt is pending."]
3381 #[inline(always)]
3382 pub fn errorintstat(
3383 self,
3384 ) -> crate::common::RegisterFieldBool<5, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3385 crate::common::RegisterFieldBool::<5,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3386 }
3387
3388 #[doc = "Masked Encryption engine interrupt status\n0: No Encryption / Decryption interrupt.\n1: An Encryption / Decryption interrupt is pending."]
3389 #[inline(always)]
3390 pub fn cryptintstat(
3391 self,
3392 ) -> crate::common::RegisterFieldBool<4, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3393 crate::common::RegisterFieldBool::<4,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3394 }
3395
3396 #[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."]
3397 #[inline(always)]
3398 pub fn eventintstat(
3399 self,
3400 ) -> crate::common::RegisterFieldBool<3, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3401 crate::common::RegisterFieldBool::<3,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3402 }
3403
3404 #[doc = "Masked Sleep interrupt status\n0: No End of Sleep Mode interrupt.\n1: An End of Sleep Mode interrupt is pending."]
3405 #[inline(always)]
3406 pub fn slpintstat(
3407 self,
3408 ) -> crate::common::RegisterFieldBool<2, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3409 crate::common::RegisterFieldBool::<2,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3410 }
3411
3412 #[doc = "Masked Packet Reception interrupt status\n0: No Rx interrupt.\n1: An Rx interrupt is pending."]
3413 #[inline(always)]
3414 pub fn rxintstat(
3415 self,
3416 ) -> crate::common::RegisterFieldBool<1, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3417 crate::common::RegisterFieldBool::<1,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3418 }
3419
3420 #[doc = "Masked 625us base time reference interrupt status\n0: No 625us Base Time interrupt.\n1: A 625us Base Time interrupt is pending."]
3421 #[inline(always)]
3422 pub fn cscntintstat(
3423 self,
3424 ) -> crate::common::RegisterFieldBool<0, 1, 0, BleIntstatReg_SPEC, crate::common::R> {
3425 crate::common::RegisterFieldBool::<0,1,0,BleIntstatReg_SPEC,crate::common::R>::from_register(self,0)
3426 }
3427}
3428impl ::core::default::Default for BleIntstatReg {
3429 #[inline(always)]
3430 fn default() -> BleIntstatReg {
3431 <crate::RegValueT<BleIntstatReg_SPEC> as RegisterValue<_>>::new(0)
3432 }
3433}
3434
3435#[doc(hidden)]
3436#[derive(Copy, Clone, Eq, PartialEq)]
3437pub struct BleRadiocntl0Reg_SPEC;
3438impl crate::sealed::RegSpec for BleRadiocntl0Reg_SPEC {
3439 type DataType = u32;
3440}
3441
3442#[doc = "Radio interface control register"]
3443pub type BleRadiocntl0Reg = crate::RegValueT<BleRadiocntl0Reg_SPEC>;
3444
3445impl NoBitfieldReg<BleRadiocntl0Reg_SPEC> for BleRadiocntl0Reg {}
3446impl ::core::default::Default for BleRadiocntl0Reg {
3447 #[inline(always)]
3448 fn default() -> BleRadiocntl0Reg {
3449 <crate::RegValueT<BleRadiocntl0Reg_SPEC> as RegisterValue<_>>::new(2)
3450 }
3451}
3452
3453#[doc(hidden)]
3454#[derive(Copy, Clone, Eq, PartialEq)]
3455pub struct BleRadiocntl1Reg_SPEC;
3456impl crate::sealed::RegSpec for BleRadiocntl1Reg_SPEC {
3457 type DataType = u32;
3458}
3459
3460#[doc = "Radio interface control register"]
3461pub type BleRadiocntl1Reg = crate::RegValueT<BleRadiocntl1Reg_SPEC>;
3462
3463impl BleRadiocntl1Reg {
3464 #[doc = "Extended radio selection field, Must be set to \"2\"."]
3465 #[inline(always)]
3466 pub fn xrfsel(
3467 self,
3468 ) -> crate::common::RegisterField<
3469 16,
3470 0x1f,
3471 1,
3472 0,
3473 u8,
3474 u8,
3475 BleRadiocntl1Reg_SPEC,
3476 crate::common::RW,
3477 > {
3478 crate::common::RegisterField::<
3479 16,
3480 0x1f,
3481 1,
3482 0,
3483 u8,
3484 u8,
3485 BleRadiocntl1Reg_SPEC,
3486 crate::common::RW,
3487 >::from_register(self, 0)
3488 }
3489}
3490impl ::core::default::Default for BleRadiocntl1Reg {
3491 #[inline(always)]
3492 fn default() -> BleRadiocntl1Reg {
3493 <crate::RegValueT<BleRadiocntl1Reg_SPEC> as RegisterValue<_>>::new(0)
3494 }
3495}
3496
3497#[doc(hidden)]
3498#[derive(Copy, Clone, Eq, PartialEq)]
3499pub struct BleRadiocntl2Reg_SPEC;
3500impl crate::sealed::RegSpec for BleRadiocntl2Reg_SPEC {
3501 type DataType = u32;
3502}
3503
3504#[doc = "Radio interface control register"]
3505pub type BleRadiocntl2Reg = crate::RegValueT<BleRadiocntl2Reg_SPEC>;
3506
3507impl NoBitfieldReg<BleRadiocntl2Reg_SPEC> for BleRadiocntl2Reg {}
3508impl ::core::default::Default for BleRadiocntl2Reg {
3509 #[inline(always)]
3510 fn default() -> BleRadiocntl2Reg {
3511 <crate::RegValueT<BleRadiocntl2Reg_SPEC> as RegisterValue<_>>::new(0)
3512 }
3513}
3514
3515#[doc(hidden)]
3516#[derive(Copy, Clone, Eq, PartialEq)]
3517pub struct BleRadiocntl3Reg_SPEC;
3518impl crate::sealed::RegSpec for BleRadiocntl3Reg_SPEC {
3519 type DataType = u32;
3520}
3521
3522#[doc = "Radio interface control register"]
3523pub type BleRadiocntl3Reg = crate::RegValueT<BleRadiocntl3Reg_SPEC>;
3524
3525impl NoBitfieldReg<BleRadiocntl3Reg_SPEC> for BleRadiocntl3Reg {}
3526impl ::core::default::Default for BleRadiocntl3Reg {
3527 #[inline(always)]
3528 fn default() -> BleRadiocntl3Reg {
3529 <crate::RegValueT<BleRadiocntl3Reg_SPEC> as RegisterValue<_>>::new(64)
3530 }
3531}
3532
3533#[doc(hidden)]
3534#[derive(Copy, Clone, Eq, PartialEq)]
3535pub struct BleRadiopwrupdnReg_SPEC;
3536impl crate::sealed::RegSpec for BleRadiopwrupdnReg_SPEC {
3537 type DataType = u32;
3538}
3539
3540#[doc = "RX/TX power up/down phase register"]
3541pub type BleRadiopwrupdnReg = crate::RegValueT<BleRadiopwrupdnReg_SPEC>;
3542
3543impl BleRadiopwrupdnReg {
3544 #[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 usec."]
3545 #[inline(always)]
3546 pub fn rtrip_delay(
3547 self,
3548 ) -> crate::common::RegisterField<
3549 24,
3550 0x7f,
3551 1,
3552 0,
3553 u8,
3554 u8,
3555 BleRadiopwrupdnReg_SPEC,
3556 crate::common::RW,
3557 > {
3558 crate::common::RegisterField::<
3559 24,
3560 0x7f,
3561 1,
3562 0,
3563 u8,
3564 u8,
3565 BleRadiopwrupdnReg_SPEC,
3566 crate::common::RW,
3567 >::from_register(self, 0)
3568 }
3569
3570 #[doc = "This register holds the length in s of the RX power up phase for the current radio device. Default value is 210 usec (reset value). Operating range depends on the selected radio."]
3571 #[inline(always)]
3572 pub fn rxpwrup(
3573 self,
3574 ) -> crate::common::RegisterField<
3575 16,
3576 0xff,
3577 1,
3578 0,
3579 u8,
3580 u8,
3581 BleRadiopwrupdnReg_SPEC,
3582 crate::common::RW,
3583 > {
3584 crate::common::RegisterField::<
3585 16,
3586 0xff,
3587 1,
3588 0,
3589 u8,
3590 u8,
3591 BleRadiopwrupdnReg_SPEC,
3592 crate::common::RW,
3593 >::from_register(self, 0)
3594 }
3595
3596 #[doc = "This register extends the length in s of the TX power down phase for the current radio device. Default value is 3 usec (reset value). Operating range depends on the selected radio."]
3597 #[inline(always)]
3598 pub fn txpwrdn(
3599 self,
3600 ) -> crate::common::RegisterField<
3601 8,
3602 0xf,
3603 1,
3604 0,
3605 u8,
3606 u8,
3607 BleRadiopwrupdnReg_SPEC,
3608 crate::common::RW,
3609 > {
3610 crate::common::RegisterField::<
3611 8,
3612 0xf,
3613 1,
3614 0,
3615 u8,
3616 u8,
3617 BleRadiopwrupdnReg_SPEC,
3618 crate::common::RW,
3619 >::from_register(self, 0)
3620 }
3621
3622 #[doc = "This register holds the length in s of the TX power up phase for the current radio device. Default value is 210 usec (reset value). Operating range depends on the selected radio."]
3623 #[inline(always)]
3624 pub fn txpwrup(
3625 self,
3626 ) -> crate::common::RegisterField<
3627 0,
3628 0xff,
3629 1,
3630 0,
3631 u8,
3632 u8,
3633 BleRadiopwrupdnReg_SPEC,
3634 crate::common::RW,
3635 > {
3636 crate::common::RegisterField::<
3637 0,
3638 0xff,
3639 1,
3640 0,
3641 u8,
3642 u8,
3643 BleRadiopwrupdnReg_SPEC,
3644 crate::common::RW,
3645 >::from_register(self, 0)
3646 }
3647}
3648impl ::core::default::Default for BleRadiopwrupdnReg {
3649 #[inline(always)]
3650 fn default() -> BleRadiopwrupdnReg {
3651 <crate::RegValueT<BleRadiopwrupdnReg_SPEC> as RegisterValue<_>>::new(13763538)
3652 }
3653}
3654
3655#[doc(hidden)]
3656#[derive(Copy, Clone, Eq, PartialEq)]
3657pub struct BleRftestcntlReg_SPEC;
3658impl crate::sealed::RegSpec for BleRftestcntlReg_SPEC {
3659 type DataType = u32;
3660}
3661
3662#[doc = "RF Testing Register"]
3663pub type BleRftestcntlReg = crate::RegValueT<BleRftestcntlReg_SPEC>;
3664
3665impl BleRftestcntlReg {
3666 #[doc = "Applicable in RF Test Mode only\n0: Normal mode of operation\n1: Infinite Rx window"]
3667 #[inline(always)]
3668 pub fn infiniterx(
3669 self,
3670 ) -> crate::common::RegisterFieldBool<31, 1, 0, BleRftestcntlReg_SPEC, crate::common::RW> {
3671 crate::common::RegisterFieldBool::<31,1,0,BleRftestcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3672 }
3673
3674 #[doc = "Applicable in RF Test Mode only\n0: Rx packet count disabled\n1: Rx packet count enabled, and reported in CS-RXCCMPKTCNT and BLE_RFTESTRXSTAT_REG\\[RXPKTCNT\\] on RF abort command"]
3675 #[inline(always)]
3676 pub fn rxpktcnten(
3677 self,
3678 ) -> crate::common::RegisterFieldBool<27, 1, 0, BleRftestcntlReg_SPEC, crate::common::RW> {
3679 crate::common::RegisterFieldBool::<27,1,0,BleRftestcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3680 }
3681
3682 #[doc = "Applicable in RF Test Mode only\n0: Normal mode of operation.\n1: Infinite Tx packet / Normal start of a packet but endless payload"]
3683 #[inline(always)]
3684 pub fn infinitetx(
3685 self,
3686 ) -> crate::common::RegisterFieldBool<15, 1, 0, BleRftestcntlReg_SPEC, crate::common::RW> {
3687 crate::common::RegisterFieldBool::<15,1,0,BleRftestcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3688 }
3689
3690 #[doc = "Applicable only in Tx/Rx RF Test mode\n0: Normal mode of operation: TxDESC-TXADVLEN controls the Tx packet payload size\n1: Uses BLE_RFTESTCNTL_REG\\[TXLENGTH\\] packet length (can support up to 512 bytes transmit)"]
3691 #[inline(always)]
3692 pub fn txlengthsrc(
3693 self,
3694 ) -> crate::common::RegisterFieldBool<14, 1, 0, BleRftestcntlReg_SPEC, crate::common::RW> {
3695 crate::common::RegisterFieldBool::<14,1,0,BleRftestcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3696 }
3697
3698 #[doc = "Applicable only in Tx/Rx RF Test mode\n0: Tx Packet Payload are PRBS9 type\n1: Tx Packet Payload are PRBS15 type"]
3699 #[inline(always)]
3700 pub fn prbstype(
3701 self,
3702 ) -> crate::common::RegisterFieldBool<13, 1, 0, BleRftestcntlReg_SPEC, crate::common::RW> {
3703 crate::common::RegisterFieldBool::<13,1,0,BleRftestcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3704 }
3705
3706 #[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"]
3707 #[inline(always)]
3708 pub fn txpldsrc(
3709 self,
3710 ) -> crate::common::RegisterFieldBool<12, 1, 0, BleRftestcntlReg_SPEC, crate::common::RW> {
3711 crate::common::RegisterFieldBool::<12,1,0,BleRftestcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3712 }
3713
3714 #[doc = "Applicable in RF Test Mode only\n0: Tx packet count disabled\n1: Tx packet count enabled, and reported in CS-TXCCMPKTCNT and BLE_RFTESTTXSTAT_REG\\[TXPKTCNT\\] on RF abort command"]
3715 #[inline(always)]
3716 pub fn txpktcnten(
3717 self,
3718 ) -> crate::common::RegisterFieldBool<11, 1, 0, BleRftestcntlReg_SPEC, crate::common::RW> {
3719 crate::common::RegisterFieldBool::<11,1,0,BleRftestcntlReg_SPEC,crate::common::RW>::from_register(self,0)
3720 }
3721
3722 #[doc = "Applicable only for Tx/Rx RF Test mode, and valid when BLE_RFTESTCNTL_REG\\[TXLENGTHSRC\\] = 1\nTx packet length in number of byte"]
3723 #[inline(always)]
3724 pub fn txlength(
3725 self,
3726 ) -> crate::common::RegisterField<
3727 0,
3728 0x1ff,
3729 1,
3730 0,
3731 u16,
3732 u16,
3733 BleRftestcntlReg_SPEC,
3734 crate::common::RW,
3735 > {
3736 crate::common::RegisterField::<
3737 0,
3738 0x1ff,
3739 1,
3740 0,
3741 u16,
3742 u16,
3743 BleRftestcntlReg_SPEC,
3744 crate::common::RW,
3745 >::from_register(self, 0)
3746 }
3747}
3748impl ::core::default::Default for BleRftestcntlReg {
3749 #[inline(always)]
3750 fn default() -> BleRftestcntlReg {
3751 <crate::RegValueT<BleRftestcntlReg_SPEC> as RegisterValue<_>>::new(0)
3752 }
3753}
3754
3755#[doc(hidden)]
3756#[derive(Copy, Clone, Eq, PartialEq)]
3757pub struct BleRftestrxstatReg_SPEC;
3758impl crate::sealed::RegSpec for BleRftestrxstatReg_SPEC {
3759 type DataType = u32;
3760}
3761
3762#[doc = "RF Testing Register"]
3763pub type BleRftestrxstatReg = crate::RegValueT<BleRftestrxstatReg_SPEC>;
3764
3765impl BleRftestrxstatReg {
3766 #[doc = "Reports number of correctly received packet during Test Modes (no sync error, no CRC error).\nValue is valid if BLE_RFTESTCNTL_REG\\[RXPKTCNTEN\\] is set"]
3767 #[inline(always)]
3768 pub fn rxpktcnt(
3769 self,
3770 ) -> crate::common::RegisterField<
3771 0,
3772 0xffffffff,
3773 1,
3774 0,
3775 u32,
3776 u32,
3777 BleRftestrxstatReg_SPEC,
3778 crate::common::R,
3779 > {
3780 crate::common::RegisterField::<
3781 0,
3782 0xffffffff,
3783 1,
3784 0,
3785 u32,
3786 u32,
3787 BleRftestrxstatReg_SPEC,
3788 crate::common::R,
3789 >::from_register(self, 0)
3790 }
3791}
3792impl ::core::default::Default for BleRftestrxstatReg {
3793 #[inline(always)]
3794 fn default() -> BleRftestrxstatReg {
3795 <crate::RegValueT<BleRftestrxstatReg_SPEC> as RegisterValue<_>>::new(0)
3796 }
3797}
3798
3799#[doc(hidden)]
3800#[derive(Copy, Clone, Eq, PartialEq)]
3801pub struct BleRftesttxstatReg_SPEC;
3802impl crate::sealed::RegSpec for BleRftesttxstatReg_SPEC {
3803 type DataType = u32;
3804}
3805
3806#[doc = "RF Testing Register"]
3807pub type BleRftesttxstatReg = crate::RegValueT<BleRftesttxstatReg_SPEC>;
3808
3809impl BleRftesttxstatReg {
3810 #[doc = "Reports number of transmitted packet during Test Modes.\nValue is valid if BLE_RFTESTCNTL_REG\\[TXPKTCNTEN\\] is set"]
3811 #[inline(always)]
3812 pub fn txpktcnt(
3813 self,
3814 ) -> crate::common::RegisterField<
3815 0,
3816 0xffffffff,
3817 1,
3818 0,
3819 u32,
3820 u32,
3821 BleRftesttxstatReg_SPEC,
3822 crate::common::R,
3823 > {
3824 crate::common::RegisterField::<
3825 0,
3826 0xffffffff,
3827 1,
3828 0,
3829 u32,
3830 u32,
3831 BleRftesttxstatReg_SPEC,
3832 crate::common::R,
3833 >::from_register(self, 0)
3834 }
3835}
3836impl ::core::default::Default for BleRftesttxstatReg {
3837 #[inline(always)]
3838 fn default() -> BleRftesttxstatReg {
3839 <crate::RegValueT<BleRftesttxstatReg_SPEC> as RegisterValue<_>>::new(0)
3840 }
3841}
3842
3843#[doc(hidden)]
3844#[derive(Copy, Clone, Eq, PartialEq)]
3845pub struct BleRwblecntlReg_SPEC;
3846impl crate::sealed::RegSpec for BleRwblecntlReg_SPEC {
3847 type DataType = u32;
3848}
3849
3850#[doc = "BLE Control register"]
3851pub type BleRwblecntlReg = crate::RegValueT<BleRwblecntlReg_SPEC>;
3852
3853impl BleRwblecntlReg {
3854 #[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."]
3855 #[inline(always)]
3856 pub fn master_soft_rst(
3857 self,
3858 ) -> crate::common::RegisterFieldBool<31, 1, 0, BleRwblecntlReg_SPEC, crate::common::W> {
3859 crate::common::RegisterFieldBool::<31,1,0,BleRwblecntlReg_SPEC,crate::common::W>::from_register(self,0)
3860 }
3861
3862 #[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."]
3863 #[inline(always)]
3864 pub fn master_tgsoft_rst(
3865 self,
3866 ) -> crate::common::RegisterFieldBool<30, 1, 0, BleRwblecntlReg_SPEC, crate::common::W> {
3867 crate::common::RegisterFieldBool::<30,1,0,BleRwblecntlReg_SPEC,crate::common::W>::from_register(self,0)
3868 }
3869
3870 #[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"]
3871 #[inline(always)]
3872 pub fn reg_soft_rst(
3873 self,
3874 ) -> crate::common::RegisterFieldBool<29, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3875 crate::common::RegisterFieldBool::<29,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3876 }
3877
3878 #[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."]
3879 #[inline(always)]
3880 pub fn swint_req(
3881 self,
3882 ) -> crate::common::RegisterFieldBool<28, 1, 0, BleRwblecntlReg_SPEC, crate::common::W> {
3883 crate::common::RegisterFieldBool::<28,1,0,BleRwblecntlReg_SPEC,crate::common::W>::from_register(self,0)
3884 }
3885
3886 #[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."]
3887 #[inline(always)]
3888 pub fn rftest_abort(
3889 self,
3890 ) -> crate::common::RegisterFieldBool<26, 1, 0, BleRwblecntlReg_SPEC, crate::common::W> {
3891 crate::common::RegisterFieldBool::<26,1,0,BleRwblecntlReg_SPEC,crate::common::W>::from_register(self,0)
3892 }
3893
3894 #[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."]
3895 #[inline(always)]
3896 pub fn advert_abort(
3897 self,
3898 ) -> crate::common::RegisterFieldBool<25, 1, 0, BleRwblecntlReg_SPEC, crate::common::W> {
3899 crate::common::RegisterFieldBool::<25,1,0,BleRwblecntlReg_SPEC,crate::common::W>::from_register(self,0)
3900 }
3901
3902 #[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."]
3903 #[inline(always)]
3904 pub fn scan_abort(
3905 self,
3906 ) -> crate::common::RegisterFieldBool<24, 1, 0, BleRwblecntlReg_SPEC, crate::common::W> {
3907 crate::common::RegisterFieldBool::<24,1,0,BleRwblecntlReg_SPEC,crate::common::W>::from_register(self,0)
3908 }
3909
3910 #[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"]
3911 #[inline(always)]
3912 pub fn md_dsb(
3913 self,
3914 ) -> crate::common::RegisterFieldBool<22, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3915 crate::common::RegisterFieldBool::<22,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3916 }
3917
3918 #[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."]
3919 #[inline(always)]
3920 pub fn sn_dsb(
3921 self,
3922 ) -> crate::common::RegisterFieldBool<21, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3923 crate::common::RegisterFieldBool::<21,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3924 }
3925
3926 #[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."]
3927 #[inline(always)]
3928 pub fn nesn_dsb(
3929 self,
3930 ) -> crate::common::RegisterFieldBool<20, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3931 crate::common::RegisterFieldBool::<20,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3932 }
3933
3934 #[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."]
3935 #[inline(always)]
3936 pub fn crypt_dsb(
3937 self,
3938 ) -> crate::common::RegisterFieldBool<19, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3939 crate::common::RegisterFieldBool::<19,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3940 }
3941
3942 #[doc = "0: Normal operation. Whitening enabled.\n1: Whitening disabled."]
3943 #[inline(always)]
3944 pub fn whit_dsb(
3945 self,
3946 ) -> crate::common::RegisterFieldBool<18, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3947 crate::common::RegisterFieldBool::<18,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3948 }
3949
3950 #[doc = "0: Normal operation. CRC removed from data stream.\n1: CRC stripping disabled on Rx packets, CRC replaced by 0x000 in Tx."]
3951 #[inline(always)]
3952 pub fn crc_dsb(
3953 self,
3954 ) -> crate::common::RegisterFieldBool<17, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3955 crate::common::RegisterFieldBool::<17,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3956 }
3957
3958 #[doc = "0: Normal operation. Frequency Hopping Remapping algorithm enabled.\n1: Frequency Hopping Remapping algorithm disabled"]
3959 #[inline(always)]
3960 pub fn hop_remap_dsb(
3961 self,
3962 ) -> crate::common::RegisterFieldBool<16, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3963 crate::common::RegisterFieldBool::<16,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3964 }
3965
3966 #[doc = "Advertising Channels Error Filtering Enable control\n0: BLE Core reports all errors to RW-BLE Software\n1: BLE Core reports only correctly received packet, without error to RW-BLE Software"]
3967 #[inline(always)]
3968 pub fn advertfilt_en(
3969 self,
3970 ) -> crate::common::RegisterFieldBool<9, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3971 crate::common::RegisterFieldBool::<9,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3972 }
3973
3974 #[doc = "0: Disable BLE Core Exchange Table pre-fetch mechanism.\n1: Enable BLE Core Exchange table pre-fetch mechanism."]
3975 #[inline(always)]
3976 pub fn rwble_en(
3977 self,
3978 ) -> crate::common::RegisterFieldBool<8, 1, 0, BleRwblecntlReg_SPEC, crate::common::RW> {
3979 crate::common::RegisterFieldBool::<8,1,0,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3980 }
3981
3982 #[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)."]
3983 #[inline(always)]
3984 pub fn rxwinszdef(
3985 self,
3986 ) -> crate::common::RegisterField<4, 0xf, 1, 0, u8, u8, BleRwblecntlReg_SPEC, crate::common::RW>
3987 {
3988 crate::common::RegisterField::<4,0xf,1,0,u8,u8,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3989 }
3990
3991 #[doc = "Indicates the maximum number of errors allowed to recognize the synchronization word."]
3992 #[inline(always)]
3993 pub fn syncerr(
3994 self,
3995 ) -> crate::common::RegisterField<0, 0x7, 1, 0, u8, u8, BleRwblecntlReg_SPEC, crate::common::RW>
3996 {
3997 crate::common::RegisterField::<0,0x7,1,0,u8,u8,BleRwblecntlReg_SPEC,crate::common::RW>::from_register(self,0)
3998 }
3999}
4000impl ::core::default::Default for BleRwblecntlReg {
4001 #[inline(always)]
4002 fn default() -> BleRwblecntlReg {
4003 <crate::RegValueT<BleRwblecntlReg_SPEC> as RegisterValue<_>>::new(0)
4004 }
4005}
4006
4007#[doc(hidden)]
4008#[derive(Copy, Clone, Eq, PartialEq)]
4009pub struct BleRwbleconfReg_SPEC;
4010impl crate::sealed::RegSpec for BleRwbleconfReg_SPEC {
4011 type DataType = u32;
4012}
4013
4014#[doc = "Configuration register"]
4015pub type BleRwbleconfReg = crate::RegValueT<BleRwbleconfReg_SPEC>;
4016
4017impl BleRwbleconfReg {
4018 #[doc = "Value of the RW_BLE_ADDRESS_WIDTH parameter concerted into binary."]
4019 #[inline(always)]
4020 pub fn add_width(
4021 self,
4022 ) -> crate::common::RegisterField<24, 0x3f, 1, 0, u8, u8, BleRwbleconfReg_SPEC, crate::common::R>
4023 {
4024 crate::common::RegisterField::<24,0x3f,1,0,u8,u8,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4025 }
4026
4027 #[doc = "Radio Interface ID"]
4028 #[inline(always)]
4029 pub fn rfif(
4030 self,
4031 ) -> crate::common::RegisterField<16, 0x7f, 1, 0, u8, u8, BleRwbleconfReg_SPEC, crate::common::R>
4032 {
4033 crate::common::RegisterField::<16,0x7f,1,0,u8,u8,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4034 }
4035
4036 #[doc = "Operating Frequency (in MHz)"]
4037 #[inline(always)]
4038 pub fn clk_sel(
4039 self,
4040 ) -> crate::common::RegisterField<8, 0x3f, 1, 0, u8, u8, BleRwbleconfReg_SPEC, crate::common::R>
4041 {
4042 crate::common::RegisterField::<8,0x3f,1,0,u8,u8,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4043 }
4044
4045 #[doc = "0: AES deciphering not present"]
4046 #[inline(always)]
4047 pub fn decipher(
4048 self,
4049 ) -> crate::common::RegisterFieldBool<6, 1, 0, BleRwbleconfReg_SPEC, crate::common::R> {
4050 crate::common::RegisterFieldBool::<6,1,0,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4051 }
4052
4053 #[doc = "0: BLE Core is used as a standalone BLE device"]
4054 #[inline(always)]
4055 pub fn dmmode(
4056 self,
4057 ) -> crate::common::RegisterFieldBool<5, 1, 0, BleRwbleconfReg_SPEC, crate::common::R> {
4058 crate::common::RegisterFieldBool::<5,1,0,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4059 }
4060
4061 #[doc = "1: Interrupts are trigger level generated, i.e. stays active at 1 till acknowledgement"]
4062 #[inline(always)]
4063 pub fn intmode(
4064 self,
4065 ) -> crate::common::RegisterFieldBool<4, 1, 0, BleRwbleconfReg_SPEC, crate::common::R> {
4066 crate::common::RegisterFieldBool::<4,1,0,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4067 }
4068
4069 #[doc = "1: WLAN Coexistence mechanism present"]
4070 #[inline(always)]
4071 pub fn coex(
4072 self,
4073 ) -> crate::common::RegisterFieldBool<3, 1, 0, BleRwbleconfReg_SPEC, crate::common::R> {
4074 crate::common::RegisterFieldBool::<3,1,0,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4075 }
4076
4077 #[doc = "1: Diagnostic port instantiated"]
4078 #[inline(always)]
4079 pub fn usedbg(
4080 self,
4081 ) -> crate::common::RegisterFieldBool<2, 1, 0, BleRwbleconfReg_SPEC, crate::common::R> {
4082 crate::common::RegisterFieldBool::<2,1,0,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4083 }
4084
4085 #[doc = "1: AES-CCM Encryption block present"]
4086 #[inline(always)]
4087 pub fn usecrypt(
4088 self,
4089 ) -> crate::common::RegisterFieldBool<1, 1, 0, BleRwbleconfReg_SPEC, crate::common::R> {
4090 crate::common::RegisterFieldBool::<1,1,0,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4091 }
4092
4093 #[doc = "Processor bus width:\n1: 32 bits"]
4094 #[inline(always)]
4095 pub fn buswidth(
4096 self,
4097 ) -> crate::common::RegisterFieldBool<0, 1, 0, BleRwbleconfReg_SPEC, crate::common::R> {
4098 crate::common::RegisterFieldBool::<0,1,0,BleRwbleconfReg_SPEC,crate::common::R>::from_register(self,0)
4099 }
4100}
4101impl ::core::default::Default for BleRwbleconfReg {
4102 #[inline(always)]
4103 fn default() -> BleRwbleconfReg {
4104 <crate::RegValueT<BleRwbleconfReg_SPEC> as RegisterValue<_>>::new(251789343)
4105 }
4106}
4107
4108#[doc(hidden)]
4109#[derive(Copy, Clone, Eq, PartialEq)]
4110pub struct BleRxmicvalReg_SPEC;
4111impl crate::sealed::RegSpec for BleRxmicvalReg_SPEC {
4112 type DataType = u32;
4113}
4114
4115#[doc = "AES / CCM plain MIC value"]
4116pub type BleRxmicvalReg = crate::RegValueT<BleRxmicvalReg_SPEC>;
4117
4118impl BleRxmicvalReg {
4119 #[doc = "AES-CCM plain MIC value. Valid on once MIC has been extracted from Rx packet."]
4120 #[inline(always)]
4121 pub fn rxmicval(
4122 self,
4123 ) -> crate::common::RegisterField<
4124 0,
4125 0xffffffff,
4126 1,
4127 0,
4128 u32,
4129 u32,
4130 BleRxmicvalReg_SPEC,
4131 crate::common::R,
4132 > {
4133 crate::common::RegisterField::<
4134 0,
4135 0xffffffff,
4136 1,
4137 0,
4138 u32,
4139 u32,
4140 BleRxmicvalReg_SPEC,
4141 crate::common::R,
4142 >::from_register(self, 0)
4143 }
4144}
4145impl ::core::default::Default for BleRxmicvalReg {
4146 #[inline(always)]
4147 fn default() -> BleRxmicvalReg {
4148 <crate::RegValueT<BleRxmicvalReg_SPEC> as RegisterValue<_>>::new(0)
4149 }
4150}
4151
4152#[doc(hidden)]
4153#[derive(Copy, Clone, Eq, PartialEq)]
4154pub struct BleSampleclkReg_SPEC;
4155impl crate::sealed::RegSpec for BleSampleclkReg_SPEC {
4156 type DataType = u32;
4157}
4158
4159#[doc = "Samples the Base Time Counter"]
4160pub type BleSampleclkReg = crate::RegValueT<BleSampleclkReg_SPEC>;
4161
4162impl BleSampleclkReg {
4163 #[doc = "Writing a 1 samples the Base Time Counter value in BASETIMECNT register. Resets at 0 when action is performed."]
4164 #[inline(always)]
4165 pub fn samp(
4166 self,
4167 ) -> crate::common::RegisterFieldBool<0, 1, 0, BleSampleclkReg_SPEC, crate::common::W> {
4168 crate::common::RegisterFieldBool::<0,1,0,BleSampleclkReg_SPEC,crate::common::W>::from_register(self,0)
4169 }
4170}
4171impl ::core::default::Default for BleSampleclkReg {
4172 #[inline(always)]
4173 fn default() -> BleSampleclkReg {
4174 <crate::RegValueT<BleSampleclkReg_SPEC> as RegisterValue<_>>::new(0)
4175 }
4176}
4177
4178#[doc(hidden)]
4179#[derive(Copy, Clone, Eq, PartialEq)]
4180pub struct BleSwprofilingReg_SPEC;
4181impl crate::sealed::RegSpec for BleSwprofilingReg_SPEC {
4182 type DataType = u32;
4183}
4184
4185#[doc = "Software Profiling register"]
4186pub type BleSwprofilingReg = crate::RegValueT<BleSwprofilingReg_SPEC>;
4187
4188impl BleSwprofilingReg {
4189 #[doc = "Software Profiling register: used by BLE Software for profiling purpose: this value is copied on Diagnostic port"]
4190 #[inline(always)]
4191 pub fn swprofval(
4192 self,
4193 ) -> crate::common::RegisterField<
4194 0,
4195 0xffffffff,
4196 1,
4197 0,
4198 u32,
4199 u32,
4200 BleSwprofilingReg_SPEC,
4201 crate::common::RW,
4202 > {
4203 crate::common::RegisterField::<
4204 0,
4205 0xffffffff,
4206 1,
4207 0,
4208 u32,
4209 u32,
4210 BleSwprofilingReg_SPEC,
4211 crate::common::RW,
4212 >::from_register(self, 0)
4213 }
4214}
4215impl ::core::default::Default for BleSwprofilingReg {
4216 #[inline(always)]
4217 fn default() -> BleSwprofilingReg {
4218 <crate::RegValueT<BleSwprofilingReg_SPEC> as RegisterValue<_>>::new(0)
4219 }
4220}
4221
4222#[doc(hidden)]
4223#[derive(Copy, Clone, Eq, PartialEq)]
4224pub struct BleTimgencntlReg_SPEC;
4225impl crate::sealed::RegSpec for BleTimgencntlReg_SPEC {
4226 type DataType = u32;
4227}
4228
4229#[doc = "Timing Generator Register"]
4230pub type BleTimgencntlReg = crate::RegValueT<BleTimgencntlReg_SPEC>;
4231
4232impl BleTimgencntlReg {
4233 #[doc = "Controls the Anticipated pre-Fetch Abort mechanism\n0: Disabled\n1: Enabled"]
4234 #[inline(always)]
4235 pub fn apfm_en(
4236 self,
4237 ) -> crate::common::RegisterFieldBool<31, 1, 0, BleTimgencntlReg_SPEC, crate::common::RW> {
4238 crate::common::RegisterFieldBool::<31,1,0,BleTimgencntlReg_SPEC,crate::common::RW>::from_register(self,0)
4239 }
4240
4241 #[doc = "Defines the instant in usec at which immediate abort is required after anticipated pre-fetch abort."]
4242 #[inline(always)]
4243 pub fn prefetchabort_time(
4244 self,
4245 ) -> crate::common::RegisterField<
4246 16,
4247 0x3ff,
4248 1,
4249 0,
4250 u16,
4251 u16,
4252 BleTimgencntlReg_SPEC,
4253 crate::common::RW,
4254 > {
4255 crate::common::RegisterField::<
4256 16,
4257 0x3ff,
4258 1,
4259 0,
4260 u16,
4261 u16,
4262 BleTimgencntlReg_SPEC,
4263 crate::common::RW,
4264 >::from_register(self, 0)
4265 }
4266
4267 #[doc = "Defines Exchange Table pre-fetch instant in us"]
4268 #[inline(always)]
4269 pub fn prefetch_time(
4270 self,
4271 ) -> crate::common::RegisterField<
4272 0,
4273 0x1ff,
4274 1,
4275 0,
4276 u16,
4277 u16,
4278 BleTimgencntlReg_SPEC,
4279 crate::common::RW,
4280 > {
4281 crate::common::RegisterField::<
4282 0,
4283 0x1ff,
4284 1,
4285 0,
4286 u16,
4287 u16,
4288 BleTimgencntlReg_SPEC,
4289 crate::common::RW,
4290 >::from_register(self, 0)
4291 }
4292}
4293impl ::core::default::Default for BleTimgencntlReg {
4294 #[inline(always)]
4295 fn default() -> BleTimgencntlReg {
4296 <crate::RegValueT<BleTimgencntlReg_SPEC> as RegisterValue<_>>::new(2147483647)
4297 }
4298}
4299
4300#[doc(hidden)]
4301#[derive(Copy, Clone, Eq, PartialEq)]
4302pub struct BleTxmicvalReg_SPEC;
4303impl crate::sealed::RegSpec for BleTxmicvalReg_SPEC {
4304 type DataType = u32;
4305}
4306
4307#[doc = "AES / CCM plain MIC value"]
4308pub type BleTxmicvalReg = crate::RegValueT<BleTxmicvalReg_SPEC>;
4309
4310impl BleTxmicvalReg {
4311 #[doc = "AES-CCM plain MIC value. Valid on when MIC has been calculated (in Tx)"]
4312 #[inline(always)]
4313 pub fn txmicval(
4314 self,
4315 ) -> crate::common::RegisterField<
4316 0,
4317 0xffffffff,
4318 1,
4319 0,
4320 u32,
4321 u32,
4322 BleTxmicvalReg_SPEC,
4323 crate::common::R,
4324 > {
4325 crate::common::RegisterField::<
4326 0,
4327 0xffffffff,
4328 1,
4329 0,
4330 u32,
4331 u32,
4332 BleTxmicvalReg_SPEC,
4333 crate::common::R,
4334 >::from_register(self, 0)
4335 }
4336}
4337impl ::core::default::Default for BleTxmicvalReg {
4338 #[inline(always)]
4339 fn default() -> BleTxmicvalReg {
4340 <crate::RegValueT<BleTxmicvalReg_SPEC> as RegisterValue<_>>::new(0)
4341 }
4342}
4343
4344#[doc(hidden)]
4345#[derive(Copy, Clone, Eq, PartialEq)]
4346pub struct BleVersionReg_SPEC;
4347impl crate::sealed::RegSpec for BleVersionReg_SPEC {
4348 type DataType = u32;
4349}
4350
4351#[doc = "Version register"]
4352pub type BleVersionReg = crate::RegValueT<BleVersionReg_SPEC>;
4353
4354impl BleVersionReg {
4355 #[doc = "BLE Core Type"]
4356 #[inline(always)]
4357 pub fn typ(
4358 self,
4359 ) -> crate::common::RegisterField<24, 0xff, 1, 0, u8, u8, BleVersionReg_SPEC, crate::common::R>
4360 {
4361 crate::common::RegisterField::<24,0xff,1,0,u8,u8,BleVersionReg_SPEC,crate::common::R>::from_register(self,0)
4362 }
4363
4364 #[doc = "BLE Core version Major release number."]
4365 #[inline(always)]
4366 pub fn rel(
4367 self,
4368 ) -> crate::common::RegisterField<16, 0xff, 1, 0, u8, u8, BleVersionReg_SPEC, crate::common::R>
4369 {
4370 crate::common::RegisterField::<16,0xff,1,0,u8,u8,BleVersionReg_SPEC,crate::common::R>::from_register(self,0)
4371 }
4372
4373 #[doc = "BLE Core upgrade Upgrade number."]
4374 #[inline(always)]
4375 pub fn upg(
4376 self,
4377 ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, BleVersionReg_SPEC, crate::common::R>
4378 {
4379 crate::common::RegisterField::<8,0xff,1,0,u8,u8,BleVersionReg_SPEC,crate::common::R>::from_register(self,0)
4380 }
4381
4382 #[doc = "BLE Core Build Build number."]
4383 #[inline(always)]
4384 pub fn build(
4385 self,
4386 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, BleVersionReg_SPEC, crate::common::R>
4387 {
4388 crate::common::RegisterField::<0,0xff,1,0,u8,u8,BleVersionReg_SPEC,crate::common::R>::from_register(self,0)
4389 }
4390}
4391impl ::core::default::Default for BleVersionReg {
4392 #[inline(always)]
4393 fn default() -> BleVersionReg {
4394 <crate::RegValueT<BleVersionReg_SPEC> as RegisterValue<_>>::new(117506048)
4395 }
4396}
4397
4398#[doc(hidden)]
4399#[derive(Copy, Clone, Eq, PartialEq)]
4400pub struct BleWlnbdevReg_SPEC;
4401impl crate::sealed::RegSpec for BleWlnbdevReg_SPEC {
4402 type DataType = u32;
4403}
4404
4405#[doc = "Devices in white list"]
4406pub type BleWlnbdevReg = crate::RegValueT<BleWlnbdevReg_SPEC>;
4407
4408impl BleWlnbdevReg {
4409 #[doc = "Number of private devices in the white list."]
4410 #[inline(always)]
4411 pub fn nbprivdev(
4412 self,
4413 ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, BleWlnbdevReg_SPEC, crate::common::RW>
4414 {
4415 crate::common::RegisterField::<8,0xff,1,0,u8,u8,BleWlnbdevReg_SPEC,crate::common::RW>::from_register(self,0)
4416 }
4417
4418 #[doc = "Number of public devices in the white list."]
4419 #[inline(always)]
4420 pub fn nbpubdev(
4421 self,
4422 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, BleWlnbdevReg_SPEC, crate::common::RW>
4423 {
4424 crate::common::RegisterField::<0,0xff,1,0,u8,u8,BleWlnbdevReg_SPEC,crate::common::RW>::from_register(self,0)
4425 }
4426}
4427impl ::core::default::Default for BleWlnbdevReg {
4428 #[inline(always)]
4429 fn default() -> BleWlnbdevReg {
4430 <crate::RegValueT<BleWlnbdevReg_SPEC> as RegisterValue<_>>::new(0)
4431 }
4432}
4433
4434#[doc(hidden)]
4435#[derive(Copy, Clone, Eq, PartialEq)]
4436pub struct BleWlprivaddptrReg_SPEC;
4437impl crate::sealed::RegSpec for BleWlprivaddptrReg_SPEC {
4438 type DataType = u32;
4439}
4440
4441#[doc = "Start address of private devices list"]
4442pub type BleWlprivaddptrReg = crate::RegValueT<BleWlprivaddptrReg_SPEC>;
4443
4444impl BleWlprivaddptrReg {
4445 #[doc = "Start address pointer of the private devices white list."]
4446 #[inline(always)]
4447 pub fn wlprivaddptr(
4448 self,
4449 ) -> crate::common::RegisterField<
4450 0,
4451 0xffff,
4452 1,
4453 0,
4454 u16,
4455 u16,
4456 BleWlprivaddptrReg_SPEC,
4457 crate::common::RW,
4458 > {
4459 crate::common::RegisterField::<
4460 0,
4461 0xffff,
4462 1,
4463 0,
4464 u16,
4465 u16,
4466 BleWlprivaddptrReg_SPEC,
4467 crate::common::RW,
4468 >::from_register(self, 0)
4469 }
4470}
4471impl ::core::default::Default for BleWlprivaddptrReg {
4472 #[inline(always)]
4473 fn default() -> BleWlprivaddptrReg {
4474 <crate::RegValueT<BleWlprivaddptrReg_SPEC> as RegisterValue<_>>::new(0)
4475 }
4476}
4477
4478#[doc(hidden)]
4479#[derive(Copy, Clone, Eq, PartialEq)]
4480pub struct BleWlpubaddptrReg_SPEC;
4481impl crate::sealed::RegSpec for BleWlpubaddptrReg_SPEC {
4482 type DataType = u32;
4483}
4484
4485#[doc = "Start address of public devices list"]
4486pub type BleWlpubaddptrReg = crate::RegValueT<BleWlpubaddptrReg_SPEC>;
4487
4488impl BleWlpubaddptrReg {
4489 #[doc = "Start address pointer of the public devices white list."]
4490 #[inline(always)]
4491 pub fn wlpubaddptr(
4492 self,
4493 ) -> crate::common::RegisterField<
4494 0,
4495 0xffff,
4496 1,
4497 0,
4498 u16,
4499 u16,
4500 BleWlpubaddptrReg_SPEC,
4501 crate::common::RW,
4502 > {
4503 crate::common::RegisterField::<
4504 0,
4505 0xffff,
4506 1,
4507 0,
4508 u16,
4509 u16,
4510 BleWlpubaddptrReg_SPEC,
4511 crate::common::RW,
4512 >::from_register(self, 0)
4513 }
4514}
4515impl ::core::default::Default for BleWlpubaddptrReg {
4516 #[inline(always)]
4517 fn default() -> BleWlpubaddptrReg {
4518 <crate::RegValueT<BleWlpubaddptrReg_SPEC> as RegisterValue<_>>::new(0)
4519 }
4520}