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"FTDF registers"]
28unsafe impl ::core::marker::Send for super::Ftdf {}
29unsafe impl ::core::marker::Sync for super::Ftdf {}
30impl super::Ftdf {
31 #[allow(unused)]
32 #[inline(always)]
33 pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34 self.ptr
35 }
36
37 #[doc = "Build time"]
38 #[inline(always)]
39 pub const fn ftdf_buildtime_0_reg(
40 &self,
41 ) -> &'static crate::common::Reg<self::FtdfBuildtime0Reg_SPEC, crate::common::RW> {
42 unsafe {
43 crate::common::Reg::<self::FtdfBuildtime0Reg_SPEC, crate::common::RW>::from_ptr(
44 self._svd2pac_as_ptr().add(65552usize),
45 )
46 }
47 }
48
49 #[doc = "Build time"]
50 #[inline(always)]
51 pub const fn ftdf_buildtime_1_reg(
52 &self,
53 ) -> &'static crate::common::Reg<self::FtdfBuildtime1Reg_SPEC, crate::common::RW> {
54 unsafe {
55 crate::common::Reg::<self::FtdfBuildtime1Reg_SPEC, crate::common::RW>::from_ptr(
56 self._svd2pac_as_ptr().add(65556usize),
57 )
58 }
59 }
60
61 #[doc = "Build time"]
62 #[inline(always)]
63 pub const fn ftdf_buildtime_2_reg(
64 &self,
65 ) -> &'static crate::common::Reg<self::FtdfBuildtime2Reg_SPEC, crate::common::RW> {
66 unsafe {
67 crate::common::Reg::<self::FtdfBuildtime2Reg_SPEC, crate::common::RW>::from_ptr(
68 self._svd2pac_as_ptr().add(65560usize),
69 )
70 }
71 }
72
73 #[doc = "Build time"]
74 #[inline(always)]
75 pub const fn ftdf_buildtime_3_reg(
76 &self,
77 ) -> &'static crate::common::Reg<self::FtdfBuildtime3Reg_SPEC, crate::common::RW> {
78 unsafe {
79 crate::common::Reg::<self::FtdfBuildtime3Reg_SPEC, crate::common::RW>::from_ptr(
80 self._svd2pac_as_ptr().add(65564usize),
81 )
82 }
83 }
84
85 #[doc = "Debug control register"]
86 #[inline(always)]
87 pub const fn ftdf_debugcontrol_reg(
88 &self,
89 ) -> &'static crate::common::Reg<self::FtdfDebugcontrolReg_SPEC, crate::common::RW> {
90 unsafe {
91 crate::common::Reg::<self::FtdfDebugcontrolReg_SPEC, crate::common::RW>::from_ptr(
92 self._svd2pac_as_ptr().add(66448usize),
93 )
94 }
95 }
96
97 #[doc = "Value of event generator"]
98 #[inline(always)]
99 pub const fn ftdf_eventcurrval_reg(
100 &self,
101 ) -> &'static crate::common::Reg<self::FtdfEventcurrvalReg_SPEC, crate::common::RW> {
102 unsafe {
103 crate::common::Reg::<self::FtdfEventcurrvalReg_SPEC, crate::common::RW>::from_ptr(
104 self._svd2pac_as_ptr().add(65624usize),
105 )
106 }
107 }
108
109 #[doc = "Selection register events"]
110 #[inline(always)]
111 pub const fn ftdf_ftdf_ce_reg(
112 &self,
113 ) -> &'static crate::common::Reg<self::FtdfFtdfCeReg_SPEC, crate::common::RW> {
114 unsafe {
115 crate::common::Reg::<self::FtdfFtdfCeReg_SPEC, crate::common::RW>::from_ptr(
116 self._svd2pac_as_ptr().add(66128usize),
117 )
118 }
119 }
120
121 #[doc = "Mask selection register events"]
122 #[inline(always)]
123 pub const fn ftdf_ftdf_cm_reg(
124 &self,
125 ) -> &'static crate::common::Reg<self::FtdfFtdfCmReg_SPEC, crate::common::RW> {
126 unsafe {
127 crate::common::Reg::<self::FtdfFtdfCmReg_SPEC, crate::common::RW>::from_ptr(
128 self._svd2pac_as_ptr().add(66132usize),
129 )
130 }
131 }
132
133 #[doc = "Global control register"]
134 #[inline(always)]
135 pub const fn ftdf_glob_control_0_reg(
136 &self,
137 ) -> &'static crate::common::Reg<self::FtdfGlobControl0Reg_SPEC, crate::common::RW> {
138 unsafe {
139 crate::common::Reg::<self::FtdfGlobControl0Reg_SPEC, crate::common::RW>::from_ptr(
140 self._svd2pac_as_ptr().add(65568usize),
141 )
142 }
143 }
144
145 #[doc = "Global control register"]
146 #[inline(always)]
147 pub const fn ftdf_glob_control_1_reg(
148 &self,
149 ) -> &'static crate::common::Reg<self::FtdfGlobControl1Reg_SPEC, crate::common::RW> {
150 unsafe {
151 crate::common::Reg::<self::FtdfGlobControl1Reg_SPEC, crate::common::RW>::from_ptr(
152 self._svd2pac_as_ptr().add(65572usize),
153 )
154 }
155 }
156
157 #[doc = "Global control register"]
158 #[inline(always)]
159 pub const fn ftdf_glob_control_2_reg(
160 &self,
161 ) -> &'static crate::common::Reg<self::FtdfGlobControl2Reg_SPEC, crate::common::RW> {
162 unsafe {
163 crate::common::Reg::<self::FtdfGlobControl2Reg_SPEC, crate::common::RW>::from_ptr(
164 self._svd2pac_as_ptr().add(65576usize),
165 )
166 }
167 }
168
169 #[doc = "Global control register"]
170 #[inline(always)]
171 pub const fn ftdf_glob_control_3_reg(
172 &self,
173 ) -> &'static crate::common::Reg<self::FtdfGlobControl3Reg_SPEC, crate::common::RW> {
174 unsafe {
175 crate::common::Reg::<self::FtdfGlobControl3Reg_SPEC, crate::common::RW>::from_ptr(
176 self._svd2pac_as_ptr().add(65580usize),
177 )
178 }
179 }
180
181 #[doc = "Lmax reset register"]
182 #[inline(always)]
183 pub const fn ftdf_lmacreset_reg(
184 &self,
185 ) -> &'static crate::common::Reg<self::FtdfLmacresetReg_SPEC, crate::common::RW> {
186 unsafe {
187 crate::common::Reg::<self::FtdfLmacresetReg_SPEC, crate::common::RW>::from_ptr(
188 self._svd2pac_as_ptr().add(66400usize),
189 )
190 }
191 }
192
193 #[doc = "Lmac control register"]
194 #[inline(always)]
195 pub const fn ftdf_lmac_control_0_reg(
196 &self,
197 ) -> &'static crate::common::Reg<self::FtdfLmacControl0Reg_SPEC, crate::common::RW> {
198 unsafe {
199 crate::common::Reg::<self::FtdfLmacControl0Reg_SPEC, crate::common::RW>::from_ptr(
200 self._svd2pac_as_ptr().add(65584usize),
201 )
202 }
203 }
204
205 #[doc = "Lmac control register"]
206 #[inline(always)]
207 pub const fn ftdf_lmac_control_10_reg(
208 &self,
209 ) -> &'static crate::common::Reg<self::FtdfLmacControl10Reg_SPEC, crate::common::RW> {
210 unsafe {
211 crate::common::Reg::<self::FtdfLmacControl10Reg_SPEC, crate::common::RW>::from_ptr(
212 self._svd2pac_as_ptr().add(65804usize),
213 )
214 }
215 }
216
217 #[doc = "Lmac control register"]
218 #[inline(always)]
219 pub const fn ftdf_lmac_control_11_reg(
220 &self,
221 ) -> &'static crate::common::Reg<self::FtdfLmacControl11Reg_SPEC, crate::common::RW> {
222 unsafe {
223 crate::common::Reg::<self::FtdfLmacControl11Reg_SPEC, crate::common::RW>::from_ptr(
224 self._svd2pac_as_ptr().add(65644usize),
225 )
226 }
227 }
228
229 #[doc = "Lmac control register"]
230 #[inline(always)]
231 pub const fn ftdf_lmac_control_1_reg(
232 &self,
233 ) -> &'static crate::common::Reg<self::FtdfLmacControl1Reg_SPEC, crate::common::RW> {
234 unsafe {
235 crate::common::Reg::<self::FtdfLmacControl1Reg_SPEC, crate::common::RW>::from_ptr(
236 self._svd2pac_as_ptr().add(65600usize),
237 )
238 }
239 }
240
241 #[doc = "Lmac control register"]
242 #[inline(always)]
243 pub const fn ftdf_lmac_control_2_reg(
244 &self,
245 ) -> &'static crate::common::Reg<self::FtdfLmacControl2Reg_SPEC, crate::common::RW> {
246 unsafe {
247 crate::common::Reg::<self::FtdfLmacControl2Reg_SPEC, crate::common::RW>::from_ptr(
248 self._svd2pac_as_ptr().add(65604usize),
249 )
250 }
251 }
252
253 #[doc = "Lmac control register"]
254 #[inline(always)]
255 pub const fn ftdf_lmac_control_3_reg(
256 &self,
257 ) -> &'static crate::common::Reg<self::FtdfLmacControl3Reg_SPEC, crate::common::RW> {
258 unsafe {
259 crate::common::Reg::<self::FtdfLmacControl3Reg_SPEC, crate::common::RW>::from_ptr(
260 self._svd2pac_as_ptr().add(65608usize),
261 )
262 }
263 }
264
265 #[doc = "Lmac control register"]
266 #[inline(always)]
267 pub const fn ftdf_lmac_control_4_reg(
268 &self,
269 ) -> &'static crate::common::Reg<self::FtdfLmacControl4Reg_SPEC, crate::common::RW> {
270 unsafe {
271 crate::common::Reg::<self::FtdfLmacControl4Reg_SPEC, crate::common::RW>::from_ptr(
272 self._svd2pac_as_ptr().add(65632usize),
273 )
274 }
275 }
276
277 #[doc = "Lmac control register"]
278 #[inline(always)]
279 pub const fn ftdf_lmac_control_5_reg(
280 &self,
281 ) -> &'static crate::common::Reg<self::FtdfLmacControl5Reg_SPEC, crate::common::RW> {
282 unsafe {
283 crate::common::Reg::<self::FtdfLmacControl5Reg_SPEC, crate::common::RW>::from_ptr(
284 self._svd2pac_as_ptr().add(65636usize),
285 )
286 }
287 }
288
289 #[doc = "Lmac control register"]
290 #[inline(always)]
291 pub const fn ftdf_lmac_control_6_reg(
292 &self,
293 ) -> &'static crate::common::Reg<self::FtdfLmacControl6Reg_SPEC, crate::common::RW> {
294 unsafe {
295 crate::common::Reg::<self::FtdfLmacControl6Reg_SPEC, crate::common::RW>::from_ptr(
296 self._svd2pac_as_ptr().add(65640usize),
297 )
298 }
299 }
300
301 #[doc = "Lmac control register"]
302 #[inline(always)]
303 pub const fn ftdf_lmac_control_7_reg(
304 &self,
305 ) -> &'static crate::common::Reg<self::FtdfLmacControl7Reg_SPEC, crate::common::RW> {
306 unsafe {
307 crate::common::Reg::<self::FtdfLmacControl7Reg_SPEC, crate::common::RW>::from_ptr(
308 self._svd2pac_as_ptr().add(65792usize),
309 )
310 }
311 }
312
313 #[doc = "Lmac control register"]
314 #[inline(always)]
315 pub const fn ftdf_lmac_control_8_reg(
316 &self,
317 ) -> &'static crate::common::Reg<self::FtdfLmacControl8Reg_SPEC, crate::common::RW> {
318 unsafe {
319 crate::common::Reg::<self::FtdfLmacControl8Reg_SPEC, crate::common::RW>::from_ptr(
320 self._svd2pac_as_ptr().add(65796usize),
321 )
322 }
323 }
324
325 #[doc = "Lmac control register"]
326 #[inline(always)]
327 pub const fn ftdf_lmac_control_9_reg(
328 &self,
329 ) -> &'static crate::common::Reg<self::FtdfLmacControl9Reg_SPEC, crate::common::RW> {
330 unsafe {
331 crate::common::Reg::<self::FtdfLmacControl9Reg_SPEC, crate::common::RW>::from_ptr(
332 self._svd2pac_as_ptr().add(65800usize),
333 )
334 }
335 }
336
337 #[doc = "Lmac delta control register"]
338 #[inline(always)]
339 pub const fn ftdf_lmac_control_delta_reg(
340 &self,
341 ) -> &'static crate::common::Reg<self::FtdfLmacControlDeltaReg_SPEC, crate::common::RW> {
342 unsafe {
343 crate::common::Reg::<self::FtdfLmacControlDeltaReg_SPEC, crate::common::RW>::from_ptr(
344 self._svd2pac_as_ptr().add(65648usize),
345 )
346 }
347 }
348
349 #[doc = "Lmac mask control register"]
350 #[inline(always)]
351 pub const fn ftdf_lmac_control_mask_reg(
352 &self,
353 ) -> &'static crate::common::Reg<self::FtdfLmacControlMaskReg_SPEC, crate::common::RW> {
354 unsafe {
355 crate::common::Reg::<self::FtdfLmacControlMaskReg_SPEC, crate::common::RW>::from_ptr(
356 self._svd2pac_as_ptr().add(65664usize),
357 )
358 }
359 }
360
361 #[doc = "Lmac control register"]
362 #[inline(always)]
363 pub const fn ftdf_lmac_control_os_reg(
364 &self,
365 ) -> &'static crate::common::Reg<self::FtdfLmacControlOsReg_SPEC, crate::common::RW> {
366 unsafe {
367 crate::common::Reg::<self::FtdfLmacControlOsReg_SPEC, crate::common::RW>::from_ptr(
368 self._svd2pac_as_ptr().add(65616usize),
369 )
370 }
371 }
372
373 #[doc = "Lmac status register"]
374 #[inline(always)]
375 pub const fn ftdf_lmac_control_status_reg(
376 &self,
377 ) -> &'static crate::common::Reg<self::FtdfLmacControlStatusReg_SPEC, crate::common::RW> {
378 unsafe {
379 crate::common::Reg::<self::FtdfLmacControlStatusReg_SPEC, crate::common::RW>::from_ptr(
380 self._svd2pac_as_ptr().add(65620usize),
381 )
382 }
383 }
384
385 #[doc = "Lmac event regsiter"]
386 #[inline(always)]
387 pub const fn ftdf_lmac_event_reg(
388 &self,
389 ) -> &'static crate::common::Reg<self::FtdfLmacEventReg_SPEC, crate::common::RW> {
390 unsafe {
391 crate::common::Reg::<self::FtdfLmacEventReg_SPEC, crate::common::RW>::from_ptr(
392 self._svd2pac_as_ptr().add(65680usize),
393 )
394 }
395 }
396
397 #[doc = "Lmax manual PHY register"]
398 #[inline(always)]
399 pub const fn ftdf_lmac_manual_1_reg(
400 &self,
401 ) -> &'static crate::common::Reg<self::FtdfLmacManual1Reg_SPEC, crate::common::RW> {
402 unsafe {
403 crate::common::Reg::<self::FtdfLmacManual1Reg_SPEC, crate::common::RW>::from_ptr(
404 self._svd2pac_as_ptr().add(65696usize),
405 )
406 }
407 }
408
409 #[doc = "One shot register triggers transmission in manual mode"]
410 #[inline(always)]
411 pub const fn ftdf_lmac_manual_os_reg(
412 &self,
413 ) -> &'static crate::common::Reg<self::FtdfLmacManualOsReg_SPEC, crate::common::RW> {
414 unsafe {
415 crate::common::Reg::<self::FtdfLmacManualOsReg_SPEC, crate::common::RW>::from_ptr(
416 self._svd2pac_as_ptr().add(65700usize),
417 )
418 }
419 }
420
421 #[doc = "Lmac status register in manual mode"]
422 #[inline(always)]
423 pub const fn ftdf_lmac_manual_status_reg(
424 &self,
425 ) -> &'static crate::common::Reg<self::FtdfLmacManualStatusReg_SPEC, crate::common::RW> {
426 unsafe {
427 crate::common::Reg::<self::FtdfLmacManualStatusReg_SPEC, crate::common::RW>::from_ptr(
428 self._svd2pac_as_ptr().add(65704usize),
429 )
430 }
431 }
432
433 #[doc = "Lmac mask register"]
434 #[inline(always)]
435 pub const fn ftdf_lmac_mask_reg(
436 &self,
437 ) -> &'static crate::common::Reg<self::FtdfLmacMaskReg_SPEC, crate::common::RW> {
438 unsafe {
439 crate::common::Reg::<self::FtdfLmacMaskReg_SPEC, crate::common::RW>::from_ptr(
440 self._svd2pac_as_ptr().add(65684usize),
441 )
442 }
443 }
444
445 #[inline(always)]
446 pub const fn ftdf_long_addr_0_0_reg(
447 &self,
448 ) -> &'static crate::common::Reg<self::FtdfLongAddr00Reg_SPEC, crate::common::RW> {
449 unsafe {
450 crate::common::Reg::<self::FtdfLongAddr00Reg_SPEC, crate::common::RW>::from_ptr(
451 self._svd2pac_as_ptr().add(73728usize),
452 )
453 }
454 }
455
456 #[inline(always)]
457 pub const fn ftdf_long_addr_1_0_reg(
458 &self,
459 ) -> &'static crate::common::Reg<self::FtdfLongAddr10Reg_SPEC, crate::common::RW> {
460 unsafe {
461 crate::common::Reg::<self::FtdfLongAddr10Reg_SPEC, crate::common::RW>::from_ptr(
462 self._svd2pac_as_ptr().add(73732usize),
463 )
464 }
465 }
466
467 #[doc = "Maximum time to wait for a ACK"]
468 #[inline(always)]
469 pub const fn ftdf_macackwaitduration_reg(
470 &self,
471 ) -> &'static crate::common::Reg<self::FtdfMacackwaitdurationReg_SPEC, crate::common::RW> {
472 unsafe {
473 crate::common::Reg::<self::FtdfMacackwaitdurationReg_SPEC, crate::common::RW>::from_ptr(
474 self._svd2pac_as_ptr().add(65592usize),
475 )
476 }
477 }
478
479 #[doc = "Maximum time to wait for an enhanced ACK frame"]
480 #[inline(always)]
481 pub const fn ftdf_macenhackwaitduration_reg(
482 &self,
483 ) -> &'static crate::common::Reg<self::FtdfMacenhackwaitdurationReg_SPEC, crate::common::RW>
484 {
485 unsafe {
486 crate::common::Reg::<self::FtdfMacenhackwaitdurationReg_SPEC, crate::common::RW>::from_ptr(self._svd2pac_as_ptr().add(65596usize))
487 }
488 }
489
490 #[doc = "Lmac FCS error register"]
491 #[inline(always)]
492 pub const fn ftdf_macfcserrorcount_reg(
493 &self,
494 ) -> &'static crate::common::Reg<self::FtdfMacfcserrorcountReg_SPEC, crate::common::RW> {
495 unsafe {
496 crate::common::Reg::<self::FtdfMacfcserrorcountReg_SPEC, crate::common::RW>::from_ptr(
497 self._svd2pac_as_ptr().add(66368usize),
498 )
499 }
500 }
501
502 #[doc = "Discarded frames register"]
503 #[inline(always)]
504 pub const fn ftdf_macrxaddrfailfrmcnt_reg(
505 &self,
506 ) -> &'static crate::common::Reg<self::FtdfMacrxaddrfailfrmcntReg_SPEC, crate::common::RW> {
507 unsafe {
508 crate::common::Reg::<self::FtdfMacrxaddrfailfrmcntReg_SPEC, crate::common::RW>::from_ptr(
509 self._svd2pac_as_ptr().add(66328usize),
510 )
511 }
512 }
513
514 #[doc = "Received acknowledgment frames"]
515 #[inline(always)]
516 pub const fn ftdf_macrxstdackfrmokcnt_reg(
517 &self,
518 ) -> &'static crate::common::Reg<self::FtdfMacrxstdackfrmokcntReg_SPEC, crate::common::RW> {
519 unsafe {
520 crate::common::Reg::<self::FtdfMacrxstdackfrmokcntReg_SPEC, crate::common::RW>::from_ptr(
521 self._svd2pac_as_ptr().add(66324usize),
522 )
523 }
524 }
525
526 #[doc = "Unsupported frames register"]
527 #[inline(always)]
528 pub const fn ftdf_macrxunsupfrmcnt_reg(
529 &self,
530 ) -> &'static crate::common::Reg<self::FtdfMacrxunsupfrmcntReg_SPEC, crate::common::RW> {
531 unsafe {
532 crate::common::Reg::<self::FtdfMacrxunsupfrmcntReg_SPEC, crate::common::RW>::from_ptr(
533 self._svd2pac_as_ptr().add(66332usize),
534 )
535 }
536 }
537
538 #[doc = "Time left until next ACK is sent (us)"]
539 #[inline(always)]
540 pub const fn ftdf_mactstxackdelayval_reg(
541 &self,
542 ) -> &'static crate::common::Reg<self::FtdfMactstxackdelayvalReg_SPEC, crate::common::RW> {
543 unsafe {
544 crate::common::Reg::<self::FtdfMactstxackdelayvalReg_SPEC, crate::common::RW>::from_ptr(
545 self._svd2pac_as_ptr().add(65656usize),
546 )
547 }
548 }
549
550 #[doc = "Transmitted acknowledgment frames"]
551 #[inline(always)]
552 pub const fn ftdf_mactxstdackfrmcnt_reg(
553 &self,
554 ) -> &'static crate::common::Reg<self::FtdfMactxstdackfrmcntReg_SPEC, crate::common::RW> {
555 unsafe {
556 crate::common::Reg::<self::FtdfMactxstdackfrmcntReg_SPEC, crate::common::RW>::from_ptr(
557 self._svd2pac_as_ptr().add(66320usize),
558 )
559 }
560 }
561
562 #[doc = "Lmac PHY parameter register"]
563 #[inline(always)]
564 pub const fn ftdf_phy_parameters_0_reg(
565 &self,
566 ) -> &'static crate::common::Reg<self::FtdfPhyParameters0Reg_SPEC, crate::common::RW> {
567 unsafe {
568 crate::common::Reg::<self::FtdfPhyParameters0Reg_SPEC, crate::common::RW>::from_ptr(
569 self._svd2pac_as_ptr().add(65920usize),
570 )
571 }
572 }
573
574 #[doc = "Lmac PHY parameter register"]
575 #[inline(always)]
576 pub const fn ftdf_phy_parameters_1_reg(
577 &self,
578 ) -> &'static crate::common::Reg<self::FtdfPhyParameters1Reg_SPEC, crate::common::RW> {
579 unsafe {
580 crate::common::Reg::<self::FtdfPhyParameters1Reg_SPEC, crate::common::RW>::from_ptr(
581 self._svd2pac_as_ptr().add(65924usize),
582 )
583 }
584 }
585
586 #[doc = "Lmac PHY parameter register"]
587 #[inline(always)]
588 pub const fn ftdf_phy_parameters_2_reg(
589 &self,
590 ) -> &'static crate::common::Reg<self::FtdfPhyParameters2Reg_SPEC, crate::common::RW> {
591 unsafe {
592 crate::common::Reg::<self::FtdfPhyParameters2Reg_SPEC, crate::common::RW>::from_ptr(
593 self._svd2pac_as_ptr().add(65928usize),
594 )
595 }
596 }
597
598 #[doc = "Lmac PHY parameter register"]
599 #[inline(always)]
600 pub const fn ftdf_phy_parameters_3_reg(
601 &self,
602 ) -> &'static crate::common::Reg<self::FtdfPhyParameters3Reg_SPEC, crate::common::RW> {
603 unsafe {
604 crate::common::Reg::<self::FtdfPhyParameters3Reg_SPEC, crate::common::RW>::from_ptr(
605 self._svd2pac_as_ptr().add(65932usize),
606 )
607 }
608 }
609
610 #[doc = "Name of the release"]
611 #[inline(always)]
612 pub const fn ftdf_rel_name_0_reg(
613 &self,
614 ) -> &'static crate::common::Reg<self::FtdfRelName0Reg_SPEC, crate::common::RW> {
615 unsafe {
616 crate::common::Reg::<self::FtdfRelName0Reg_SPEC, crate::common::RW>::from_ptr(
617 self._svd2pac_as_ptr().add(65536usize),
618 )
619 }
620 }
621
622 #[doc = "Name of the release"]
623 #[inline(always)]
624 pub const fn ftdf_rel_name_1_reg(
625 &self,
626 ) -> &'static crate::common::Reg<self::FtdfRelName1Reg_SPEC, crate::common::RW> {
627 unsafe {
628 crate::common::Reg::<self::FtdfRelName1Reg_SPEC, crate::common::RW>::from_ptr(
629 self._svd2pac_as_ptr().add(65540usize),
630 )
631 }
632 }
633
634 #[doc = "Name of the release"]
635 #[inline(always)]
636 pub const fn ftdf_rel_name_2_reg(
637 &self,
638 ) -> &'static crate::common::Reg<self::FtdfRelName2Reg_SPEC, crate::common::RW> {
639 unsafe {
640 crate::common::Reg::<self::FtdfRelName2Reg_SPEC, crate::common::RW>::from_ptr(
641 self._svd2pac_as_ptr().add(65544usize),
642 )
643 }
644 }
645
646 #[doc = "Name of the release"]
647 #[inline(always)]
648 pub const fn ftdf_rel_name_3_reg(
649 &self,
650 ) -> &'static crate::common::Reg<self::FtdfRelName3Reg_SPEC, crate::common::RW> {
651 unsafe {
652 crate::common::Reg::<self::FtdfRelName3Reg_SPEC, crate::common::RW>::from_ptr(
653 self._svd2pac_as_ptr().add(65548usize),
654 )
655 }
656 }
657
658 #[doc = "Receive control register"]
659 #[inline(always)]
660 pub const fn ftdf_rx_control_0_reg(
661 &self,
662 ) -> &'static crate::common::Reg<self::FtdfRxControl0Reg_SPEC, crate::common::RW> {
663 unsafe {
664 crate::common::Reg::<self::FtdfRxControl0Reg_SPEC, crate::common::RW>::from_ptr(
665 self._svd2pac_as_ptr().add(66048usize),
666 )
667 }
668 }
669
670 #[doc = "Receive event register"]
671 #[inline(always)]
672 pub const fn ftdf_rx_event_reg(
673 &self,
674 ) -> &'static crate::common::Reg<self::FtdfRxEventReg_SPEC, crate::common::RW> {
675 unsafe {
676 crate::common::Reg::<self::FtdfRxEventReg_SPEC, crate::common::RW>::from_ptr(
677 self._svd2pac_as_ptr().add(66052usize),
678 )
679 }
680 }
681
682 #[doc = "Address receive fifo 0"]
683 #[inline(always)]
684 pub const fn ftdf_rx_fifo_0_0_reg(
685 &self,
686 ) -> &'static crate::common::Reg<self::FtdfRxFifo00Reg_SPEC, crate::common::RW> {
687 unsafe {
688 crate::common::Reg::<self::FtdfRxFifo00Reg_SPEC, crate::common::RW>::from_ptr(
689 self._svd2pac_as_ptr().add(32768usize),
690 )
691 }
692 }
693
694 #[doc = "Address transmit fifo 1"]
695 #[inline(always)]
696 pub const fn ftdf_rx_fifo_1_0_reg(
697 &self,
698 ) -> &'static crate::common::Reg<self::FtdfRxFifo10Reg_SPEC, crate::common::RW> {
699 unsafe {
700 crate::common::Reg::<self::FtdfRxFifo10Reg_SPEC, crate::common::RW>::from_ptr(
701 self._svd2pac_as_ptr().add(32896usize),
702 )
703 }
704 }
705
706 #[doc = "Address transmit fifo 2"]
707 #[inline(always)]
708 pub const fn ftdf_rx_fifo_2_0_reg(
709 &self,
710 ) -> &'static crate::common::Reg<self::FtdfRxFifo20Reg_SPEC, crate::common::RW> {
711 unsafe {
712 crate::common::Reg::<self::FtdfRxFifo20Reg_SPEC, crate::common::RW>::from_ptr(
713 self._svd2pac_as_ptr().add(33024usize),
714 )
715 }
716 }
717
718 #[doc = "Address transmit fifo 3"]
719 #[inline(always)]
720 pub const fn ftdf_rx_fifo_3_0_reg(
721 &self,
722 ) -> &'static crate::common::Reg<self::FtdfRxFifo30Reg_SPEC, crate::common::RW> {
723 unsafe {
724 crate::common::Reg::<self::FtdfRxFifo30Reg_SPEC, crate::common::RW>::from_ptr(
725 self._svd2pac_as_ptr().add(33152usize),
726 )
727 }
728 }
729
730 #[doc = "Address transmit fifo 4"]
731 #[inline(always)]
732 pub const fn ftdf_rx_fifo_4_0_reg(
733 &self,
734 ) -> &'static crate::common::Reg<self::FtdfRxFifo40Reg_SPEC, crate::common::RW> {
735 unsafe {
736 crate::common::Reg::<self::FtdfRxFifo40Reg_SPEC, crate::common::RW>::from_ptr(
737 self._svd2pac_as_ptr().add(33280usize),
738 )
739 }
740 }
741
742 #[doc = "Address transmit fifo 5"]
743 #[inline(always)]
744 pub const fn ftdf_rx_fifo_5_0_reg(
745 &self,
746 ) -> &'static crate::common::Reg<self::FtdfRxFifo50Reg_SPEC, crate::common::RW> {
747 unsafe {
748 crate::common::Reg::<self::FtdfRxFifo50Reg_SPEC, crate::common::RW>::from_ptr(
749 self._svd2pac_as_ptr().add(33408usize),
750 )
751 }
752 }
753
754 #[doc = "Address transmit fifo 6"]
755 #[inline(always)]
756 pub const fn ftdf_rx_fifo_6_0_reg(
757 &self,
758 ) -> &'static crate::common::Reg<self::FtdfRxFifo60Reg_SPEC, crate::common::RW> {
759 unsafe {
760 crate::common::Reg::<self::FtdfRxFifo60Reg_SPEC, crate::common::RW>::from_ptr(
761 self._svd2pac_as_ptr().add(33536usize),
762 )
763 }
764 }
765
766 #[doc = "Address transmit fifo 7"]
767 #[inline(always)]
768 pub const fn ftdf_rx_fifo_7_0_reg(
769 &self,
770 ) -> &'static crate::common::Reg<self::FtdfRxFifo70Reg_SPEC, crate::common::RW> {
771 unsafe {
772 crate::common::Reg::<self::FtdfRxFifo70Reg_SPEC, crate::common::RW>::from_ptr(
773 self._svd2pac_as_ptr().add(33664usize),
774 )
775 }
776 }
777
778 #[doc = "Receive event mask register"]
779 #[inline(always)]
780 pub const fn ftdf_rx_mask_reg(
781 &self,
782 ) -> &'static crate::common::Reg<self::FtdfRxMaskReg_SPEC, crate::common::RW> {
783 unsafe {
784 crate::common::Reg::<self::FtdfRxMaskReg_SPEC, crate::common::RW>::from_ptr(
785 self._svd2pac_as_ptr().add(66056usize),
786 )
787 }
788 }
789
790 #[doc = "Receive metadata register 0"]
791 #[inline(always)]
792 pub const fn ftdf_rx_meta_0_0_reg(
793 &self,
794 ) -> &'static crate::common::Reg<self::FtdfRxMeta00Reg_SPEC, crate::common::RW> {
795 unsafe {
796 crate::common::Reg::<self::FtdfRxMeta00Reg_SPEC, crate::common::RW>::from_ptr(
797 self._svd2pac_as_ptr().add(640usize),
798 )
799 }
800 }
801
802 #[doc = "Receive metadata register 1"]
803 #[inline(always)]
804 pub const fn ftdf_rx_meta_0_1_reg(
805 &self,
806 ) -> &'static crate::common::Reg<self::FtdfRxMeta01Reg_SPEC, crate::common::RW> {
807 unsafe {
808 crate::common::Reg::<self::FtdfRxMeta01Reg_SPEC, crate::common::RW>::from_ptr(
809 self._svd2pac_as_ptr().add(656usize),
810 )
811 }
812 }
813
814 #[doc = "Receive metadata register 2"]
815 #[inline(always)]
816 pub const fn ftdf_rx_meta_0_2_reg(
817 &self,
818 ) -> &'static crate::common::Reg<self::FtdfRxMeta02Reg_SPEC, crate::common::RW> {
819 unsafe {
820 crate::common::Reg::<self::FtdfRxMeta02Reg_SPEC, crate::common::RW>::from_ptr(
821 self._svd2pac_as_ptr().add(672usize),
822 )
823 }
824 }
825
826 #[doc = "Receive metadata register 3"]
827 #[inline(always)]
828 pub const fn ftdf_rx_meta_0_3_reg(
829 &self,
830 ) -> &'static crate::common::Reg<self::FtdfRxMeta03Reg_SPEC, crate::common::RW> {
831 unsafe {
832 crate::common::Reg::<self::FtdfRxMeta03Reg_SPEC, crate::common::RW>::from_ptr(
833 self._svd2pac_as_ptr().add(688usize),
834 )
835 }
836 }
837
838 #[doc = "Receive metadata register 4"]
839 #[inline(always)]
840 pub const fn ftdf_rx_meta_0_4_reg(
841 &self,
842 ) -> &'static crate::common::Reg<self::FtdfRxMeta04Reg_SPEC, crate::common::RW> {
843 unsafe {
844 crate::common::Reg::<self::FtdfRxMeta04Reg_SPEC, crate::common::RW>::from_ptr(
845 self._svd2pac_as_ptr().add(704usize),
846 )
847 }
848 }
849
850 #[doc = "Receive metadata register 5"]
851 #[inline(always)]
852 pub const fn ftdf_rx_meta_0_5_reg(
853 &self,
854 ) -> &'static crate::common::Reg<self::FtdfRxMeta05Reg_SPEC, crate::common::RW> {
855 unsafe {
856 crate::common::Reg::<self::FtdfRxMeta05Reg_SPEC, crate::common::RW>::from_ptr(
857 self._svd2pac_as_ptr().add(720usize),
858 )
859 }
860 }
861
862 #[doc = "Receive metadata register 6"]
863 #[inline(always)]
864 pub const fn ftdf_rx_meta_0_6_reg(
865 &self,
866 ) -> &'static crate::common::Reg<self::FtdfRxMeta06Reg_SPEC, crate::common::RW> {
867 unsafe {
868 crate::common::Reg::<self::FtdfRxMeta06Reg_SPEC, crate::common::RW>::from_ptr(
869 self._svd2pac_as_ptr().add(736usize),
870 )
871 }
872 }
873
874 #[doc = "Receive metadata register 7"]
875 #[inline(always)]
876 pub const fn ftdf_rx_meta_0_7_reg(
877 &self,
878 ) -> &'static crate::common::Reg<self::FtdfRxMeta07Reg_SPEC, crate::common::RW> {
879 unsafe {
880 crate::common::Reg::<self::FtdfRxMeta07Reg_SPEC, crate::common::RW>::from_ptr(
881 self._svd2pac_as_ptr().add(752usize),
882 )
883 }
884 }
885
886 #[doc = "Receive metadata register 0"]
887 #[inline(always)]
888 pub const fn ftdf_rx_meta_1_0_reg(
889 &self,
890 ) -> &'static crate::common::Reg<self::FtdfRxMeta10Reg_SPEC, crate::common::RW> {
891 unsafe {
892 crate::common::Reg::<self::FtdfRxMeta10Reg_SPEC, crate::common::RW>::from_ptr(
893 self._svd2pac_as_ptr().add(644usize),
894 )
895 }
896 }
897
898 #[doc = "Receive metadata register 1"]
899 #[inline(always)]
900 pub const fn ftdf_rx_meta_1_1_reg(
901 &self,
902 ) -> &'static crate::common::Reg<self::FtdfRxMeta11Reg_SPEC, crate::common::RW> {
903 unsafe {
904 crate::common::Reg::<self::FtdfRxMeta11Reg_SPEC, crate::common::RW>::from_ptr(
905 self._svd2pac_as_ptr().add(660usize),
906 )
907 }
908 }
909
910 #[doc = "Receive metadata register 2"]
911 #[inline(always)]
912 pub const fn ftdf_rx_meta_1_2_reg(
913 &self,
914 ) -> &'static crate::common::Reg<self::FtdfRxMeta12Reg_SPEC, crate::common::RW> {
915 unsafe {
916 crate::common::Reg::<self::FtdfRxMeta12Reg_SPEC, crate::common::RW>::from_ptr(
917 self._svd2pac_as_ptr().add(676usize),
918 )
919 }
920 }
921
922 #[doc = "Receive metadata register 3"]
923 #[inline(always)]
924 pub const fn ftdf_rx_meta_1_3_reg(
925 &self,
926 ) -> &'static crate::common::Reg<self::FtdfRxMeta13Reg_SPEC, crate::common::RW> {
927 unsafe {
928 crate::common::Reg::<self::FtdfRxMeta13Reg_SPEC, crate::common::RW>::from_ptr(
929 self._svd2pac_as_ptr().add(692usize),
930 )
931 }
932 }
933
934 #[doc = "Receive metadata register 4"]
935 #[inline(always)]
936 pub const fn ftdf_rx_meta_1_4_reg(
937 &self,
938 ) -> &'static crate::common::Reg<self::FtdfRxMeta14Reg_SPEC, crate::common::RW> {
939 unsafe {
940 crate::common::Reg::<self::FtdfRxMeta14Reg_SPEC, crate::common::RW>::from_ptr(
941 self._svd2pac_as_ptr().add(708usize),
942 )
943 }
944 }
945
946 #[doc = "Receive metadata register 5"]
947 #[inline(always)]
948 pub const fn ftdf_rx_meta_1_5_reg(
949 &self,
950 ) -> &'static crate::common::Reg<self::FtdfRxMeta15Reg_SPEC, crate::common::RW> {
951 unsafe {
952 crate::common::Reg::<self::FtdfRxMeta15Reg_SPEC, crate::common::RW>::from_ptr(
953 self._svd2pac_as_ptr().add(724usize),
954 )
955 }
956 }
957
958 #[doc = "Receive metadata register 6"]
959 #[inline(always)]
960 pub const fn ftdf_rx_meta_1_6_reg(
961 &self,
962 ) -> &'static crate::common::Reg<self::FtdfRxMeta16Reg_SPEC, crate::common::RW> {
963 unsafe {
964 crate::common::Reg::<self::FtdfRxMeta16Reg_SPEC, crate::common::RW>::from_ptr(
965 self._svd2pac_as_ptr().add(740usize),
966 )
967 }
968 }
969
970 #[doc = "Receive metadata register 7"]
971 #[inline(always)]
972 pub const fn ftdf_rx_meta_1_7_reg(
973 &self,
974 ) -> &'static crate::common::Reg<self::FtdfRxMeta17Reg_SPEC, crate::common::RW> {
975 unsafe {
976 crate::common::Reg::<self::FtdfRxMeta17Reg_SPEC, crate::common::RW>::from_ptr(
977 self._svd2pac_as_ptr().add(756usize),
978 )
979 }
980 }
981
982 #[doc = "Receive status delta register"]
983 #[inline(always)]
984 pub const fn ftdf_rx_status_delta_reg(
985 &self,
986 ) -> &'static crate::common::Reg<self::FtdfRxStatusDeltaReg_SPEC, crate::common::RW> {
987 unsafe {
988 crate::common::Reg::<self::FtdfRxStatusDeltaReg_SPEC, crate::common::RW>::from_ptr(
989 self._svd2pac_as_ptr().add(66080usize),
990 )
991 }
992 }
993
994 #[doc = "Receive status delta mask register"]
995 #[inline(always)]
996 pub const fn ftdf_rx_status_mask_reg(
997 &self,
998 ) -> &'static crate::common::Reg<self::FtdfRxStatusMaskReg_SPEC, crate::common::RW> {
999 unsafe {
1000 crate::common::Reg::<self::FtdfRxStatusMaskReg_SPEC, crate::common::RW>::from_ptr(
1001 self._svd2pac_as_ptr().add(66084usize),
1002 )
1003 }
1004 }
1005
1006 #[doc = "Receive status register"]
1007 #[inline(always)]
1008 pub const fn ftdf_rx_status_reg(
1009 &self,
1010 ) -> &'static crate::common::Reg<self::FtdfRxStatusReg_SPEC, crate::common::RW> {
1011 unsafe {
1012 crate::common::Reg::<self::FtdfRxStatusReg_SPEC, crate::common::RW>::from_ptr(
1013 self._svd2pac_as_ptr().add(66060usize),
1014 )
1015 }
1016 }
1017
1018 #[doc = "Seckey register"]
1019 #[inline(always)]
1020 pub const fn ftdf_seckey_0_reg(
1021 &self,
1022 ) -> &'static crate::common::Reg<self::FtdfSeckey0Reg_SPEC, crate::common::RW> {
1023 unsafe {
1024 crate::common::Reg::<self::FtdfSeckey0Reg_SPEC, crate::common::RW>::from_ptr(
1025 self._svd2pac_as_ptr().add(65816usize),
1026 )
1027 }
1028 }
1029
1030 #[doc = "Seckey register"]
1031 #[inline(always)]
1032 pub const fn ftdf_seckey_1_reg(
1033 &self,
1034 ) -> &'static crate::common::Reg<self::FtdfSeckey1Reg_SPEC, crate::common::RW> {
1035 unsafe {
1036 crate::common::Reg::<self::FtdfSeckey1Reg_SPEC, crate::common::RW>::from_ptr(
1037 self._svd2pac_as_ptr().add(65820usize),
1038 )
1039 }
1040 }
1041
1042 #[doc = "SecKey register"]
1043 #[inline(always)]
1044 pub const fn ftdf_seckey_2_reg(
1045 &self,
1046 ) -> &'static crate::common::Reg<self::FtdfSeckey2Reg_SPEC, crate::common::RW> {
1047 unsafe {
1048 crate::common::Reg::<self::FtdfSeckey2Reg_SPEC, crate::common::RW>::from_ptr(
1049 self._svd2pac_as_ptr().add(65824usize),
1050 )
1051 }
1052 }
1053
1054 #[doc = "Seckey register"]
1055 #[inline(always)]
1056 pub const fn ftdf_seckey_3_reg(
1057 &self,
1058 ) -> &'static crate::common::Reg<self::FtdfSeckey3Reg_SPEC, crate::common::RW> {
1059 unsafe {
1060 crate::common::Reg::<self::FtdfSeckey3Reg_SPEC, crate::common::RW>::from_ptr(
1061 self._svd2pac_as_ptr().add(65828usize),
1062 )
1063 }
1064 }
1065
1066 #[doc = "Nonce register used for encryption/decryption"]
1067 #[inline(always)]
1068 pub const fn ftdf_secnonce_0_reg(
1069 &self,
1070 ) -> &'static crate::common::Reg<self::FtdfSecnonce0Reg_SPEC, crate::common::RW> {
1071 unsafe {
1072 crate::common::Reg::<self::FtdfSecnonce0Reg_SPEC, crate::common::RW>::from_ptr(
1073 self._svd2pac_as_ptr().add(65832usize),
1074 )
1075 }
1076 }
1077
1078 #[doc = "Nonce register used for encryption/decryption"]
1079 #[inline(always)]
1080 pub const fn ftdf_secnonce_1_reg(
1081 &self,
1082 ) -> &'static crate::common::Reg<self::FtdfSecnonce1Reg_SPEC, crate::common::RW> {
1083 unsafe {
1084 crate::common::Reg::<self::FtdfSecnonce1Reg_SPEC, crate::common::RW>::from_ptr(
1085 self._svd2pac_as_ptr().add(65836usize),
1086 )
1087 }
1088 }
1089
1090 #[doc = "Nonce register used for encryption/decryption"]
1091 #[inline(always)]
1092 pub const fn ftdf_secnonce_2_reg(
1093 &self,
1094 ) -> &'static crate::common::Reg<self::FtdfSecnonce2Reg_SPEC, crate::common::RW> {
1095 unsafe {
1096 crate::common::Reg::<self::FtdfSecnonce2Reg_SPEC, crate::common::RW>::from_ptr(
1097 self._svd2pac_as_ptr().add(65840usize),
1098 )
1099 }
1100 }
1101
1102 #[doc = "Nonce register used for encryption/decryption"]
1103 #[inline(always)]
1104 pub const fn ftdf_secnonce_3_reg(
1105 &self,
1106 ) -> &'static crate::common::Reg<self::FtdfSecnonce3Reg_SPEC, crate::common::RW> {
1107 unsafe {
1108 crate::common::Reg::<self::FtdfSecnonce3Reg_SPEC, crate::common::RW>::from_ptr(
1109 self._svd2pac_as_ptr().add(65844usize),
1110 )
1111 }
1112 }
1113
1114 #[doc = "Security register"]
1115 #[inline(always)]
1116 pub const fn ftdf_security_0_reg(
1117 &self,
1118 ) -> &'static crate::common::Reg<self::FtdfSecurity0Reg_SPEC, crate::common::RW> {
1119 unsafe {
1120 crate::common::Reg::<self::FtdfSecurity0Reg_SPEC, crate::common::RW>::from_ptr(
1121 self._svd2pac_as_ptr().add(65808usize),
1122 )
1123 }
1124 }
1125
1126 #[doc = "Security register"]
1127 #[inline(always)]
1128 pub const fn ftdf_security_1_reg(
1129 &self,
1130 ) -> &'static crate::common::Reg<self::FtdfSecurity1Reg_SPEC, crate::common::RW> {
1131 unsafe {
1132 crate::common::Reg::<self::FtdfSecurity1Reg_SPEC, crate::common::RW>::from_ptr(
1133 self._svd2pac_as_ptr().add(65812usize),
1134 )
1135 }
1136 }
1137
1138 #[doc = "security event mask register"]
1139 #[inline(always)]
1140 pub const fn ftdf_security_eventmask_reg(
1141 &self,
1142 ) -> &'static crate::common::Reg<self::FtdfSecurityEventmaskReg_SPEC, crate::common::RW> {
1143 unsafe {
1144 crate::common::Reg::<self::FtdfSecurityEventmaskReg_SPEC, crate::common::RW>::from_ptr(
1145 self._svd2pac_as_ptr().add(65876usize),
1146 )
1147 }
1148 }
1149
1150 #[doc = "security event register"]
1151 #[inline(always)]
1152 pub const fn ftdf_security_event_reg(
1153 &self,
1154 ) -> &'static crate::common::Reg<self::FtdfSecurityEventReg_SPEC, crate::common::RW> {
1155 unsafe {
1156 crate::common::Reg::<self::FtdfSecurityEventReg_SPEC, crate::common::RW>::from_ptr(
1157 self._svd2pac_as_ptr().add(65872usize),
1158 )
1159 }
1160 }
1161
1162 #[doc = "One shot register to start encryption/decryption"]
1163 #[inline(always)]
1164 pub const fn ftdf_security_os_reg(
1165 &self,
1166 ) -> &'static crate::common::Reg<self::FtdfSecurityOsReg_SPEC, crate::common::RW> {
1167 unsafe {
1168 crate::common::Reg::<self::FtdfSecurityOsReg_SPEC, crate::common::RW>::from_ptr(
1169 self._svd2pac_as_ptr().add(65848usize),
1170 )
1171 }
1172 }
1173
1174 #[doc = "Security status register"]
1175 #[inline(always)]
1176 pub const fn ftdf_security_status_reg(
1177 &self,
1178 ) -> &'static crate::common::Reg<self::FtdfSecurityStatusReg_SPEC, crate::common::RW> {
1179 unsafe {
1180 crate::common::Reg::<self::FtdfSecurityStatusReg_SPEC, crate::common::RW>::from_ptr(
1181 self._svd2pac_as_ptr().add(65856usize),
1182 )
1183 }
1184 }
1185
1186 #[inline(always)]
1187 pub const fn ftdf_size_and_val_0_reg(
1188 &self,
1189 ) -> &'static crate::common::Reg<self::FtdfSizeAndVal0Reg_SPEC, crate::common::RW> {
1190 unsafe {
1191 crate::common::Reg::<self::FtdfSizeAndVal0Reg_SPEC, crate::common::RW>::from_ptr(
1192 self._svd2pac_as_ptr().add(73736usize),
1193 )
1194 }
1195 }
1196
1197 #[doc = "Symboltime threshold register 2"]
1198 #[inline(always)]
1199 pub const fn ftdf_symboltime2thr_reg(
1200 &self,
1201 ) -> &'static crate::common::Reg<self::FtdfSymboltime2ThrReg_SPEC, crate::common::RW> {
1202 unsafe {
1203 crate::common::Reg::<self::FtdfSymboltime2ThrReg_SPEC, crate::common::RW>::from_ptr(
1204 self._svd2pac_as_ptr().add(66436usize),
1205 )
1206 }
1207 }
1208
1209 #[doc = "Value timestamp generator"]
1210 #[inline(always)]
1211 pub const fn ftdf_symboltimesnapshotval_reg(
1212 &self,
1213 ) -> &'static crate::common::Reg<self::FtdfSymboltimesnapshotvalReg_SPEC, crate::common::RW>
1214 {
1215 unsafe {
1216 crate::common::Reg::<self::FtdfSymboltimesnapshotvalReg_SPEC, crate::common::RW>::from_ptr(self._svd2pac_as_ptr().add(66064usize))
1217 }
1218 }
1219
1220 #[doc = "Symboltime threshold register 1"]
1221 #[inline(always)]
1222 pub const fn ftdf_symboltimethr_reg(
1223 &self,
1224 ) -> &'static crate::common::Reg<self::FtdfSymboltimethrReg_SPEC, crate::common::RW> {
1225 unsafe {
1226 crate::common::Reg::<self::FtdfSymboltimethrReg_SPEC, crate::common::RW>::from_ptr(
1227 self._svd2pac_as_ptr().add(66432usize),
1228 )
1229 }
1230 }
1231
1232 #[doc = "Timestamp phase value regsiter"]
1233 #[inline(always)]
1234 pub const fn ftdf_synctimestampphaseval_reg(
1235 &self,
1236 ) -> &'static crate::common::Reg<self::FtdfSynctimestampphasevalReg_SPEC, crate::common::RW>
1237 {
1238 unsafe {
1239 crate::common::Reg::<self::FtdfSynctimestampphasevalReg_SPEC, crate::common::RW>::from_ptr(self._svd2pac_as_ptr().add(66336usize))
1240 }
1241 }
1242
1243 #[doc = "Threshold timestamp generator"]
1244 #[inline(always)]
1245 pub const fn ftdf_synctimestampthr_reg(
1246 &self,
1247 ) -> &'static crate::common::Reg<self::FtdfSynctimestampthrReg_SPEC, crate::common::RW> {
1248 unsafe {
1249 crate::common::Reg::<self::FtdfSynctimestampthrReg_SPEC, crate::common::RW>::from_ptr(
1250 self._svd2pac_as_ptr().add(66308usize),
1251 )
1252 }
1253 }
1254
1255 #[doc = "Value timestamp generator"]
1256 #[inline(always)]
1257 pub const fn ftdf_synctimestampval_reg(
1258 &self,
1259 ) -> &'static crate::common::Reg<self::FtdfSynctimestampvalReg_SPEC, crate::common::RW> {
1260 unsafe {
1261 crate::common::Reg::<self::FtdfSynctimestampvalReg_SPEC, crate::common::RW>::from_ptr(
1262 self._svd2pac_as_ptr().add(66312usize),
1263 )
1264 }
1265 }
1266
1267 #[doc = "Timer control register"]
1268 #[inline(always)]
1269 pub const fn ftdf_timer_control_1_reg(
1270 &self,
1271 ) -> &'static crate::common::Reg<self::FtdfTimerControl1Reg_SPEC, crate::common::RW> {
1272 unsafe {
1273 crate::common::Reg::<self::FtdfTimerControl1Reg_SPEC, crate::common::RW>::from_ptr(
1274 self._svd2pac_as_ptr().add(66316usize),
1275 )
1276 }
1277 }
1278
1279 #[doc = "Value of timestamp generator phase within a symbol"]
1280 #[inline(always)]
1281 pub const fn ftdf_timestampcurrphaseval_reg(
1282 &self,
1283 ) -> &'static crate::common::Reg<self::FtdfTimestampcurrphasevalReg_SPEC, crate::common::RW>
1284 {
1285 unsafe {
1286 crate::common::Reg::<self::FtdfTimestampcurrphasevalReg_SPEC, crate::common::RW>::from_ptr(self._svd2pac_as_ptr().add(65652usize))
1287 }
1288 }
1289
1290 #[doc = "Value of timestamp generator"]
1291 #[inline(always)]
1292 pub const fn ftdf_timestampcurrval_reg(
1293 &self,
1294 ) -> &'static crate::common::Reg<self::FtdfTimestampcurrvalReg_SPEC, crate::common::RW> {
1295 unsafe {
1296 crate::common::Reg::<self::FtdfTimestampcurrvalReg_SPEC, crate::common::RW>::from_ptr(
1297 self._svd2pac_as_ptr().add(65628usize),
1298 )
1299 }
1300 }
1301
1302 #[doc = "Lmac tsch control register"]
1303 #[inline(always)]
1304 pub const fn ftdf_tsch_control_0_reg(
1305 &self,
1306 ) -> &'static crate::common::Reg<self::FtdfTschControl0Reg_SPEC, crate::common::RW> {
1307 unsafe {
1308 crate::common::Reg::<self::FtdfTschControl0Reg_SPEC, crate::common::RW>::from_ptr(
1309 self._svd2pac_as_ptr().add(65888usize),
1310 )
1311 }
1312 }
1313
1314 #[doc = "Lmac tsch control register"]
1315 #[inline(always)]
1316 pub const fn ftdf_tsch_control_1_reg(
1317 &self,
1318 ) -> &'static crate::common::Reg<self::FtdfTschControl1Reg_SPEC, crate::common::RW> {
1319 unsafe {
1320 crate::common::Reg::<self::FtdfTschControl1Reg_SPEC, crate::common::RW>::from_ptr(
1321 self._svd2pac_as_ptr().add(65892usize),
1322 )
1323 }
1324 }
1325
1326 #[doc = "Lmac tsch control register"]
1327 #[inline(always)]
1328 pub const fn ftdf_tsch_control_2_reg(
1329 &self,
1330 ) -> &'static crate::common::Reg<self::FtdfTschControl2Reg_SPEC, crate::common::RW> {
1331 unsafe {
1332 crate::common::Reg::<self::FtdfTschControl2Reg_SPEC, crate::common::RW>::from_ptr(
1333 self._svd2pac_as_ptr().add(65896usize),
1334 )
1335 }
1336 }
1337
1338 #[doc = "Transmit first byte register"]
1339 #[inline(always)]
1340 pub const fn ftdf_txbyte_e_reg(
1341 &self,
1342 ) -> &'static crate::common::Reg<self::FtdfTxbyteEReg_SPEC, crate::common::RW> {
1343 unsafe {
1344 crate::common::Reg::<self::FtdfTxbyteEReg_SPEC, crate::common::RW>::from_ptr(
1345 self._svd2pac_as_ptr().add(66452usize),
1346 )
1347 }
1348 }
1349
1350 #[doc = "Transmit first byte mask register"]
1351 #[inline(always)]
1352 pub const fn ftdf_txbyte_m_reg(
1353 &self,
1354 ) -> &'static crate::common::Reg<self::FtdfTxbyteMReg_SPEC, crate::common::RW> {
1355 unsafe {
1356 crate::common::Reg::<self::FtdfTxbyteMReg_SPEC, crate::common::RW>::from_ptr(
1357 self._svd2pac_as_ptr().add(66456usize),
1358 )
1359 }
1360 }
1361
1362 #[doc = "Prop delay transmit register"]
1363 #[inline(always)]
1364 pub const fn ftdf_txpipepropdelay_reg(
1365 &self,
1366 ) -> &'static crate::common::Reg<self::FtdfTxpipepropdelayReg_SPEC, crate::common::RW> {
1367 unsafe {
1368 crate::common::Reg::<self::FtdfTxpipepropdelayReg_SPEC, crate::common::RW>::from_ptr(
1369 self._svd2pac_as_ptr().add(65588usize),
1370 )
1371 }
1372 }
1373
1374 #[doc = "One shot register to clear flag"]
1375 #[inline(always)]
1376 pub const fn ftdf_tx_clear_os_reg(
1377 &self,
1378 ) -> &'static crate::common::Reg<self::FtdfTxClearOsReg_SPEC, crate::common::RW> {
1379 unsafe {
1380 crate::common::Reg::<self::FtdfTxClearOsReg_SPEC, crate::common::RW>::from_ptr(
1381 self._svd2pac_as_ptr().add(66692usize),
1382 )
1383 }
1384 }
1385
1386 #[doc = "Transmit control register"]
1387 #[inline(always)]
1388 pub const fn ftdf_tx_control_0_reg(
1389 &self,
1390 ) -> &'static crate::common::Reg<self::FtdfTxControl0Reg_SPEC, crate::common::RW> {
1391 unsafe {
1392 crate::common::Reg::<self::FtdfTxControl0Reg_SPEC, crate::common::RW>::from_ptr(
1393 self._svd2pac_as_ptr().add(66112usize),
1394 )
1395 }
1396 }
1397
1398 #[doc = "Address transmit fifo 0"]
1399 #[inline(always)]
1400 pub const fn ftdf_tx_fifo_0_0_reg(
1401 &self,
1402 ) -> &'static crate::common::Reg<self::FtdfTxFifo00Reg_SPEC, crate::common::RW> {
1403 unsafe {
1404 crate::common::Reg::<self::FtdfTxFifo00Reg_SPEC, crate::common::RW>::from_ptr(
1405 self._svd2pac_as_ptr().add(0usize),
1406 )
1407 }
1408 }
1409
1410 #[doc = "Address transmit fifo 1"]
1411 #[inline(always)]
1412 pub const fn ftdf_tx_fifo_1_0_reg(
1413 &self,
1414 ) -> &'static crate::common::Reg<self::FtdfTxFifo10Reg_SPEC, crate::common::RW> {
1415 unsafe {
1416 crate::common::Reg::<self::FtdfTxFifo10Reg_SPEC, crate::common::RW>::from_ptr(
1417 self._svd2pac_as_ptr().add(128usize),
1418 )
1419 }
1420 }
1421
1422 #[doc = "Address transmit fifo 2"]
1423 #[inline(always)]
1424 pub const fn ftdf_tx_fifo_2_0_reg(
1425 &self,
1426 ) -> &'static crate::common::Reg<self::FtdfTxFifo20Reg_SPEC, crate::common::RW> {
1427 unsafe {
1428 crate::common::Reg::<self::FtdfTxFifo20Reg_SPEC, crate::common::RW>::from_ptr(
1429 self._svd2pac_as_ptr().add(256usize),
1430 )
1431 }
1432 }
1433
1434 #[doc = "Address transmit fifo 3"]
1435 #[inline(always)]
1436 pub const fn ftdf_tx_fifo_3_0_reg(
1437 &self,
1438 ) -> &'static crate::common::Reg<self::FtdfTxFifo30Reg_SPEC, crate::common::RW> {
1439 unsafe {
1440 crate::common::Reg::<self::FtdfTxFifo30Reg_SPEC, crate::common::RW>::from_ptr(
1441 self._svd2pac_as_ptr().add(384usize),
1442 )
1443 }
1444 }
1445
1446 #[doc = "Clear flag register 0"]
1447 #[inline(always)]
1448 pub const fn ftdf_tx_flag_clear_e_0_reg(
1449 &self,
1450 ) -> &'static crate::common::Reg<self::FtdfTxFlagClearE0Reg_SPEC, crate::common::RW> {
1451 unsafe {
1452 crate::common::Reg::<self::FtdfTxFlagClearE0Reg_SPEC, crate::common::RW>::from_ptr(
1453 self._svd2pac_as_ptr().add(66564usize),
1454 )
1455 }
1456 }
1457
1458 #[doc = "Clear flag register 1"]
1459 #[inline(always)]
1460 pub const fn ftdf_tx_flag_clear_e_1_reg(
1461 &self,
1462 ) -> &'static crate::common::Reg<self::FtdfTxFlagClearE1Reg_SPEC, crate::common::RW> {
1463 unsafe {
1464 crate::common::Reg::<self::FtdfTxFlagClearE1Reg_SPEC, crate::common::RW>::from_ptr(
1465 self._svd2pac_as_ptr().add(66596usize),
1466 )
1467 }
1468 }
1469
1470 #[doc = "Clear flag register 2"]
1471 #[inline(always)]
1472 pub const fn ftdf_tx_flag_clear_e_2_reg(
1473 &self,
1474 ) -> &'static crate::common::Reg<self::FtdfTxFlagClearE2Reg_SPEC, crate::common::RW> {
1475 unsafe {
1476 crate::common::Reg::<self::FtdfTxFlagClearE2Reg_SPEC, crate::common::RW>::from_ptr(
1477 self._svd2pac_as_ptr().add(66628usize),
1478 )
1479 }
1480 }
1481
1482 #[doc = "Clear flag register 3"]
1483 #[inline(always)]
1484 pub const fn ftdf_tx_flag_clear_e_3_reg(
1485 &self,
1486 ) -> &'static crate::common::Reg<self::FtdfTxFlagClearE3Reg_SPEC, crate::common::RW> {
1487 unsafe {
1488 crate::common::Reg::<self::FtdfTxFlagClearE3Reg_SPEC, crate::common::RW>::from_ptr(
1489 self._svd2pac_as_ptr().add(66660usize),
1490 )
1491 }
1492 }
1493
1494 #[doc = "Mask flag register 0"]
1495 #[inline(always)]
1496 pub const fn ftdf_tx_flag_clear_m_0_reg(
1497 &self,
1498 ) -> &'static crate::common::Reg<self::FtdfTxFlagClearM0Reg_SPEC, crate::common::RW> {
1499 unsafe {
1500 crate::common::Reg::<self::FtdfTxFlagClearM0Reg_SPEC, crate::common::RW>::from_ptr(
1501 self._svd2pac_as_ptr().add(66568usize),
1502 )
1503 }
1504 }
1505
1506 #[doc = "Mask flag register 1"]
1507 #[inline(always)]
1508 pub const fn ftdf_tx_flag_clear_m_1_reg(
1509 &self,
1510 ) -> &'static crate::common::Reg<self::FtdfTxFlagClearM1Reg_SPEC, crate::common::RW> {
1511 unsafe {
1512 crate::common::Reg::<self::FtdfTxFlagClearM1Reg_SPEC, crate::common::RW>::from_ptr(
1513 self._svd2pac_as_ptr().add(66600usize),
1514 )
1515 }
1516 }
1517
1518 #[doc = "Clear flag register 2"]
1519 #[inline(always)]
1520 pub const fn ftdf_tx_flag_clear_m_2_reg(
1521 &self,
1522 ) -> &'static crate::common::Reg<self::FtdfTxFlagClearM2Reg_SPEC, crate::common::RW> {
1523 unsafe {
1524 crate::common::Reg::<self::FtdfTxFlagClearM2Reg_SPEC, crate::common::RW>::from_ptr(
1525 self._svd2pac_as_ptr().add(66632usize),
1526 )
1527 }
1528 }
1529
1530 #[doc = "Clear flag register 3"]
1531 #[inline(always)]
1532 pub const fn ftdf_tx_flag_clear_m_3_reg(
1533 &self,
1534 ) -> &'static crate::common::Reg<self::FtdfTxFlagClearM3Reg_SPEC, crate::common::RW> {
1535 unsafe {
1536 crate::common::Reg::<self::FtdfTxFlagClearM3Reg_SPEC, crate::common::RW>::from_ptr(
1537 self._svd2pac_as_ptr().add(66664usize),
1538 )
1539 }
1540 }
1541
1542 #[doc = "Transmit packet ready for transmission register 0"]
1543 #[inline(always)]
1544 pub const fn ftdf_tx_flag_s_0_reg(
1545 &self,
1546 ) -> &'static crate::common::Reg<self::FtdfTxFlagS0Reg_SPEC, crate::common::RW> {
1547 unsafe {
1548 crate::common::Reg::<self::FtdfTxFlagS0Reg_SPEC, crate::common::RW>::from_ptr(
1549 self._svd2pac_as_ptr().add(66560usize),
1550 )
1551 }
1552 }
1553
1554 #[doc = "Transmit packet ready for transmission register 1"]
1555 #[inline(always)]
1556 pub const fn ftdf_tx_flag_s_1_reg(
1557 &self,
1558 ) -> &'static crate::common::Reg<self::FtdfTxFlagS1Reg_SPEC, crate::common::RW> {
1559 unsafe {
1560 crate::common::Reg::<self::FtdfTxFlagS1Reg_SPEC, crate::common::RW>::from_ptr(
1561 self._svd2pac_as_ptr().add(66592usize),
1562 )
1563 }
1564 }
1565
1566 #[doc = "Transmit packet ready for transmission register 2"]
1567 #[inline(always)]
1568 pub const fn ftdf_tx_flag_s_2_reg(
1569 &self,
1570 ) -> &'static crate::common::Reg<self::FtdfTxFlagS2Reg_SPEC, crate::common::RW> {
1571 unsafe {
1572 crate::common::Reg::<self::FtdfTxFlagS2Reg_SPEC, crate::common::RW>::from_ptr(
1573 self._svd2pac_as_ptr().add(66624usize),
1574 )
1575 }
1576 }
1577
1578 #[doc = "Transmit packet ready for transmission register 3"]
1579 #[inline(always)]
1580 pub const fn ftdf_tx_flag_s_3_reg(
1581 &self,
1582 ) -> &'static crate::common::Reg<self::FtdfTxFlagS3Reg_SPEC, crate::common::RW> {
1583 unsafe {
1584 crate::common::Reg::<self::FtdfTxFlagS3Reg_SPEC, crate::common::RW>::from_ptr(
1585 self._svd2pac_as_ptr().add(66656usize),
1586 )
1587 }
1588 }
1589
1590 #[doc = "Transmit metadata register 0"]
1591 #[inline(always)]
1592 pub const fn ftdf_tx_meta_data_0_0_reg(
1593 &self,
1594 ) -> &'static crate::common::Reg<self::FtdfTxMetaData00Reg_SPEC, crate::common::RW> {
1595 unsafe {
1596 crate::common::Reg::<self::FtdfTxMetaData00Reg_SPEC, crate::common::RW>::from_ptr(
1597 self._svd2pac_as_ptr().add(512usize),
1598 )
1599 }
1600 }
1601
1602 #[doc = "Transmit metadata register 1"]
1603 #[inline(always)]
1604 pub const fn ftdf_tx_meta_data_0_1_reg(
1605 &self,
1606 ) -> &'static crate::common::Reg<self::FtdfTxMetaData01Reg_SPEC, crate::common::RW> {
1607 unsafe {
1608 crate::common::Reg::<self::FtdfTxMetaData01Reg_SPEC, crate::common::RW>::from_ptr(
1609 self._svd2pac_as_ptr().add(528usize),
1610 )
1611 }
1612 }
1613
1614 #[doc = "Transmit metadata register 2"]
1615 #[inline(always)]
1616 pub const fn ftdf_tx_meta_data_0_2_reg(
1617 &self,
1618 ) -> &'static crate::common::Reg<self::FtdfTxMetaData02Reg_SPEC, crate::common::RW> {
1619 unsafe {
1620 crate::common::Reg::<self::FtdfTxMetaData02Reg_SPEC, crate::common::RW>::from_ptr(
1621 self._svd2pac_as_ptr().add(544usize),
1622 )
1623 }
1624 }
1625
1626 #[doc = "Transmit metadata register 3"]
1627 #[inline(always)]
1628 pub const fn ftdf_tx_meta_data_0_3_reg(
1629 &self,
1630 ) -> &'static crate::common::Reg<self::FtdfTxMetaData03Reg_SPEC, crate::common::RW> {
1631 unsafe {
1632 crate::common::Reg::<self::FtdfTxMetaData03Reg_SPEC, crate::common::RW>::from_ptr(
1633 self._svd2pac_as_ptr().add(560usize),
1634 )
1635 }
1636 }
1637
1638 #[doc = "Transmit metadata register 0"]
1639 #[inline(always)]
1640 pub const fn ftdf_tx_meta_data_1_0_reg(
1641 &self,
1642 ) -> &'static crate::common::Reg<self::FtdfTxMetaData10Reg_SPEC, crate::common::RW> {
1643 unsafe {
1644 crate::common::Reg::<self::FtdfTxMetaData10Reg_SPEC, crate::common::RW>::from_ptr(
1645 self._svd2pac_as_ptr().add(516usize),
1646 )
1647 }
1648 }
1649
1650 #[doc = "Transmit metadata register 1"]
1651 #[inline(always)]
1652 pub const fn ftdf_tx_meta_data_1_1_reg(
1653 &self,
1654 ) -> &'static crate::common::Reg<self::FtdfTxMetaData11Reg_SPEC, crate::common::RW> {
1655 unsafe {
1656 crate::common::Reg::<self::FtdfTxMetaData11Reg_SPEC, crate::common::RW>::from_ptr(
1657 self._svd2pac_as_ptr().add(532usize),
1658 )
1659 }
1660 }
1661
1662 #[doc = "Transmit metadata register 2"]
1663 #[inline(always)]
1664 pub const fn ftdf_tx_meta_data_1_2_reg(
1665 &self,
1666 ) -> &'static crate::common::Reg<self::FtdfTxMetaData12Reg_SPEC, crate::common::RW> {
1667 unsafe {
1668 crate::common::Reg::<self::FtdfTxMetaData12Reg_SPEC, crate::common::RW>::from_ptr(
1669 self._svd2pac_as_ptr().add(548usize),
1670 )
1671 }
1672 }
1673
1674 #[doc = "Transmit metadata register 3"]
1675 #[inline(always)]
1676 pub const fn ftdf_tx_meta_data_1_3_reg(
1677 &self,
1678 ) -> &'static crate::common::Reg<self::FtdfTxMetaData13Reg_SPEC, crate::common::RW> {
1679 unsafe {
1680 crate::common::Reg::<self::FtdfTxMetaData13Reg_SPEC, crate::common::RW>::from_ptr(
1681 self._svd2pac_as_ptr().add(564usize),
1682 )
1683 }
1684 }
1685
1686 #[doc = "Transmit priority register 0"]
1687 #[inline(always)]
1688 pub const fn ftdf_tx_priority_0_reg(
1689 &self,
1690 ) -> &'static crate::common::Reg<self::FtdfTxPriority0Reg_SPEC, crate::common::RW> {
1691 unsafe {
1692 crate::common::Reg::<self::FtdfTxPriority0Reg_SPEC, crate::common::RW>::from_ptr(
1693 self._svd2pac_as_ptr().add(66576usize),
1694 )
1695 }
1696 }
1697
1698 #[doc = "Transmit priority register 1"]
1699 #[inline(always)]
1700 pub const fn ftdf_tx_priority_1_reg(
1701 &self,
1702 ) -> &'static crate::common::Reg<self::FtdfTxPriority1Reg_SPEC, crate::common::RW> {
1703 unsafe {
1704 crate::common::Reg::<self::FtdfTxPriority1Reg_SPEC, crate::common::RW>::from_ptr(
1705 self._svd2pac_as_ptr().add(66608usize),
1706 )
1707 }
1708 }
1709
1710 #[doc = "Transmit priority register 2"]
1711 #[inline(always)]
1712 pub const fn ftdf_tx_priority_2_reg(
1713 &self,
1714 ) -> &'static crate::common::Reg<self::FtdfTxPriority2Reg_SPEC, crate::common::RW> {
1715 unsafe {
1716 crate::common::Reg::<self::FtdfTxPriority2Reg_SPEC, crate::common::RW>::from_ptr(
1717 self._svd2pac_as_ptr().add(66640usize),
1718 )
1719 }
1720 }
1721
1722 #[doc = "Transmit priority register 3"]
1723 #[inline(always)]
1724 pub const fn ftdf_tx_priority_3_reg(
1725 &self,
1726 ) -> &'static crate::common::Reg<self::FtdfTxPriority3Reg_SPEC, crate::common::RW> {
1727 unsafe {
1728 crate::common::Reg::<self::FtdfTxPriority3Reg_SPEC, crate::common::RW>::from_ptr(
1729 self._svd2pac_as_ptr().add(66672usize),
1730 )
1731 }
1732 }
1733
1734 #[doc = "Transmit status register 0"]
1735 #[inline(always)]
1736 pub const fn ftdf_tx_return_status_0_0_reg(
1737 &self,
1738 ) -> &'static crate::common::Reg<self::FtdfTxReturnStatus00Reg_SPEC, crate::common::RW> {
1739 unsafe {
1740 crate::common::Reg::<self::FtdfTxReturnStatus00Reg_SPEC, crate::common::RW>::from_ptr(
1741 self._svd2pac_as_ptr().add(576usize),
1742 )
1743 }
1744 }
1745
1746 #[doc = "Transmit status register 1"]
1747 #[inline(always)]
1748 pub const fn ftdf_tx_return_status_0_1_reg(
1749 &self,
1750 ) -> &'static crate::common::Reg<self::FtdfTxReturnStatus01Reg_SPEC, crate::common::RW> {
1751 unsafe {
1752 crate::common::Reg::<self::FtdfTxReturnStatus01Reg_SPEC, crate::common::RW>::from_ptr(
1753 self._svd2pac_as_ptr().add(592usize),
1754 )
1755 }
1756 }
1757
1758 #[doc = "Transmit status register 2"]
1759 #[inline(always)]
1760 pub const fn ftdf_tx_return_status_0_2_reg(
1761 &self,
1762 ) -> &'static crate::common::Reg<self::FtdfTxReturnStatus02Reg_SPEC, crate::common::RW> {
1763 unsafe {
1764 crate::common::Reg::<self::FtdfTxReturnStatus02Reg_SPEC, crate::common::RW>::from_ptr(
1765 self._svd2pac_as_ptr().add(608usize),
1766 )
1767 }
1768 }
1769
1770 #[doc = "Transmit status register 3"]
1771 #[inline(always)]
1772 pub const fn ftdf_tx_return_status_0_3_reg(
1773 &self,
1774 ) -> &'static crate::common::Reg<self::FtdfTxReturnStatus03Reg_SPEC, crate::common::RW> {
1775 unsafe {
1776 crate::common::Reg::<self::FtdfTxReturnStatus03Reg_SPEC, crate::common::RW>::from_ptr(
1777 self._svd2pac_as_ptr().add(624usize),
1778 )
1779 }
1780 }
1781
1782 #[doc = "Transmit status register 0"]
1783 #[inline(always)]
1784 pub const fn ftdf_tx_return_status_1_0_reg(
1785 &self,
1786 ) -> &'static crate::common::Reg<self::FtdfTxReturnStatus10Reg_SPEC, crate::common::RW> {
1787 unsafe {
1788 crate::common::Reg::<self::FtdfTxReturnStatus10Reg_SPEC, crate::common::RW>::from_ptr(
1789 self._svd2pac_as_ptr().add(580usize),
1790 )
1791 }
1792 }
1793
1794 #[doc = "Transmit status register 1"]
1795 #[inline(always)]
1796 pub const fn ftdf_tx_return_status_1_1_reg(
1797 &self,
1798 ) -> &'static crate::common::Reg<self::FtdfTxReturnStatus11Reg_SPEC, crate::common::RW> {
1799 unsafe {
1800 crate::common::Reg::<self::FtdfTxReturnStatus11Reg_SPEC, crate::common::RW>::from_ptr(
1801 self._svd2pac_as_ptr().add(596usize),
1802 )
1803 }
1804 }
1805
1806 #[doc = "Transmit status register 2"]
1807 #[inline(always)]
1808 pub const fn ftdf_tx_return_status_1_2_reg(
1809 &self,
1810 ) -> &'static crate::common::Reg<self::FtdfTxReturnStatus12Reg_SPEC, crate::common::RW> {
1811 unsafe {
1812 crate::common::Reg::<self::FtdfTxReturnStatus12Reg_SPEC, crate::common::RW>::from_ptr(
1813 self._svd2pac_as_ptr().add(612usize),
1814 )
1815 }
1816 }
1817
1818 #[doc = "Transmit status register 3"]
1819 #[inline(always)]
1820 pub const fn ftdf_tx_return_status_1_3_reg(
1821 &self,
1822 ) -> &'static crate::common::Reg<self::FtdfTxReturnStatus13Reg_SPEC, crate::common::RW> {
1823 unsafe {
1824 crate::common::Reg::<self::FtdfTxReturnStatus13Reg_SPEC, crate::common::RW>::from_ptr(
1825 self._svd2pac_as_ptr().add(628usize),
1826 )
1827 }
1828 }
1829
1830 #[doc = "One shot register to set flag"]
1831 #[inline(always)]
1832 pub const fn ftdf_tx_set_os_reg(
1833 &self,
1834 ) -> &'static crate::common::Reg<self::FtdfTxSetOsReg_SPEC, crate::common::RW> {
1835 unsafe {
1836 crate::common::Reg::<self::FtdfTxSetOsReg_SPEC, crate::common::RW>::from_ptr(
1837 self._svd2pac_as_ptr().add(66688usize),
1838 )
1839 }
1840 }
1841
1842 #[inline(always)]
1843 pub const fn ftdf_wakeup_control_os_reg(
1844 &self,
1845 ) -> &'static crate::common::Reg<self::FtdfWakeupControlOsReg_SPEC, crate::common::RW> {
1846 unsafe {
1847 crate::common::Reg::<self::FtdfWakeupControlOsReg_SPEC, crate::common::RW>::from_ptr(
1848 self._svd2pac_as_ptr().add(66404usize),
1849 )
1850 }
1851 }
1852
1853 #[doc = "Wakeup timer vcontrol register"]
1854 #[inline(always)]
1855 pub const fn ftdf_wakeup_control_reg(
1856 &self,
1857 ) -> &'static crate::common::Reg<self::FtdfWakeupControlReg_SPEC, crate::common::RW> {
1858 unsafe {
1859 crate::common::Reg::<self::FtdfWakeupControlReg_SPEC, crate::common::RW>::from_ptr(
1860 self._svd2pac_as_ptr().add(69632usize),
1861 )
1862 }
1863 }
1864}
1865#[doc(hidden)]
1866#[derive(Copy, Clone, Eq, PartialEq)]
1867pub struct FtdfBuildtime0Reg_SPEC;
1868impl crate::sealed::RegSpec for FtdfBuildtime0Reg_SPEC {
1869 type DataType = u32;
1870}
1871
1872#[doc = "Build time"]
1873pub type FtdfBuildtime0Reg = crate::RegValueT<FtdfBuildtime0Reg_SPEC>;
1874
1875impl FtdfBuildtime0Reg {
1876 #[doc = "A 4 words wide register, showing in ASCII the build date (dd mmm yy) and time (hh:mm) of device, eg. 01 Dec 14 14:10."]
1877 #[inline(always)]
1878 pub fn buildtime(
1879 self,
1880 ) -> crate::common::RegisterField<
1881 0,
1882 0xffffffff,
1883 1,
1884 0,
1885 u32,
1886 u32,
1887 FtdfBuildtime0Reg_SPEC,
1888 crate::common::R,
1889 > {
1890 crate::common::RegisterField::<
1891 0,
1892 0xffffffff,
1893 1,
1894 0,
1895 u32,
1896 u32,
1897 FtdfBuildtime0Reg_SPEC,
1898 crate::common::R,
1899 >::from_register(self, 0)
1900 }
1901}
1902impl ::core::default::Default for FtdfBuildtime0Reg {
1903 #[inline(always)]
1904 fn default() -> FtdfBuildtime0Reg {
1905 <crate::RegValueT<FtdfBuildtime0Reg_SPEC> as RegisterValue<_>>::new(0)
1906 }
1907}
1908
1909#[doc(hidden)]
1910#[derive(Copy, Clone, Eq, PartialEq)]
1911pub struct FtdfBuildtime1Reg_SPEC;
1912impl crate::sealed::RegSpec for FtdfBuildtime1Reg_SPEC {
1913 type DataType = u32;
1914}
1915
1916#[doc = "Build time"]
1917pub type FtdfBuildtime1Reg = crate::RegValueT<FtdfBuildtime1Reg_SPEC>;
1918
1919impl FtdfBuildtime1Reg {
1920 #[doc = "A 4 words wide register, showing in ASCII the build date (dd mmm yy) and time (hh:mm) of device, eg. 01 Dec 14 14:10."]
1921 #[inline(always)]
1922 pub fn buildtime(
1923 self,
1924 ) -> crate::common::RegisterField<
1925 0,
1926 0xffffffff,
1927 1,
1928 0,
1929 u32,
1930 u32,
1931 FtdfBuildtime1Reg_SPEC,
1932 crate::common::R,
1933 > {
1934 crate::common::RegisterField::<
1935 0,
1936 0xffffffff,
1937 1,
1938 0,
1939 u32,
1940 u32,
1941 FtdfBuildtime1Reg_SPEC,
1942 crate::common::R,
1943 >::from_register(self, 0)
1944 }
1945}
1946impl ::core::default::Default for FtdfBuildtime1Reg {
1947 #[inline(always)]
1948 fn default() -> FtdfBuildtime1Reg {
1949 <crate::RegValueT<FtdfBuildtime1Reg_SPEC> as RegisterValue<_>>::new(0)
1950 }
1951}
1952
1953#[doc(hidden)]
1954#[derive(Copy, Clone, Eq, PartialEq)]
1955pub struct FtdfBuildtime2Reg_SPEC;
1956impl crate::sealed::RegSpec for FtdfBuildtime2Reg_SPEC {
1957 type DataType = u32;
1958}
1959
1960#[doc = "Build time"]
1961pub type FtdfBuildtime2Reg = crate::RegValueT<FtdfBuildtime2Reg_SPEC>;
1962
1963impl FtdfBuildtime2Reg {
1964 #[doc = "A 4 words wide register, showing in ASCII the build date (dd mmm yy) and time (hh:mm) of device, eg. 01 Dec 14 14:10."]
1965 #[inline(always)]
1966 pub fn buildtime(
1967 self,
1968 ) -> crate::common::RegisterField<
1969 0,
1970 0xffffffff,
1971 1,
1972 0,
1973 u32,
1974 u32,
1975 FtdfBuildtime2Reg_SPEC,
1976 crate::common::R,
1977 > {
1978 crate::common::RegisterField::<
1979 0,
1980 0xffffffff,
1981 1,
1982 0,
1983 u32,
1984 u32,
1985 FtdfBuildtime2Reg_SPEC,
1986 crate::common::R,
1987 >::from_register(self, 0)
1988 }
1989}
1990impl ::core::default::Default for FtdfBuildtime2Reg {
1991 #[inline(always)]
1992 fn default() -> FtdfBuildtime2Reg {
1993 <crate::RegValueT<FtdfBuildtime2Reg_SPEC> as RegisterValue<_>>::new(0)
1994 }
1995}
1996
1997#[doc(hidden)]
1998#[derive(Copy, Clone, Eq, PartialEq)]
1999pub struct FtdfBuildtime3Reg_SPEC;
2000impl crate::sealed::RegSpec for FtdfBuildtime3Reg_SPEC {
2001 type DataType = u32;
2002}
2003
2004#[doc = "Build time"]
2005pub type FtdfBuildtime3Reg = crate::RegValueT<FtdfBuildtime3Reg_SPEC>;
2006
2007impl FtdfBuildtime3Reg {
2008 #[doc = "A 4 words wide register, showing in ASCII the build date (dd mmm yy) and time (hh:mm) of device, eg. 01 Dec 14 14:10."]
2009 #[inline(always)]
2010 pub fn buildtime(
2011 self,
2012 ) -> crate::common::RegisterField<
2013 0,
2014 0xffffffff,
2015 1,
2016 0,
2017 u32,
2018 u32,
2019 FtdfBuildtime3Reg_SPEC,
2020 crate::common::R,
2021 > {
2022 crate::common::RegisterField::<
2023 0,
2024 0xffffffff,
2025 1,
2026 0,
2027 u32,
2028 u32,
2029 FtdfBuildtime3Reg_SPEC,
2030 crate::common::R,
2031 >::from_register(self, 0)
2032 }
2033}
2034impl ::core::default::Default for FtdfBuildtime3Reg {
2035 #[inline(always)]
2036 fn default() -> FtdfBuildtime3Reg {
2037 <crate::RegValueT<FtdfBuildtime3Reg_SPEC> as RegisterValue<_>>::new(0)
2038 }
2039}
2040
2041#[doc(hidden)]
2042#[derive(Copy, Clone, Eq, PartialEq)]
2043pub struct FtdfDebugcontrolReg_SPEC;
2044impl crate::sealed::RegSpec for FtdfDebugcontrolReg_SPEC {
2045 type DataType = u32;
2046}
2047
2048#[doc = "Debug control register"]
2049pub type FtdfDebugcontrolReg = crate::RegValueT<FtdfDebugcontrolReg_SPEC>;
2050
2051impl FtdfDebugcontrolReg {
2052 #[doc = "If set to \'1\', the Rx debug interface will be selected as input for the Rx pipeline rather than the DPHY interface signals.\nNote that in this mode, DBG_RX_DATA\\[3:0\\] and DBG_RX_SOF are sourced by another source (outside the scope of the LMAC) while the other Rx inputs (CCA_STAT, LQI\\[7:0\\] and ED_STAT\\[7:0\\]) are forced to 0x00."]
2053 #[inline(always)]
2054 pub fn dbg_rx_input(
2055 self,
2056 ) -> crate::common::RegisterFieldBool<8, 1, 0, FtdfDebugcontrolReg_SPEC, crate::common::RW>
2057 {
2058 crate::common::RegisterFieldBool::<8,1,0,FtdfDebugcontrolReg_SPEC,crate::common::RW>::from_register(self,0)
2059 }
2060}
2061impl ::core::default::Default for FtdfDebugcontrolReg {
2062 #[inline(always)]
2063 fn default() -> FtdfDebugcontrolReg {
2064 <crate::RegValueT<FtdfDebugcontrolReg_SPEC> as RegisterValue<_>>::new(0)
2065 }
2066}
2067
2068#[doc(hidden)]
2069#[derive(Copy, Clone, Eq, PartialEq)]
2070pub struct FtdfEventcurrvalReg_SPEC;
2071impl crate::sealed::RegSpec for FtdfEventcurrvalReg_SPEC {
2072 type DataType = u32;
2073}
2074
2075#[doc = "Value of event generator"]
2076pub type FtdfEventcurrvalReg = crate::RegValueT<FtdfEventcurrvalReg_SPEC>;
2077
2078impl FtdfEventcurrvalReg {
2079 #[doc = "The value of the captured Event generator (Wake-up counter) (initiated by getGeneratorVal, valid when getGeneratorVal_e is set)."]
2080 #[inline(always)]
2081 pub fn eventcurrval(
2082 self,
2083 ) -> crate::common::RegisterField<
2084 0,
2085 0x1ffffff,
2086 1,
2087 0,
2088 u32,
2089 u32,
2090 FtdfEventcurrvalReg_SPEC,
2091 crate::common::R,
2092 > {
2093 crate::common::RegisterField::<
2094 0,
2095 0x1ffffff,
2096 1,
2097 0,
2098 u32,
2099 u32,
2100 FtdfEventcurrvalReg_SPEC,
2101 crate::common::R,
2102 >::from_register(self, 0)
2103 }
2104}
2105impl ::core::default::Default for FtdfEventcurrvalReg {
2106 #[inline(always)]
2107 fn default() -> FtdfEventcurrvalReg {
2108 <crate::RegValueT<FtdfEventcurrvalReg_SPEC> as RegisterValue<_>>::new(0)
2109 }
2110}
2111
2112#[doc(hidden)]
2113#[derive(Copy, Clone, Eq, PartialEq)]
2114pub struct FtdfFtdfCeReg_SPEC;
2115impl crate::sealed::RegSpec for FtdfFtdfCeReg_SPEC {
2116 type DataType = u32;
2117}
2118
2119#[doc = "Selection register events"]
2120pub type FtdfFtdfCeReg = crate::RegValueT<FtdfFtdfCeReg_SPEC>;
2121
2122impl FtdfFtdfCeReg {
2123 #[doc = "Composite service request from ftdf macro (see FR0400 in v40.100.2.41.pdf), set to \'1\' if the branch currently contributes to the interrupt.\nBit 0 = unused\nBit 1 = rx interrupts\nBit 2 = unused\nBit 3 = miscelaneous interrupts\nBit 4 = tx interrupts\nBit 5 = Reserved\nUpon an interrupt, using the ftdf_ce bits it can be checked which interrupt branch creates this interrupt."]
2124 #[inline(always)]
2125 pub fn ftdf_ce(
2126 self,
2127 ) -> crate::common::RegisterField<0, 0x3f, 1, 0, u8, u8, FtdfFtdfCeReg_SPEC, crate::common::R>
2128 {
2129 crate::common::RegisterField::<0,0x3f,1,0,u8,u8,FtdfFtdfCeReg_SPEC,crate::common::R>::from_register(self,0)
2130 }
2131}
2132impl ::core::default::Default for FtdfFtdfCeReg {
2133 #[inline(always)]
2134 fn default() -> FtdfFtdfCeReg {
2135 <crate::RegValueT<FtdfFtdfCeReg_SPEC> as RegisterValue<_>>::new(0)
2136 }
2137}
2138
2139#[doc(hidden)]
2140#[derive(Copy, Clone, Eq, PartialEq)]
2141pub struct FtdfFtdfCmReg_SPEC;
2142impl crate::sealed::RegSpec for FtdfFtdfCmReg_SPEC {
2143 type DataType = u32;
2144}
2145
2146#[doc = "Mask selection register events"]
2147pub type FtdfFtdfCmReg = crate::RegValueT<FtdfFtdfCmReg_SPEC>;
2148
2149impl FtdfFtdfCmReg {
2150 #[doc = "mask bits for ftf_ce.\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
2151 #[inline(always)]
2152 pub fn ftdf_cm(
2153 self,
2154 ) -> crate::common::RegisterField<0, 0x3f, 1, 0, u8, u8, FtdfFtdfCmReg_SPEC, crate::common::RW>
2155 {
2156 crate::common::RegisterField::<0,0x3f,1,0,u8,u8,FtdfFtdfCmReg_SPEC,crate::common::RW>::from_register(self,0)
2157 }
2158}
2159impl ::core::default::Default for FtdfFtdfCmReg {
2160 #[inline(always)]
2161 fn default() -> FtdfFtdfCmReg {
2162 <crate::RegValueT<FtdfFtdfCmReg_SPEC> as RegisterValue<_>>::new(0)
2163 }
2164}
2165
2166#[doc(hidden)]
2167#[derive(Copy, Clone, Eq, PartialEq)]
2168pub struct FtdfGlobControl0Reg_SPEC;
2169impl crate::sealed::RegSpec for FtdfGlobControl0Reg_SPEC {
2170 type DataType = u32;
2171}
2172
2173#[doc = "Global control register"]
2174pub type FtdfGlobControl0Reg = crate::RegValueT<FtdfGlobControl0Reg_SPEC>;
2175
2176impl FtdfGlobControl0Reg {
2177 #[doc = "If set to \'1\', the TSCH mode is enabled"]
2178 #[inline(always)]
2179 pub fn mactschenabled(
2180 self,
2181 ) -> crate::common::RegisterFieldBool<18, 1, 0, FtdfGlobControl0Reg_SPEC, crate::common::RW>
2182 {
2183 crate::common::RegisterFieldBool::<18,1,0,FtdfGlobControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
2184 }
2185
2186 #[doc = "If set to \'1\', the Low Energy mode (also called CSL) is enabled"]
2187 #[inline(always)]
2188 pub fn macleenabled(
2189 self,
2190 ) -> crate::common::RegisterFieldBool<17, 1, 0, FtdfGlobControl0Reg_SPEC, crate::common::RW>
2191 {
2192 crate::common::RegisterFieldBool::<17,1,0,FtdfGlobControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
2193 }
2194
2195 #[doc = "Simple address of the PAN coordinator"]
2196 #[inline(always)]
2197 pub fn macsimpleaddress(
2198 self,
2199 ) -> crate::common::RegisterField<
2200 8,
2201 0xff,
2202 1,
2203 0,
2204 u8,
2205 u8,
2206 FtdfGlobControl0Reg_SPEC,
2207 crate::common::RW,
2208 > {
2209 crate::common::RegisterField::<
2210 8,
2211 0xff,
2212 1,
2213 0,
2214 u8,
2215 u8,
2216 FtdfGlobControl0Reg_SPEC,
2217 crate::common::RW,
2218 >::from_register(self, 0)
2219 }
2220
2221 #[doc = "Source of the TX_DMA_REQ output pin of this block."]
2222 #[inline(always)]
2223 pub fn tx_dma_req(
2224 self,
2225 ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfGlobControl0Reg_SPEC, crate::common::RW>
2226 {
2227 crate::common::RegisterFieldBool::<3,1,0,FtdfGlobControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
2228 }
2229
2230 #[doc = "Source of the RX_DMA_REQ output pin of this block."]
2231 #[inline(always)]
2232 pub fn rx_dma_req(
2233 self,
2234 ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfGlobControl0Reg_SPEC, crate::common::RW>
2235 {
2236 crate::common::RegisterFieldBool::<2,1,0,FtdfGlobControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
2237 }
2238
2239 #[doc = "Enable/disable receiver check on address fields (0=enabled, 1=disabled)"]
2240 #[inline(always)]
2241 pub fn ispancoordinator(
2242 self,
2243 ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfGlobControl0Reg_SPEC, crate::common::RW>
2244 {
2245 crate::common::RegisterFieldBool::<1,1,0,FtdfGlobControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
2246 }
2247}
2248impl ::core::default::Default for FtdfGlobControl0Reg {
2249 #[inline(always)]
2250 fn default() -> FtdfGlobControl0Reg {
2251 <crate::RegValueT<FtdfGlobControl0Reg_SPEC> as RegisterValue<_>>::new(65280)
2252 }
2253}
2254
2255#[doc(hidden)]
2256#[derive(Copy, Clone, Eq, PartialEq)]
2257pub struct FtdfGlobControl1Reg_SPEC;
2258impl crate::sealed::RegSpec for FtdfGlobControl1Reg_SPEC {
2259 type DataType = u32;
2260}
2261
2262#[doc = "Global control register"]
2263pub type FtdfGlobControl1Reg = crate::RegValueT<FtdfGlobControl1Reg_SPEC>;
2264
2265impl FtdfGlobControl1Reg {
2266 #[doc = "The short address of the device. The values 0xFFFF and 0xFFFE indicate that no IEEE Short Address is available."]
2267 #[inline(always)]
2268 pub fn macshortaddress(
2269 self,
2270 ) -> crate::common::RegisterField<
2271 16,
2272 0xffff,
2273 1,
2274 0,
2275 u16,
2276 u16,
2277 FtdfGlobControl1Reg_SPEC,
2278 crate::common::RW,
2279 > {
2280 crate::common::RegisterField::<
2281 16,
2282 0xffff,
2283 1,
2284 0,
2285 u16,
2286 u16,
2287 FtdfGlobControl1Reg_SPEC,
2288 crate::common::RW,
2289 >::from_register(self, 0)
2290 }
2291
2292 #[doc = "The PAN ID of this device.\nThe value 0xFFFF indicates that the device is not associated to a PAN."]
2293 #[inline(always)]
2294 pub fn macpanid(
2295 self,
2296 ) -> crate::common::RegisterField<
2297 0,
2298 0xffff,
2299 1,
2300 0,
2301 u16,
2302 u16,
2303 FtdfGlobControl1Reg_SPEC,
2304 crate::common::RW,
2305 > {
2306 crate::common::RegisterField::<
2307 0,
2308 0xffff,
2309 1,
2310 0,
2311 u16,
2312 u16,
2313 FtdfGlobControl1Reg_SPEC,
2314 crate::common::RW,
2315 >::from_register(self, 0)
2316 }
2317}
2318impl ::core::default::Default for FtdfGlobControl1Reg {
2319 #[inline(always)]
2320 fn default() -> FtdfGlobControl1Reg {
2321 <crate::RegValueT<FtdfGlobControl1Reg_SPEC> as RegisterValue<_>>::new(2147483647)
2322 }
2323}
2324
2325#[doc(hidden)]
2326#[derive(Copy, Clone, Eq, PartialEq)]
2327pub struct FtdfGlobControl2Reg_SPEC;
2328impl crate::sealed::RegSpec for FtdfGlobControl2Reg_SPEC {
2329 type DataType = u32;
2330}
2331
2332#[doc = "Global control register"]
2333pub type FtdfGlobControl2Reg = crate::RegValueT<FtdfGlobControl2Reg_SPEC>;
2334
2335impl FtdfGlobControl2Reg {
2336 #[doc = "Unique device address, 48 bits wide, lowest 32 bit"]
2337 #[inline(always)]
2338 pub fn aextendedaddress_l(
2339 self,
2340 ) -> crate::common::RegisterField<
2341 0,
2342 0xffffffff,
2343 1,
2344 0,
2345 u32,
2346 u32,
2347 FtdfGlobControl2Reg_SPEC,
2348 crate::common::RW,
2349 > {
2350 crate::common::RegisterField::<
2351 0,
2352 0xffffffff,
2353 1,
2354 0,
2355 u32,
2356 u32,
2357 FtdfGlobControl2Reg_SPEC,
2358 crate::common::RW,
2359 >::from_register(self, 0)
2360 }
2361}
2362impl ::core::default::Default for FtdfGlobControl2Reg {
2363 #[inline(always)]
2364 fn default() -> FtdfGlobControl2Reg {
2365 <crate::RegValueT<FtdfGlobControl2Reg_SPEC> as RegisterValue<_>>::new(2147483647)
2366 }
2367}
2368
2369#[doc(hidden)]
2370#[derive(Copy, Clone, Eq, PartialEq)]
2371pub struct FtdfGlobControl3Reg_SPEC;
2372impl crate::sealed::RegSpec for FtdfGlobControl3Reg_SPEC {
2373 type DataType = u32;
2374}
2375
2376#[doc = "Global control register"]
2377pub type FtdfGlobControl3Reg = crate::RegValueT<FtdfGlobControl3Reg_SPEC>;
2378
2379impl FtdfGlobControl3Reg {
2380 #[doc = "Unique device address, 48 bits wide, highest 16 bit"]
2381 #[inline(always)]
2382 pub fn aextendedaddress_h(
2383 self,
2384 ) -> crate::common::RegisterField<
2385 0,
2386 0xffffffff,
2387 1,
2388 0,
2389 u32,
2390 u32,
2391 FtdfGlobControl3Reg_SPEC,
2392 crate::common::RW,
2393 > {
2394 crate::common::RegisterField::<
2395 0,
2396 0xffffffff,
2397 1,
2398 0,
2399 u32,
2400 u32,
2401 FtdfGlobControl3Reg_SPEC,
2402 crate::common::RW,
2403 >::from_register(self, 0)
2404 }
2405}
2406impl ::core::default::Default for FtdfGlobControl3Reg {
2407 #[inline(always)]
2408 fn default() -> FtdfGlobControl3Reg {
2409 <crate::RegValueT<FtdfGlobControl3Reg_SPEC> as RegisterValue<_>>::new(2147483647)
2410 }
2411}
2412
2413#[doc(hidden)]
2414#[derive(Copy, Clone, Eq, PartialEq)]
2415pub struct FtdfLmacresetReg_SPEC;
2416impl crate::sealed::RegSpec for FtdfLmacresetReg_SPEC {
2417 type DataType = u32;
2418}
2419
2420#[doc = "Lmax reset register"]
2421pub type FtdfLmacresetReg = crate::RegValueT<FtdfLmacresetReg_SPEC>;
2422
2423impl FtdfLmacresetReg {
2424 #[doc = "If set, the LMAC performance and traffic counters will be reset.\nUse this register for functionally reset these counters."]
2425 #[inline(always)]
2426 pub fn lmacglobreset_count(
2427 self,
2428 ) -> crate::common::RegisterFieldBool<16, 1, 0, FtdfLmacresetReg_SPEC, crate::common::W> {
2429 crate::common::RegisterFieldBool::<16,1,0,FtdfLmacresetReg_SPEC,crate::common::W>::from_register(self,0)
2430 }
2431
2432 #[doc = "LmacReset_count: A \'1\' resets LMAC timing control block (for debug and MLME-reset)"]
2433 #[inline(always)]
2434 pub fn lmacreset_timctrl(
2435 self,
2436 ) -> crate::common::RegisterFieldBool<10, 1, 0, FtdfLmacresetReg_SPEC, crate::common::W> {
2437 crate::common::RegisterFieldBool::<10,1,0,FtdfLmacresetReg_SPEC,crate::common::W>::from_register(self,0)
2438 }
2439
2440 #[doc = "LmacReset_count: A \'1\' resets LMAC mac counters (for debug and MLME-reset)"]
2441 #[inline(always)]
2442 pub fn lmacreset_count(
2443 self,
2444 ) -> crate::common::RegisterFieldBool<9, 1, 0, FtdfLmacresetReg_SPEC, crate::common::W> {
2445 crate::common::RegisterFieldBool::<9,1,0,FtdfLmacresetReg_SPEC,crate::common::W>::from_register(self,0)
2446 }
2447
2448 #[doc = "LmacReset_sec: A \'1\' resets LMAC security (for debug and MLME-reset)\n\n#$LmacReset_wutim@on_off_regmap\n#LmacReset_wutim: A \'1\' Resets LMAC wake-up timer (for debug and MLME-reset)"]
2449 #[inline(always)]
2450 pub fn lmacreset_sec(
2451 self,
2452 ) -> crate::common::RegisterFieldBool<7, 1, 0, FtdfLmacresetReg_SPEC, crate::common::W> {
2453 crate::common::RegisterFieldBool::<7,1,0,FtdfLmacresetReg_SPEC,crate::common::W>::from_register(self,0)
2454 }
2455
2456 #[doc = "LmacReset_tstim: A \'1\' resets LMAC timestamp timer (for debug and MLME-reset)"]
2457 #[inline(always)]
2458 pub fn lmacreset_tstim(
2459 self,
2460 ) -> crate::common::RegisterFieldBool<6, 1, 0, FtdfLmacresetReg_SPEC, crate::common::W> {
2461 crate::common::RegisterFieldBool::<6,1,0,FtdfLmacresetReg_SPEC,crate::common::W>::from_register(self,0)
2462 }
2463
2464 #[doc = "LmacReset_oreg: A \'1\' resets LMAC on_off regmap (for debug and MLME-reset)\n\n#$LmacReset_areg@on_off_regmap\n#LmacReset_areg: A \'1\' Resets LMAC always_on regmap (for debug and MLME-reset)"]
2465 #[inline(always)]
2466 pub fn lmacreset_oreg(
2467 self,
2468 ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfLmacresetReg_SPEC, crate::common::W> {
2469 crate::common::RegisterFieldBool::<4,1,0,FtdfLmacresetReg_SPEC,crate::common::W>::from_register(self,0)
2470 }
2471
2472 #[doc = "LmacReset_ahb: A \'1\' resets LMAC ahb interface (for debug and MLME-reset)"]
2473 #[inline(always)]
2474 pub fn lmacreset_ahb(
2475 self,
2476 ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfLmacresetReg_SPEC, crate::common::W> {
2477 crate::common::RegisterFieldBool::<3,1,0,FtdfLmacresetReg_SPEC,crate::common::W>::from_register(self,0)
2478 }
2479
2480 #[doc = "LmacReset_tx: A \'1\' resets LMAC tx pipeline (for debug and MLME-reset)"]
2481 #[inline(always)]
2482 pub fn lmacreset_tx(
2483 self,
2484 ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfLmacresetReg_SPEC, crate::common::W> {
2485 crate::common::RegisterFieldBool::<2,1,0,FtdfLmacresetReg_SPEC,crate::common::W>::from_register(self,0)
2486 }
2487
2488 #[doc = "LmacReset_rx: A \'1\' resets LMAC rx pipeline (for debug and MLME-reset)"]
2489 #[inline(always)]
2490 pub fn lmacreset_rx(
2491 self,
2492 ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfLmacresetReg_SPEC, crate::common::W> {
2493 crate::common::RegisterFieldBool::<1,1,0,FtdfLmacresetReg_SPEC,crate::common::W>::from_register(self,0)
2494 }
2495
2496 #[doc = "LmacReset_control: A \'1\' resets LMAC Controller (for debug and MLME-reset)"]
2497 #[inline(always)]
2498 pub fn lmacreset_control(
2499 self,
2500 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfLmacresetReg_SPEC, crate::common::W> {
2501 crate::common::RegisterFieldBool::<0,1,0,FtdfLmacresetReg_SPEC,crate::common::W>::from_register(self,0)
2502 }
2503}
2504impl ::core::default::Default for FtdfLmacresetReg {
2505 #[inline(always)]
2506 fn default() -> FtdfLmacresetReg {
2507 <crate::RegValueT<FtdfLmacresetReg_SPEC> as RegisterValue<_>>::new(0)
2508 }
2509}
2510
2511#[doc(hidden)]
2512#[derive(Copy, Clone, Eq, PartialEq)]
2513pub struct FtdfLmacControl0Reg_SPEC;
2514impl crate::sealed::RegSpec for FtdfLmacControl0Reg_SPEC {
2515 type DataType = u32;
2516}
2517
2518#[doc = "Lmac control register"]
2519pub type FtdfLmacControl0Reg = crate::RegValueT<FtdfLmacControl0Reg_SPEC>;
2520
2521impl FtdfLmacControl0Reg {
2522 #[doc = "When the transmit or receive action is ready (LmacReady4Sleep is set), the PHY_EN signal is cleared unless the control register keep_phy_en is set to \'1\'.\nWhen the control register keep_phy_en is set to \'1\', the signal PHY_EN shall remain being set until the keep_phy_en is cleared.\nThis will help control the behavior of the arbiter between the LMAC and the DPHY."]
2523 #[inline(always)]
2524 pub fn keep_phy_en(
2525 self,
2526 ) -> crate::common::RegisterFieldBool<31, 1, 0, FtdfLmacControl0Reg_SPEC, crate::common::RW>
2527 {
2528 crate::common::RegisterFieldBool::<31,1,0,FtdfLmacControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
2529 }
2530
2531 #[doc = "This value will be used during receiving frames, during the auto ACK (when the AR bit is set in the received frame, see \\[FR0655\\] and further), a single CCA and ED scan.\nIn TSCH mode this register will be used during the time slot in which frames can be received and consequently an Enhanced ACK can be transmitted."]
2532 #[inline(always)]
2533 pub fn pti_rx(
2534 self,
2535 ) -> crate::common::RegisterField<
2536 27,
2537 0xf,
2538 1,
2539 0,
2540 u8,
2541 u8,
2542 FtdfLmacControl0Reg_SPEC,
2543 crate::common::RW,
2544 > {
2545 crate::common::RegisterField::<
2546 27,
2547 0xf,
2548 1,
2549 0,
2550 u8,
2551 u8,
2552 FtdfLmacControl0Reg_SPEC,
2553 crate::common::RW,
2554 >::from_register(self, 0)
2555 }
2556
2557 #[doc = "If set to \'1\', the receiver shall be always on if RxEnable is set to \'1\'."]
2558 #[inline(always)]
2559 pub fn rxalwayson(
2560 self,
2561 ) -> crate::common::RegisterFieldBool<25, 1, 0, FtdfLmacControl0Reg_SPEC, crate::common::RW>
2562 {
2563 crate::common::RegisterFieldBool::<25,1,0,FtdfLmacControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
2564 }
2565
2566 #[doc = "The time (in symbol periods) the Rx must be on after setting RxEnable to \'1\'."]
2567 #[inline(always)]
2568 pub fn rxonduration(
2569 self,
2570 ) -> crate::common::RegisterField<
2571 1,
2572 0xffffff,
2573 1,
2574 0,
2575 u32,
2576 u32,
2577 FtdfLmacControl0Reg_SPEC,
2578 crate::common::RW,
2579 > {
2580 crate::common::RegisterField::<
2581 1,
2582 0xffffff,
2583 1,
2584 0,
2585 u32,
2586 u32,
2587 FtdfLmacControl0Reg_SPEC,
2588 crate::common::RW,
2589 >::from_register(self, 0)
2590 }
2591}
2592impl ::core::default::Default for FtdfLmacControl0Reg {
2593 #[inline(always)]
2594 fn default() -> FtdfLmacControl0Reg {
2595 <crate::RegValueT<FtdfLmacControl0Reg_SPEC> as RegisterValue<_>>::new(0)
2596 }
2597}
2598
2599#[doc(hidden)]
2600#[derive(Copy, Clone, Eq, PartialEq)]
2601pub struct FtdfLmacControl10Reg_SPEC;
2602impl crate::sealed::RegSpec for FtdfLmacControl10Reg_SPEC {
2603 type DataType = u32;
2604}
2605
2606#[doc = "Lmac control register"]
2607pub type FtdfLmacControl10Reg = crate::RegValueT<FtdfLmacControl10Reg_SPEC>;
2608
2609impl FtdfLmacControl10Reg {
2610 #[doc = "In CSL mode, if the current RZtime is less or Equal to macRZzeroVal an RZtime with value zero is inserted in the wakeup frame. So this is by default the last Wake-up frame of a Wake-up sequence."]
2611 #[inline(always)]
2612 pub fn macrzzeroval(
2613 self,
2614 ) -> crate::common::RegisterField<
2615 28,
2616 0xf,
2617 1,
2618 0,
2619 u8,
2620 u8,
2621 FtdfLmacControl10Reg_SPEC,
2622 crate::common::RW,
2623 > {
2624 crate::common::RegisterField::<
2625 28,
2626 0xf,
2627 1,
2628 0,
2629 u8,
2630 u8,
2631 FtdfLmacControl10Reg_SPEC,
2632 crate::common::RW,
2633 >::from_register(self, 0)
2634 }
2635
2636 #[doc = "In CSL mode, the software can set the margin for the expected frame by control register macCSLmarginRZ (in 10 symbol periods).\nThe LMAC will make sure that the receiver is ready to receive data this amount of time earlier than to be expected by the received RZ time."]
2637 #[inline(always)]
2638 pub fn maccslmarginrz(
2639 self,
2640 ) -> crate::common::RegisterField<
2641 16,
2642 0xf,
2643 1,
2644 0,
2645 u8,
2646 u8,
2647 FtdfLmacControl10Reg_SPEC,
2648 crate::common::RW,
2649 > {
2650 crate::common::RegisterField::<
2651 16,
2652 0xf,
2653 1,
2654 0,
2655 u8,
2656 u8,
2657 FtdfLmacControl10Reg_SPEC,
2658 crate::common::RW,
2659 >::from_register(self, 0)
2660 }
2661
2662 #[doc = "In CSL mode, this register shall be used if the Wake-up frame to be transmitted is larger than 15 octets.\nIt shall indicate the amount of extra data in a Wake-up frame after the RZ position in the frame (in 10 symbol periods).\nThis correction is needed to make sure that the correct RZ time is filled in by the LMAC."]
2663 #[inline(always)]
2664 pub fn macwurzcorrection(
2665 self,
2666 ) -> crate::common::RegisterField<
2667 0,
2668 0xff,
2669 1,
2670 0,
2671 u8,
2672 u8,
2673 FtdfLmacControl10Reg_SPEC,
2674 crate::common::RW,
2675 > {
2676 crate::common::RegisterField::<
2677 0,
2678 0xff,
2679 1,
2680 0,
2681 u8,
2682 u8,
2683 FtdfLmacControl10Reg_SPEC,
2684 crate::common::RW,
2685 >::from_register(self, 0)
2686 }
2687}
2688impl ::core::default::Default for FtdfLmacControl10Reg {
2689 #[inline(always)]
2690 fn default() -> FtdfLmacControl10Reg {
2691 <crate::RegValueT<FtdfLmacControl10Reg_SPEC> as RegisterValue<_>>::new(536870912)
2692 }
2693}
2694
2695#[doc(hidden)]
2696#[derive(Copy, Clone, Eq, PartialEq)]
2697pub struct FtdfLmacControl11Reg_SPEC;
2698impl crate::sealed::RegSpec for FtdfLmacControl11Reg_SPEC {
2699 type DataType = u32;
2700}
2701
2702#[doc = "Lmac control register"]
2703pub type FtdfLmacControl11Reg = crate::RegValueT<FtdfLmacControl11Reg_SPEC>;
2704
2705impl FtdfLmacControl11Reg {
2706 #[doc = "If the backoff time calculated in the CSMA-CA procedure as described in \\[FR3280\\] is equal to or higher than the control register Csma_Ca_BO_threshold\\[8\\] (resolution 320us, see \\[FR3290\\]) the event register Csma_Ca_BO_thr_e will be set and an interrupt.\nIn case Csma_Ca_BO_threshold equals 0xFF no check will be performed and consequently Csma_Ca_BO_thr_e will not be set and no interrupt will be generated."]
2707 #[inline(always)]
2708 pub fn csma_ca_bo_threshold(
2709 self,
2710 ) -> crate::common::RegisterField<
2711 24,
2712 0xff,
2713 1,
2714 0,
2715 u8,
2716 u8,
2717 FtdfLmacControl11Reg_SPEC,
2718 crate::common::RW,
2719 > {
2720 crate::common::RegisterField::<
2721 24,
2722 0xff,
2723 1,
2724 0,
2725 u8,
2726 u8,
2727 FtdfLmacControl11Reg_SPEC,
2728 crate::common::RW,
2729 >::from_register(self, 0)
2730 }
2731
2732 #[doc = "Number of backoffs value in case of a CSMA-CA resume action."]
2733 #[inline(always)]
2734 pub fn csma_ca_nb_val(
2735 self,
2736 ) -> crate::common::RegisterField<
2737 17,
2738 0x7,
2739 1,
2740 0,
2741 u8,
2742 u8,
2743 FtdfLmacControl11Reg_SPEC,
2744 crate::common::RW,
2745 > {
2746 crate::common::RegisterField::<
2747 17,
2748 0x7,
2749 1,
2750 0,
2751 u8,
2752 u8,
2753 FtdfLmacControl11Reg_SPEC,
2754 crate::common::RW,
2755 >::from_register(self, 0)
2756 }
2757
2758 #[doc = "The switching off and on of the PHY Rx (see macRxTotalCycleTime) can be disabled whith the control register macDisCaRxOfftoRZ.\n0 : Disabled\n1 : Enabled"]
2759 #[inline(always)]
2760 pub fn macdiscarxofftorz(
2761 self,
2762 ) -> crate::common::RegisterFieldBool<16, 1, 0, FtdfLmacControl11Reg_SPEC, crate::common::RW>
2763 {
2764 crate::common::RegisterFieldBool::<16,1,0,FtdfLmacControl11Reg_SPEC,crate::common::RW>::from_register(self,0)
2765 }
2766
2767 #[doc = "In CSL mode it can be decided to disable the PHY Rx (Rx-off) after reception of a Wake-up frame and enable the PHY Rx (Rx-on) when the data frame is to be expected, based on the received RZ time.\nIn order to make it easier to calculate if it is efficient to switch to Rx-off and Rx-on again, a control register indicates the time needed to disable and enable the PHY Rx: macRxTotalCycleTime (resolution is 10 symbol periods)"]
2768 #[inline(always)]
2769 pub fn macrxtotalcycletime(
2770 self,
2771 ) -> crate::common::RegisterField<
2772 0,
2773 0xffff,
2774 1,
2775 0,
2776 u16,
2777 u16,
2778 FtdfLmacControl11Reg_SPEC,
2779 crate::common::RW,
2780 > {
2781 crate::common::RegisterField::<
2782 0,
2783 0xffff,
2784 1,
2785 0,
2786 u16,
2787 u16,
2788 FtdfLmacControl11Reg_SPEC,
2789 crate::common::RW,
2790 >::from_register(self, 0)
2791 }
2792}
2793impl ::core::default::Default for FtdfLmacControl11Reg {
2794 #[inline(always)]
2795 fn default() -> FtdfLmacControl11Reg {
2796 <crate::RegValueT<FtdfLmacControl11Reg_SPEC> as RegisterValue<_>>::new(2147483647)
2797 }
2798}
2799
2800#[doc(hidden)]
2801#[derive(Copy, Clone, Eq, PartialEq)]
2802pub struct FtdfLmacControl1Reg_SPEC;
2803impl crate::sealed::RegSpec for FtdfLmacControl1Reg_SPEC {
2804 type DataType = u32;
2805}
2806
2807#[doc = "Lmac control register"]
2808pub type FtdfLmacControl1Reg = crate::RegValueT<FtdfLmacControl1Reg_SPEC>;
2809
2810impl FtdfLmacControl1Reg {
2811 #[doc = "HighSide injection."]
2812 #[inline(always)]
2813 pub fn phyrxattr_hsi(
2814 self,
2815 ) -> crate::common::RegisterFieldBool<15, 1, 0, FtdfLmacControl1Reg_SPEC, crate::common::RW>
2816 {
2817 crate::common::RegisterFieldBool::<15,1,0,FtdfLmacControl1Reg_SPEC,crate::common::RW>::from_register(self,0)
2818 }
2819
2820 #[doc = "Slot-basis signals mapped on GPIO via PPA."]
2821 #[inline(always)]
2822 pub fn phyrxattr_rf_gpio_pins(
2823 self,
2824 ) -> crate::common::RegisterField<
2825 12,
2826 0x7,
2827 1,
2828 0,
2829 u8,
2830 u8,
2831 FtdfLmacControl1Reg_SPEC,
2832 crate::common::RW,
2833 > {
2834 crate::common::RegisterField::<
2835 12,
2836 0x7,
2837 1,
2838 0,
2839 u8,
2840 u8,
2841 FtdfLmacControl1Reg_SPEC,
2842 crate::common::RW,
2843 >::from_register(self, 0)
2844 }
2845
2846 #[doc = "CalCap value."]
2847 #[inline(always)]
2848 pub fn phyrxattr_calcap(
2849 self,
2850 ) -> crate::common::RegisterField<
2851 8,
2852 0xf,
2853 1,
2854 0,
2855 u8,
2856 u8,
2857 FtdfLmacControl1Reg_SPEC,
2858 crate::common::RW,
2859 > {
2860 crate::common::RegisterField::<
2861 8,
2862 0xf,
2863 1,
2864 0,
2865 u8,
2866 u8,
2867 FtdfLmacControl1Reg_SPEC,
2868 crate::common::RW,
2869 >::from_register(self, 0)
2870 }
2871
2872 #[doc = "Channel Number."]
2873 #[inline(always)]
2874 pub fn phyrxattr_cn(
2875 self,
2876 ) -> crate::common::RegisterField<
2877 4,
2878 0xf,
2879 1,
2880 0,
2881 u8,
2882 u8,
2883 FtdfLmacControl1Reg_SPEC,
2884 crate::common::RW,
2885 > {
2886 crate::common::RegisterField::<
2887 4,
2888 0xf,
2889 1,
2890 0,
2891 u8,
2892 u8,
2893 FtdfLmacControl1Reg_SPEC,
2894 crate::common::RW,
2895 >::from_register(self, 0)
2896 }
2897
2898 #[doc = "Select the LQI calculation"]
2899 #[inline(always)]
2900 pub fn phyrxattr_dem_lqi(
2901 self,
2902 ) -> crate::common::RegisterField<
2903 2,
2904 0x3,
2905 1,
2906 0,
2907 u8,
2908 u8,
2909 FtdfLmacControl1Reg_SPEC,
2910 crate::common::RW,
2911 > {
2912 crate::common::RegisterField::<
2913 2,
2914 0x3,
2915 1,
2916 0,
2917 u8,
2918 u8,
2919 FtdfLmacControl1Reg_SPEC,
2920 crate::common::RW,
2921 >::from_register(self, 0)
2922 }
2923
2924 #[inline(always)]
2925 pub fn phyrxattr_dem_cca(
2926 self,
2927 ) -> crate::common::RegisterField<
2928 0,
2929 0x3,
2930 1,
2931 0,
2932 u8,
2933 u8,
2934 FtdfLmacControl1Reg_SPEC,
2935 crate::common::RW,
2936 > {
2937 crate::common::RegisterField::<
2938 0,
2939 0x3,
2940 1,
2941 0,
2942 u8,
2943 u8,
2944 FtdfLmacControl1Reg_SPEC,
2945 crate::common::RW,
2946 >::from_register(self, 0)
2947 }
2948}
2949impl ::core::default::Default for FtdfLmacControl1Reg {
2950 #[inline(always)]
2951 fn default() -> FtdfLmacControl1Reg {
2952 <crate::RegValueT<FtdfLmacControl1Reg_SPEC> as RegisterValue<_>>::new(0)
2953 }
2954}
2955
2956#[doc(hidden)]
2957#[derive(Copy, Clone, Eq, PartialEq)]
2958pub struct FtdfLmacControl2Reg_SPEC;
2959impl crate::sealed::RegSpec for FtdfLmacControl2Reg_SPEC {
2960 type DataType = u32;
2961}
2962
2963#[doc = "Lmac control register"]
2964pub type FtdfLmacControl2Reg = crate::RegValueT<FtdfLmacControl2Reg_SPEC>;
2965
2966impl FtdfLmacControl2Reg {
2967 #[doc = "The length of ED scan in symbol periods."]
2968 #[inline(always)]
2969 pub fn edscanduration(
2970 self,
2971 ) -> crate::common::RegisterField<
2972 8,
2973 0xffffff,
2974 1,
2975 0,
2976 u32,
2977 u32,
2978 FtdfLmacControl2Reg_SPEC,
2979 crate::common::RW,
2980 > {
2981 crate::common::RegisterField::<
2982 8,
2983 0xffffff,
2984 1,
2985 0,
2986 u32,
2987 u32,
2988 FtdfLmacControl2Reg_SPEC,
2989 crate::common::RW,
2990 >::from_register(self, 0)
2991 }
2992
2993 #[doc = "If set to \'1\', the Energy Detect scan will be performed when RxEnable is set to \'1\' rather than starting a receive action.\nThe length of this scan is defined by EdScanDuration."]
2994 #[inline(always)]
2995 pub fn edscanenable(
2996 self,
2997 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfLmacControl2Reg_SPEC, crate::common::RW>
2998 {
2999 crate::common::RegisterFieldBool::<0,1,0,FtdfLmacControl2Reg_SPEC,crate::common::RW>::from_register(self,0)
3000 }
3001}
3002impl ::core::default::Default for FtdfLmacControl2Reg {
3003 #[inline(always)]
3004 fn default() -> FtdfLmacControl2Reg {
3005 <crate::RegValueT<FtdfLmacControl2Reg_SPEC> as RegisterValue<_>>::new(0)
3006 }
3007}
3008
3009#[doc(hidden)]
3010#[derive(Copy, Clone, Eq, PartialEq)]
3011pub struct FtdfLmacControl3Reg_SPEC;
3012impl crate::sealed::RegSpec for FtdfLmacControl3Reg_SPEC {
3013 type DataType = u32;
3014}
3015
3016#[doc = "Lmac control register"]
3017pub type FtdfLmacControl3Reg = crate::RegValueT<FtdfLmacControl3Reg_SPEC>;
3018
3019impl FtdfLmacControl3Reg {
3020 #[doc = "If set, not only is FP_override and SA matching done on data_request frames but to all command and data frame types (in normal mode)"]
3021 #[inline(always)]
3022 pub fn ftdf_lpdp_enable(
3023 self,
3024 ) -> crate::common::RegisterFieldBool<27, 1, 0, FtdfLmacControl3Reg_SPEC, crate::common::RW>
3025 {
3026 crate::common::RegisterFieldBool::<27,1,0,FtdfLmacControl3Reg_SPEC,crate::common::RW>::from_register(self,0)
3027 }
3028
3029 #[doc = "In case the control register FP_override is set, the value of the control register FP_force_value will always be the value of the FP bit in the automatic ACK response frame."]
3030 #[inline(always)]
3031 pub fn fp_force_value(
3032 self,
3033 ) -> crate::common::RegisterFieldBool<26, 1, 0, FtdfLmacControl3Reg_SPEC, crate::common::RW>
3034 {
3035 crate::common::RegisterFieldBool::<26,1,0,FtdfLmacControl3Reg_SPEC,crate::common::RW>::from_register(self,0)
3036 }
3037
3038 #[doc = "In case the control register FP_override is set, the value of the control register FP_force_value will always be the value of the FP bit in the automatic ACK response frame."]
3039 #[inline(always)]
3040 pub fn fp_override(
3041 self,
3042 ) -> crate::common::RegisterFieldBool<25, 1, 0, FtdfLmacControl3Reg_SPEC, crate::common::RW>
3043 {
3044 crate::common::RegisterFieldBool::<25,1,0,FtdfLmacControl3Reg_SPEC,crate::common::RW>::from_register(self,0)
3045 }
3046
3047 #[doc = "In case the received source address matches with one of the Exp_SA registers, the value of the control register Addr_tap_match_FP_value will be inserted on the position of the FP bit.\nIn case there is no match found, the inverse value of Addr_tap_match_FP_value will be inserted."]
3048 #[inline(always)]
3049 pub fn addr_tab_match_fp_value(
3050 self,
3051 ) -> crate::common::RegisterFieldBool<24, 1, 0, FtdfLmacControl3Reg_SPEC, crate::common::RW>
3052 {
3053 crate::common::RegisterFieldBool::<24,1,0,FtdfLmacControl3Reg_SPEC,crate::common::RW>::from_register(self,0)
3054 }
3055
3056 #[doc = "Time to wait (in us) after CCA returned medium idle before starting TX-ON.\nNotes:\n1) extra wait times are involved before a packet is really transmitted, see the relevant timing figures.\n2) not applicable in TSCH mode since there macTSRxTx shall be used."]
3057 #[inline(always)]
3058 pub fn ccaidlewait(
3059 self,
3060 ) -> crate::common::RegisterField<
3061 16,
3062 0xff,
3063 1,
3064 0,
3065 u8,
3066 u8,
3067 FtdfLmacControl3Reg_SPEC,
3068 crate::common::RW,
3069 > {
3070 crate::common::RegisterField::<
3071 16,
3072 0xff,
3073 1,
3074 0,
3075 u8,
3076 u8,
3077 FtdfLmacControl3Reg_SPEC,
3078 crate::common::RW,
3079 >::from_register(self, 0)
3080 }
3081
3082 #[doc = "Max time to wait (in symbol periods) for a requested Data Frame or an announced broadcast frame, triggered by the FP bit in the received frame was set to \'1\'."]
3083 #[inline(always)]
3084 pub fn macmaxframetotalwaittime(
3085 self,
3086 ) -> crate::common::RegisterField<
3087 0,
3088 0xffff,
3089 1,
3090 0,
3091 u16,
3092 u16,
3093 FtdfLmacControl3Reg_SPEC,
3094 crate::common::RW,
3095 > {
3096 crate::common::RegisterField::<
3097 0,
3098 0xffff,
3099 1,
3100 0,
3101 u16,
3102 u16,
3103 FtdfLmacControl3Reg_SPEC,
3104 crate::common::RW,
3105 >::from_register(self, 0)
3106 }
3107}
3108impl ::core::default::Default for FtdfLmacControl3Reg {
3109 #[inline(always)]
3110 fn default() -> FtdfLmacControl3Reg {
3111 <crate::RegValueT<FtdfLmacControl3Reg_SPEC> as RegisterValue<_>>::new(117441732)
3112 }
3113}
3114
3115#[doc(hidden)]
3116#[derive(Copy, Clone, Eq, PartialEq)]
3117pub struct FtdfLmacControl4Reg_SPEC;
3118impl crate::sealed::RegSpec for FtdfLmacControl4Reg_SPEC {
3119 type DataType = u32;
3120}
3121
3122#[doc = "Lmac control register"]
3123pub type FtdfLmacControl4Reg = crate::RegValueT<FtdfLmacControl4Reg_SPEC>;
3124
3125impl FtdfLmacControl4Reg {
3126 #[doc = "HighSide injection."]
3127 #[inline(always)]
3128 pub fn phyackattr_hsi(
3129 self,
3130 ) -> crate::common::RegisterFieldBool<31, 1, 0, FtdfLmacControl4Reg_SPEC, crate::common::RW>
3131 {
3132 crate::common::RegisterFieldBool::<31,1,0,FtdfLmacControl4Reg_SPEC,crate::common::RW>::from_register(self,0)
3133 }
3134
3135 #[doc = "Slot-basis signals mapped on GPIO via PPA."]
3136 #[inline(always)]
3137 pub fn phyackattr_rf_gpio_pins(
3138 self,
3139 ) -> crate::common::RegisterField<
3140 28,
3141 0x7,
3142 1,
3143 0,
3144 u8,
3145 u8,
3146 FtdfLmacControl4Reg_SPEC,
3147 crate::common::RW,
3148 > {
3149 crate::common::RegisterField::<
3150 28,
3151 0x7,
3152 1,
3153 0,
3154 u8,
3155 u8,
3156 FtdfLmacControl4Reg_SPEC,
3157 crate::common::RW,
3158 >::from_register(self, 0)
3159 }
3160
3161 #[doc = "CalCap value."]
3162 #[inline(always)]
3163 pub fn phyackattr_calcap(
3164 self,
3165 ) -> crate::common::RegisterField<
3166 24,
3167 0xf,
3168 1,
3169 0,
3170 u8,
3171 u8,
3172 FtdfLmacControl4Reg_SPEC,
3173 crate::common::RW,
3174 > {
3175 crate::common::RegisterField::<
3176 24,
3177 0xf,
3178 1,
3179 0,
3180 u8,
3181 u8,
3182 FtdfLmacControl4Reg_SPEC,
3183 crate::common::RW,
3184 >::from_register(self, 0)
3185 }
3186
3187 #[doc = "Channel Number."]
3188 #[inline(always)]
3189 pub fn phyackattr_cn(
3190 self,
3191 ) -> crate::common::RegisterField<
3192 20,
3193 0xf,
3194 1,
3195 0,
3196 u8,
3197 u8,
3198 FtdfLmacControl4Reg_SPEC,
3199 crate::common::RW,
3200 > {
3201 crate::common::RegisterField::<
3202 20,
3203 0xf,
3204 1,
3205 0,
3206 u8,
3207 u8,
3208 FtdfLmacControl4Reg_SPEC,
3209 crate::common::RW,
3210 >::from_register(self, 0)
3211 }
3212
3213 #[doc = "DEM packet information."]
3214 #[inline(always)]
3215 pub fn phyackattr_dem_pti(
3216 self,
3217 ) -> crate::common::RegisterField<
3218 16,
3219 0xf,
3220 1,
3221 0,
3222 u8,
3223 u8,
3224 FtdfLmacControl4Reg_SPEC,
3225 crate::common::RW,
3226 > {
3227 crate::common::RegisterField::<
3228 16,
3229 0xf,
3230 1,
3231 0,
3232 u8,
3233 u8,
3234 FtdfLmacControl4Reg_SPEC,
3235 crate::common::RW,
3236 >::from_register(self, 0)
3237 }
3238
3239 #[doc = "The control register RxPipePropDelay indicates the propagation delay in ~s of the Rx pipeline between the last symbol being captured at the DPHY interface and the data valid indication to the LMAC controller."]
3240 #[inline(always)]
3241 pub fn rxpipepropdelay(
3242 self,
3243 ) -> crate::common::RegisterField<
3244 8,
3245 0xff,
3246 1,
3247 0,
3248 u8,
3249 u8,
3250 FtdfLmacControl4Reg_SPEC,
3251 crate::common::RW,
3252 > {
3253 crate::common::RegisterField::<
3254 8,
3255 0xff,
3256 1,
3257 0,
3258 u8,
3259 u8,
3260 FtdfLmacControl4Reg_SPEC,
3261 crate::common::RW,
3262 >::from_register(self, 0)
3263 }
3264
3265 #[doc = "The minume time (in us) required between the clear to \'0\' and set to \'1\' of PHY_EN.\nWhen the signal PHY_EN is deasserted, it will not be asserted within the time phySleepWait."]
3266 #[inline(always)]
3267 pub fn physleepwait(
3268 self,
3269 ) -> crate::common::RegisterField<
3270 0,
3271 0xff,
3272 1,
3273 0,
3274 u8,
3275 u8,
3276 FtdfLmacControl4Reg_SPEC,
3277 crate::common::RW,
3278 > {
3279 crate::common::RegisterField::<
3280 0,
3281 0xff,
3282 1,
3283 0,
3284 u8,
3285 u8,
3286 FtdfLmacControl4Reg_SPEC,
3287 crate::common::RW,
3288 >::from_register(self, 0)
3289 }
3290}
3291impl ::core::default::Default for FtdfLmacControl4Reg {
3292 #[inline(always)]
3293 fn default() -> FtdfLmacControl4Reg {
3294 <crate::RegValueT<FtdfLmacControl4Reg_SPEC> as RegisterValue<_>>::new(0)
3295 }
3296}
3297
3298#[doc(hidden)]
3299#[derive(Copy, Clone, Eq, PartialEq)]
3300pub struct FtdfLmacControl5Reg_SPEC;
3301impl crate::sealed::RegSpec for FtdfLmacControl5Reg_SPEC {
3302 type DataType = u32;
3303}
3304
3305#[doc = "Lmac control register"]
3306pub type FtdfLmacControl5Reg = crate::RegValueT<FtdfLmacControl5Reg_SPEC>;
3307
3308impl FtdfLmacControl5Reg {
3309 #[doc = "HighSide injection."]
3310 #[inline(always)]
3311 pub fn phycsmacaattr_hsi(
3312 self,
3313 ) -> crate::common::RegisterFieldBool<31, 1, 0, FtdfLmacControl5Reg_SPEC, crate::common::RW>
3314 {
3315 crate::common::RegisterFieldBool::<31,1,0,FtdfLmacControl5Reg_SPEC,crate::common::RW>::from_register(self,0)
3316 }
3317
3318 #[doc = "Slot-basis signals mapped on GPIO via PPA."]
3319 #[inline(always)]
3320 pub fn phycsmacaattr_rf_gpio_pins(
3321 self,
3322 ) -> crate::common::RegisterField<
3323 28,
3324 0x7,
3325 1,
3326 0,
3327 u8,
3328 u8,
3329 FtdfLmacControl5Reg_SPEC,
3330 crate::common::RW,
3331 > {
3332 crate::common::RegisterField::<
3333 28,
3334 0x7,
3335 1,
3336 0,
3337 u8,
3338 u8,
3339 FtdfLmacControl5Reg_SPEC,
3340 crate::common::RW,
3341 >::from_register(self, 0)
3342 }
3343
3344 #[doc = "CalCap value."]
3345 #[inline(always)]
3346 pub fn phycsmacaattr_calcap(
3347 self,
3348 ) -> crate::common::RegisterField<
3349 24,
3350 0xf,
3351 1,
3352 0,
3353 u8,
3354 u8,
3355 FtdfLmacControl5Reg_SPEC,
3356 crate::common::RW,
3357 > {
3358 crate::common::RegisterField::<
3359 24,
3360 0xf,
3361 1,
3362 0,
3363 u8,
3364 u8,
3365 FtdfLmacControl5Reg_SPEC,
3366 crate::common::RW,
3367 >::from_register(self, 0)
3368 }
3369
3370 #[doc = "Channel Number."]
3371 #[inline(always)]
3372 pub fn phycsmacaattr_cn(
3373 self,
3374 ) -> crate::common::RegisterField<
3375 20,
3376 0xf,
3377 1,
3378 0,
3379 u8,
3380 u8,
3381 FtdfLmacControl5Reg_SPEC,
3382 crate::common::RW,
3383 > {
3384 crate::common::RegisterField::<
3385 20,
3386 0xf,
3387 1,
3388 0,
3389 u8,
3390 u8,
3391 FtdfLmacControl5Reg_SPEC,
3392 crate::common::RW,
3393 >::from_register(self, 0)
3394 }
3395
3396 #[doc = "DEM packet information."]
3397 #[inline(always)]
3398 pub fn phycsmacaattr_dem_pti(
3399 self,
3400 ) -> crate::common::RegisterField<
3401 16,
3402 0xf,
3403 1,
3404 0,
3405 u8,
3406 u8,
3407 FtdfLmacControl5Reg_SPEC,
3408 crate::common::RW,
3409 > {
3410 crate::common::RegisterField::<
3411 16,
3412 0xf,
3413 1,
3414 0,
3415 u8,
3416 u8,
3417 FtdfLmacControl5Reg_SPEC,
3418 crate::common::RW,
3419 >::from_register(self, 0)
3420 }
3421
3422 #[doc = "The output CCASTAT is valid after 8 symbols + phyRxStartup.\nThe 8 symbols are programmable by control registerCcaStatWait (in symbol periods).\nDefault value is 8d."]
3423 #[inline(always)]
3424 pub fn ccastatwait(
3425 self,
3426 ) -> crate::common::RegisterField<
3427 8,
3428 0xf,
3429 1,
3430 0,
3431 u8,
3432 u8,
3433 FtdfLmacControl5Reg_SPEC,
3434 crate::common::RW,
3435 > {
3436 crate::common::RegisterField::<
3437 8,
3438 0xf,
3439 1,
3440 0,
3441 u8,
3442 u8,
3443 FtdfLmacControl5Reg_SPEC,
3444 crate::common::RW,
3445 >::from_register(self, 0)
3446 }
3447
3448 #[doc = "In order to have some flexibility the control register Ack_Response_Delay indicates the Acknowledge response time in ~s.\nThe default value shall is 192 ~s (12 symbols)."]
3449 #[inline(always)]
3450 pub fn ack_response_delay(
3451 self,
3452 ) -> crate::common::RegisterField<
3453 0,
3454 0xff,
3455 1,
3456 0,
3457 u8,
3458 u8,
3459 FtdfLmacControl5Reg_SPEC,
3460 crate::common::RW,
3461 > {
3462 crate::common::RegisterField::<
3463 0,
3464 0xff,
3465 1,
3466 0,
3467 u8,
3468 u8,
3469 FtdfLmacControl5Reg_SPEC,
3470 crate::common::RW,
3471 >::from_register(self, 0)
3472 }
3473}
3474impl ::core::default::Default for FtdfLmacControl5Reg {
3475 #[inline(always)]
3476 fn default() -> FtdfLmacControl5Reg {
3477 <crate::RegValueT<FtdfLmacControl5Reg_SPEC> as RegisterValue<_>>::new(2240)
3478 }
3479}
3480
3481#[doc(hidden)]
3482#[derive(Copy, Clone, Eq, PartialEq)]
3483pub struct FtdfLmacControl6Reg_SPEC;
3484impl crate::sealed::RegSpec for FtdfLmacControl6Reg_SPEC {
3485 type DataType = u32;
3486}
3487
3488#[doc = "Lmac control register"]
3489pub type FtdfLmacControl6Reg = crate::RegValueT<FtdfLmacControl6Reg_SPEC>;
3490
3491impl FtdfLmacControl6Reg {
3492 #[doc = "The WakeUp IFS period is programmable by WUifsPeriod (in symbols).\nThe default is 12 symbols (192 us)."]
3493 #[inline(always)]
3494 pub fn wuifsperiod(
3495 self,
3496 ) -> crate::common::RegisterField<
3497 16,
3498 0xff,
3499 1,
3500 0,
3501 u8,
3502 u8,
3503 FtdfLmacControl6Reg_SPEC,
3504 crate::common::RW,
3505 > {
3506 crate::common::RegisterField::<
3507 16,
3508 0xff,
3509 1,
3510 0,
3511 u8,
3512 u8,
3513 FtdfLmacControl6Reg_SPEC,
3514 crate::common::RW,
3515 >::from_register(self, 0)
3516 }
3517
3518 #[doc = "The Short IFS period is programmable by SifsPeriod (in symbols).\nThe default is 12 symbols (192 is)."]
3519 #[inline(always)]
3520 pub fn sifsperiod(
3521 self,
3522 ) -> crate::common::RegisterField<
3523 8,
3524 0xff,
3525 1,
3526 0,
3527 u8,
3528 u8,
3529 FtdfLmacControl6Reg_SPEC,
3530 crate::common::RW,
3531 > {
3532 crate::common::RegisterField::<
3533 8,
3534 0xff,
3535 1,
3536 0,
3537 u8,
3538 u8,
3539 FtdfLmacControl6Reg_SPEC,
3540 crate::common::RW,
3541 >::from_register(self, 0)
3542 }
3543
3544 #[doc = "The Long IFS period is programmable by LifsPeriod (in symbols).\nThe default is 40 symbols (640 us),"]
3545 #[inline(always)]
3546 pub fn lifsperiod(
3547 self,
3548 ) -> crate::common::RegisterField<
3549 0,
3550 0xff,
3551 1,
3552 0,
3553 u8,
3554 u8,
3555 FtdfLmacControl6Reg_SPEC,
3556 crate::common::RW,
3557 > {
3558 crate::common::RegisterField::<
3559 0,
3560 0xff,
3561 1,
3562 0,
3563 u8,
3564 u8,
3565 FtdfLmacControl6Reg_SPEC,
3566 crate::common::RW,
3567 >::from_register(self, 0)
3568 }
3569}
3570impl ::core::default::Default for FtdfLmacControl6Reg {
3571 #[inline(always)]
3572 fn default() -> FtdfLmacControl6Reg {
3573 <crate::RegValueT<FtdfLmacControl6Reg_SPEC> as RegisterValue<_>>::new(789544)
3574 }
3575}
3576
3577#[doc(hidden)]
3578#[derive(Copy, Clone, Eq, PartialEq)]
3579pub struct FtdfLmacControl7Reg_SPEC;
3580impl crate::sealed::RegSpec for FtdfLmacControl7Reg_SPEC {
3581 type DataType = u32;
3582}
3583
3584#[doc = "Lmac control register"]
3585pub type FtdfLmacControl7Reg = crate::RegValueT<FtdfLmacControl7Reg_SPEC>;
3586
3587impl FtdfLmacControl7Reg {
3588 #[doc = "In CSL mode, when performing a idle listening, the receiver is enabled for at least macCSLsamplePeriod (in symbol oeriods)."]
3589 #[inline(always)]
3590 pub fn maccslsampleperiod(
3591 self,
3592 ) -> crate::common::RegisterField<
3593 16,
3594 0xffff,
3595 1,
3596 0,
3597 u16,
3598 u16,
3599 FtdfLmacControl7Reg_SPEC,
3600 crate::common::RW,
3601 > {
3602 crate::common::RegisterField::<
3603 16,
3604 0xffff,
3605 1,
3606 0,
3607 u16,
3608 u16,
3609 FtdfLmacControl7Reg_SPEC,
3610 crate::common::RW,
3611 >::from_register(self, 0)
3612 }
3613
3614 #[doc = "In CSL mode, the Wake-up duration in symbol periods. During this period, Wake-up frames will be transmitted."]
3615 #[inline(always)]
3616 pub fn macwuperiod(
3617 self,
3618 ) -> crate::common::RegisterField<
3619 0,
3620 0xffff,
3621 1,
3622 0,
3623 u16,
3624 u16,
3625 FtdfLmacControl7Reg_SPEC,
3626 crate::common::RW,
3627 > {
3628 crate::common::RegisterField::<
3629 0,
3630 0xffff,
3631 1,
3632 0,
3633 u16,
3634 u16,
3635 FtdfLmacControl7Reg_SPEC,
3636 crate::common::RW,
3637 >::from_register(self, 0)
3638 }
3639}
3640impl ::core::default::Default for FtdfLmacControl7Reg {
3641 #[inline(always)]
3642 fn default() -> FtdfLmacControl7Reg {
3643 <crate::RegValueT<FtdfLmacControl7Reg_SPEC> as RegisterValue<_>>::new(4325376)
3644 }
3645}
3646
3647#[doc(hidden)]
3648#[derive(Copy, Clone, Eq, PartialEq)]
3649pub struct FtdfLmacControl8Reg_SPEC;
3650impl crate::sealed::RegSpec for FtdfLmacControl8Reg_SPEC {
3651 type DataType = u32;
3652}
3653
3654#[doc = "Lmac control register"]
3655pub type FtdfLmacControl8Reg = crate::RegValueT<FtdfLmacControl8Reg_SPEC>;
3656
3657impl FtdfLmacControl8Reg {
3658 #[doc = "In CSL mode, the control register macCSLstartSampleTime indicates the TimeStamp generator time (in symbol periods) when to start listening (called idle listening) or transmitting (when tx_flag_status is set)."]
3659 #[inline(always)]
3660 pub fn maccslstartsampletime(
3661 self,
3662 ) -> crate::common::RegisterField<
3663 0,
3664 0xffffffff,
3665 1,
3666 0,
3667 u32,
3668 u32,
3669 FtdfLmacControl8Reg_SPEC,
3670 crate::common::RW,
3671 > {
3672 crate::common::RegisterField::<
3673 0,
3674 0xffffffff,
3675 1,
3676 0,
3677 u32,
3678 u32,
3679 FtdfLmacControl8Reg_SPEC,
3680 crate::common::RW,
3681 >::from_register(self, 0)
3682 }
3683}
3684impl ::core::default::Default for FtdfLmacControl8Reg {
3685 #[inline(always)]
3686 fn default() -> FtdfLmacControl8Reg {
3687 <crate::RegValueT<FtdfLmacControl8Reg_SPEC> as RegisterValue<_>>::new(0)
3688 }
3689}
3690
3691#[doc(hidden)]
3692#[derive(Copy, Clone, Eq, PartialEq)]
3693pub struct FtdfLmacControl9Reg_SPEC;
3694impl crate::sealed::RegSpec for FtdfLmacControl9Reg_SPEC {
3695 type DataType = u32;
3696}
3697
3698#[doc = "Lmac control register"]
3699pub type FtdfLmacControl9Reg = crate::RegValueT<FtdfLmacControl9Reg_SPEC>;
3700
3701impl FtdfLmacControl9Reg {
3702 #[doc = "In CSL mode, if a non Wake-up frame with Frame Pending bit = \'1\' is received, the receiver is enabled for at least an extra period of macCSLFramePendingWaitT (in symbol periods) after the end of the received frame.\nThe time the Enhanced ACK transmission lasts (if applicable) is included in this time."]
3703 #[inline(always)]
3704 pub fn maccslframependingwaitt(
3705 self,
3706 ) -> crate::common::RegisterField<
3707 16,
3708 0xffff,
3709 1,
3710 0,
3711 u16,
3712 u16,
3713 FtdfLmacControl9Reg_SPEC,
3714 crate::common::RW,
3715 > {
3716 crate::common::RegisterField::<
3717 16,
3718 0xffff,
3719 1,
3720 0,
3721 u16,
3722 u16,
3723 FtdfLmacControl9Reg_SPEC,
3724 crate::common::RW,
3725 >::from_register(self, 0)
3726 }
3727
3728 #[doc = "In CSL mode, after the wake-up sequence a data frame is expected. The receiver will be enabled for at least a period of macCSLdataPeriod (in symbol periods)."]
3729 #[inline(always)]
3730 pub fn maccsldataperiod(
3731 self,
3732 ) -> crate::common::RegisterField<
3733 0,
3734 0xffff,
3735 1,
3736 0,
3737 u16,
3738 u16,
3739 FtdfLmacControl9Reg_SPEC,
3740 crate::common::RW,
3741 > {
3742 crate::common::RegisterField::<
3743 0,
3744 0xffff,
3745 1,
3746 0,
3747 u16,
3748 u16,
3749 FtdfLmacControl9Reg_SPEC,
3750 crate::common::RW,
3751 >::from_register(self, 0)
3752 }
3753}
3754impl ::core::default::Default for FtdfLmacControl9Reg {
3755 #[inline(always)]
3756 fn default() -> FtdfLmacControl9Reg {
3757 <crate::RegValueT<FtdfLmacControl9Reg_SPEC> as RegisterValue<_>>::new(66)
3758 }
3759}
3760
3761#[doc(hidden)]
3762#[derive(Copy, Clone, Eq, PartialEq)]
3763pub struct FtdfLmacControlDeltaReg_SPEC;
3764impl crate::sealed::RegSpec for FtdfLmacControlDeltaReg_SPEC {
3765 type DataType = u32;
3766}
3767
3768#[doc = "Lmac delta control register"]
3769pub type FtdfLmacControlDeltaReg = crate::RegValueT<FtdfLmacControlDeltaReg_SPEC>;
3770
3771impl FtdfLmacControlDeltaReg {
3772 #[doc = "Delta which indicates that WakeupTimerEnableStatus has changed\nThis delta bit is set to \'1\' on each change of this status, contributes to ftdf_ce\\[3\\]."]
3773 #[inline(always)]
3774 pub fn wakeuptimerenablestatus_d(
3775 self,
3776 ) -> crate::common::RegisterFieldBool<6, 1, 0, FtdfLmacControlDeltaReg_SPEC, crate::common::RW>
3777 {
3778 crate::common::RegisterFieldBool::<6,1,0,FtdfLmacControlDeltaReg_SPEC,crate::common::RW>::from_register(self,0)
3779 }
3780
3781 #[doc = "Event, set to \'1\' to indicate that the the getGeneratorVal request is completed.\nThis event bit contributes to ftdf_ce\\[3\\]."]
3782 #[inline(always)]
3783 pub fn getgeneratorval_e(
3784 self,
3785 ) -> crate::common::RegisterFieldBool<5, 1, 0, FtdfLmacControlDeltaReg_SPEC, crate::common::RW>
3786 {
3787 crate::common::RegisterFieldBool::<5,1,0,FtdfLmacControlDeltaReg_SPEC,crate::common::RW>::from_register(self,0)
3788 }
3789
3790 #[doc = "Event, set to \'1\' when the symboltime counter matched SymbolTime2Thr\nThis event bit contributes to ftdf_ce\\[3\\]."]
3791 #[inline(always)]
3792 pub fn symboltime2thr_e(
3793 self,
3794 ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfLmacControlDeltaReg_SPEC, crate::common::RW>
3795 {
3796 crate::common::RegisterFieldBool::<4,1,0,FtdfLmacControlDeltaReg_SPEC,crate::common::RW>::from_register(self,0)
3797 }
3798
3799 #[doc = "Event, set to \'1\' when the symboltime counter matched SymbolTimeThr\nThis event bit contributes to ftdf_ce\\[3\\]."]
3800 #[inline(always)]
3801 pub fn symboltimethr_e(
3802 self,
3803 ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfLmacControlDeltaReg_SPEC, crate::common::RW>
3804 {
3805 crate::common::RegisterFieldBool::<3,1,0,FtdfLmacControlDeltaReg_SPEC,crate::common::RW>::from_register(self,0)
3806 }
3807
3808 #[doc = "The SyncTimeStamp_e event is set to \'1\' when the TimeStampgenerator is loaded with SyncTimeStampVal.\nThis occurs at the rising edge of lp_clk when SyncTimeStampEna is set and the value of the Event generator is equal to the value SyncTimestampThr.\nThis event bit contributes to ftdf_ce\\[3\\]."]
3809 #[inline(always)]
3810 pub fn synctimestamp_e(
3811 self,
3812 ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfLmacControlDeltaReg_SPEC, crate::common::RW>
3813 {
3814 crate::common::RegisterFieldBool::<2,1,0,FtdfLmacControlDeltaReg_SPEC,crate::common::RW>::from_register(self,0)
3815 }
3816
3817 #[doc = "Delta bit for register LmacReady4sleep.\nThis delta bit is set to \'1\' on each change of this status, contributes to ftdf_ce\\[3\\]."]
3818 #[inline(always)]
3819 pub fn lmacready4sleep_d(
3820 self,
3821 ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfLmacControlDeltaReg_SPEC, crate::common::RW>
3822 {
3823 crate::common::RegisterFieldBool::<1,1,0,FtdfLmacControlDeltaReg_SPEC,crate::common::RW>::from_register(self,0)
3824 }
3825}
3826impl ::core::default::Default for FtdfLmacControlDeltaReg {
3827 #[inline(always)]
3828 fn default() -> FtdfLmacControlDeltaReg {
3829 <crate::RegValueT<FtdfLmacControlDeltaReg_SPEC> as RegisterValue<_>>::new(0)
3830 }
3831}
3832
3833#[doc(hidden)]
3834#[derive(Copy, Clone, Eq, PartialEq)]
3835pub struct FtdfLmacControlMaskReg_SPEC;
3836impl crate::sealed::RegSpec for FtdfLmacControlMaskReg_SPEC {
3837 type DataType = u32;
3838}
3839
3840#[doc = "Lmac mask control register"]
3841pub type FtdfLmacControlMaskReg = crate::RegValueT<FtdfLmacControlMaskReg_SPEC>;
3842
3843impl FtdfLmacControlMaskReg {
3844 #[doc = "Mask for WakeupTimerEnableStatus_d\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
3845 #[inline(always)]
3846 pub fn wakeuptimerenablestatus_m(
3847 self,
3848 ) -> crate::common::RegisterFieldBool<6, 1, 0, FtdfLmacControlMaskReg_SPEC, crate::common::RW>
3849 {
3850 crate::common::RegisterFieldBool::<6,1,0,FtdfLmacControlMaskReg_SPEC,crate::common::RW>::from_register(self,0)
3851 }
3852
3853 #[doc = "Mask for getGeneratorVal_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
3854 #[inline(always)]
3855 pub fn getgeneratorval_m(
3856 self,
3857 ) -> crate::common::RegisterFieldBool<5, 1, 0, FtdfLmacControlMaskReg_SPEC, crate::common::RW>
3858 {
3859 crate::common::RegisterFieldBool::<5,1,0,FtdfLmacControlMaskReg_SPEC,crate::common::RW>::from_register(self,0)
3860 }
3861
3862 #[doc = "Mask for SymbolTime2Thr_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
3863 #[inline(always)]
3864 pub fn symboltime2thr_m(
3865 self,
3866 ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfLmacControlMaskReg_SPEC, crate::common::RW>
3867 {
3868 crate::common::RegisterFieldBool::<4,1,0,FtdfLmacControlMaskReg_SPEC,crate::common::RW>::from_register(self,0)
3869 }
3870
3871 #[doc = "Mask for SymbolTimeThr_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
3872 #[inline(always)]
3873 pub fn symboltimethr_m(
3874 self,
3875 ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfLmacControlMaskReg_SPEC, crate::common::RW>
3876 {
3877 crate::common::RegisterFieldBool::<3,1,0,FtdfLmacControlMaskReg_SPEC,crate::common::RW>::from_register(self,0)
3878 }
3879
3880 #[doc = "Mask bit for event register SyncTimeStamp_e.\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
3881 #[inline(always)]
3882 pub fn synctimestamp_m(
3883 self,
3884 ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfLmacControlMaskReg_SPEC, crate::common::RW>
3885 {
3886 crate::common::RegisterFieldBool::<2,1,0,FtdfLmacControlMaskReg_SPEC,crate::common::RW>::from_register(self,0)
3887 }
3888
3889 #[doc = "Mask bit for delta bit LmacReady4sleep_d.\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
3890 #[inline(always)]
3891 pub fn lmacready4sleep_m(
3892 self,
3893 ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfLmacControlMaskReg_SPEC, crate::common::RW>
3894 {
3895 crate::common::RegisterFieldBool::<1,1,0,FtdfLmacControlMaskReg_SPEC,crate::common::RW>::from_register(self,0)
3896 }
3897}
3898impl ::core::default::Default for FtdfLmacControlMaskReg {
3899 #[inline(always)]
3900 fn default() -> FtdfLmacControlMaskReg {
3901 <crate::RegValueT<FtdfLmacControlMaskReg_SPEC> as RegisterValue<_>>::new(0)
3902 }
3903}
3904
3905#[doc(hidden)]
3906#[derive(Copy, Clone, Eq, PartialEq)]
3907pub struct FtdfLmacControlOsReg_SPEC;
3908impl crate::sealed::RegSpec for FtdfLmacControlOsReg_SPEC {
3909 type DataType = u32;
3910}
3911
3912#[doc = "Lmac control register"]
3913pub type FtdfLmacControlOsReg = crate::RegValueT<FtdfLmacControlOsReg_SPEC>;
3914
3915impl FtdfLmacControlOsReg {
3916 #[doc = "If set, Csma_Ca_resume_stat is cleared"]
3917 #[inline(always)]
3918 pub fn csma_ca_resume_clear(
3919 self,
3920 ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfLmacControlOsReg_SPEC, crate::common::W>
3921 {
3922 crate::common::RegisterFieldBool::<4,1,0,FtdfLmacControlOsReg_SPEC,crate::common::W>::from_register(self,0)
3923 }
3924
3925 #[doc = "If set, Csma_Ca_resume_stat is set"]
3926 #[inline(always)]
3927 pub fn csma_ca_resume_set(
3928 self,
3929 ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfLmacControlOsReg_SPEC, crate::common::W>
3930 {
3931 crate::common::RegisterFieldBool::<3,1,0,FtdfLmacControlOsReg_SPEC,crate::common::W>::from_register(self,0)
3932 }
3933
3934 #[doc = "If set to \'1\', a single CCA will be performed.\nThis can be used when e.g. the TSCH timing is not performed by the LMAC but completely by software."]
3935 #[inline(always)]
3936 pub fn singlecca(
3937 self,
3938 ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfLmacControlOsReg_SPEC, crate::common::W>
3939 {
3940 crate::common::RegisterFieldBool::<2,1,0,FtdfLmacControlOsReg_SPEC,crate::common::W>::from_register(self,0)
3941 }
3942
3943 #[doc = "If set, receiving data may be done"]
3944 #[inline(always)]
3945 pub fn rxenable(
3946 self,
3947 ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfLmacControlOsReg_SPEC, crate::common::W>
3948 {
3949 crate::common::RegisterFieldBool::<1,1,0,FtdfLmacControlOsReg_SPEC,crate::common::W>::from_register(self,0)
3950 }
3951
3952 #[doc = "If set to \'1\', the current values of the Wake-up (event) counter/generator (EventCurrVal) and Timestamp (symbol) counter/generator (TimeStampCurrVal and TimeStampCurrPhaseVal) will be captured.\nNote that this capture actually has been done when getGeneratorVal_e is set (assuming it was cleared in advance)."]
3953 #[inline(always)]
3954 pub fn getgeneratorval(
3955 self,
3956 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfLmacControlOsReg_SPEC, crate::common::W>
3957 {
3958 crate::common::RegisterFieldBool::<0,1,0,FtdfLmacControlOsReg_SPEC,crate::common::W>::from_register(self,0)
3959 }
3960}
3961impl ::core::default::Default for FtdfLmacControlOsReg {
3962 #[inline(always)]
3963 fn default() -> FtdfLmacControlOsReg {
3964 <crate::RegValueT<FtdfLmacControlOsReg_SPEC> as RegisterValue<_>>::new(0)
3965 }
3966}
3967
3968#[doc(hidden)]
3969#[derive(Copy, Clone, Eq, PartialEq)]
3970pub struct FtdfLmacControlStatusReg_SPEC;
3971impl crate::sealed::RegSpec for FtdfLmacControlStatusReg_SPEC {
3972 type DataType = u32;
3973}
3974
3975#[doc = "Lmac status register"]
3976pub type FtdfLmacControlStatusReg = crate::RegValueT<FtdfLmacControlStatusReg_SPEC>;
3977
3978impl FtdfLmacControlStatusReg {
3979 #[doc = "The value of the currently calculated BackOff value. To be used for the sleep time calculation in case of sleep during the BackOff time."]
3980 #[inline(always)]
3981 pub fn csma_ca_bo_stat(
3982 self,
3983 ) -> crate::common::RegisterField<
3984 24,
3985 0xff,
3986 1,
3987 0,
3988 u8,
3989 u8,
3990 FtdfLmacControlStatusReg_SPEC,
3991 crate::common::R,
3992 > {
3993 crate::common::RegisterField::<
3994 24,
3995 0xff,
3996 1,
3997 0,
3998 u8,
3999 u8,
4000 FtdfLmacControlStatusReg_SPEC,
4001 crate::common::R,
4002 >::from_register(self, 0)
4003 }
4004
4005 #[doc = "In case Csma_Ca_resume_stat is set the LMAC will\n- use the value of Csma_Ca_NB_val in the CSMA-CA process rather than the initial value 0d.\n- immediately perform CCA after the sleep, not waiting for the backoff time.\n- reset Csma_Ca_resume_stat when it resumes CSMA-CA after the sleep."]
4006 #[inline(always)]
4007 pub fn csma_ca_resume_stat(
4008 self,
4009 ) -> crate::common::RegisterFieldBool<19, 1, 0, FtdfLmacControlStatusReg_SPEC, crate::common::R>
4010 {
4011 crate::common::RegisterFieldBool::<19,1,0,FtdfLmacControlStatusReg_SPEC,crate::common::R>::from_register(self,0)
4012 }
4013
4014 #[doc = "Current status of the Number of Backoffs."]
4015 #[inline(always)]
4016 pub fn csma_ca_nb_stat(
4017 self,
4018 ) -> crate::common::RegisterField<
4019 16,
4020 0x7,
4021 1,
4022 0,
4023 u8,
4024 u8,
4025 FtdfLmacControlStatusReg_SPEC,
4026 crate::common::R,
4027 > {
4028 crate::common::RegisterField::<
4029 16,
4030 0x7,
4031 1,
4032 0,
4033 u8,
4034 u8,
4035 FtdfLmacControlStatusReg_SPEC,
4036 crate::common::R,
4037 >::from_register(self, 0)
4038 }
4039
4040 #[doc = "The result of an ED scan."]
4041 #[inline(always)]
4042 pub fn edscanvalue(
4043 self,
4044 ) -> crate::common::RegisterField<
4045 8,
4046 0xff,
4047 1,
4048 0,
4049 u8,
4050 u8,
4051 FtdfLmacControlStatusReg_SPEC,
4052 crate::common::R,
4053 > {
4054 crate::common::RegisterField::<
4055 8,
4056 0xff,
4057 1,
4058 0,
4059 u8,
4060 u8,
4061 FtdfLmacControlStatusReg_SPEC,
4062 crate::common::R,
4063 >::from_register(self, 0)
4064 }
4065
4066 #[doc = "Status of WakeupTimerEnable after being clocked by LP_CLK (showing it\'s effective value).\nWakeupTimerEnableStatus can be set by setting the one-shot register WakeupTimerEnable_set and cleared by setting the one-shot register WakeupTimerEnable_clear.\nWhen WakeupTimerEnableStatus is set (after being cleared), the event counter will be reset to 0x0.\n\nThis status can be used by software since WakeupTimerEnable is used in the slow LP_CLK area.\nRather than waiting for a certain number of LP_CLK periods, simply scanning this status (or enable the interrupt created by WakeupTimerEnableStatus_e) will allow software to determine if this signal has been effected.\nNote that the rising edge of WakeupTimerEnable will reset the Wake-up (event) counter."]
4067 #[inline(always)]
4068 pub fn wakeuptimerenablestatus(
4069 self,
4070 ) -> crate::common::RegisterFieldBool<6, 1, 0, FtdfLmacControlStatusReg_SPEC, crate::common::R>
4071 {
4072 crate::common::RegisterFieldBool::<6,1,0,FtdfLmacControlStatusReg_SPEC,crate::common::R>::from_register(self,0)
4073 }
4074
4075 #[doc = "The value of a single CCA, valid when CCAstat_e is set to \'1\'."]
4076 #[inline(always)]
4077 pub fn ccastat(
4078 self,
4079 ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfLmacControlStatusReg_SPEC, crate::common::R>
4080 {
4081 crate::common::RegisterFieldBool::<2,1,0,FtdfLmacControlStatusReg_SPEC,crate::common::R>::from_register(self,0)
4082 }
4083
4084 #[doc = "If set to \'1\' this register indicates that the LMAC is ready to go to sleep."]
4085 #[inline(always)]
4086 pub fn lmacready4sleep(
4087 self,
4088 ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfLmacControlStatusReg_SPEC, crate::common::R>
4089 {
4090 crate::common::RegisterFieldBool::<1,1,0,FtdfLmacControlStatusReg_SPEC,crate::common::R>::from_register(self,0)
4091 }
4092}
4093impl ::core::default::Default for FtdfLmacControlStatusReg {
4094 #[inline(always)]
4095 fn default() -> FtdfLmacControlStatusReg {
4096 <crate::RegValueT<FtdfLmacControlStatusReg_SPEC> as RegisterValue<_>>::new(0)
4097 }
4098}
4099
4100#[doc(hidden)]
4101#[derive(Copy, Clone, Eq, PartialEq)]
4102pub struct FtdfLmacEventReg_SPEC;
4103impl crate::sealed::RegSpec for FtdfLmacEventReg_SPEC {
4104 type DataType = u32;
4105}
4106
4107#[doc = "Lmac event regsiter"]
4108pub type FtdfLmacEventReg = crate::RegValueT<FtdfLmacEventReg_SPEC>;
4109
4110impl FtdfLmacEventReg {
4111 #[doc = "If set, the calculated backoff time is more than Csma_Ca_BO_threshold.\nThis event bit contributes to ftdf_ce\\[1\\]."]
4112 #[inline(always)]
4113 pub fn csma_ca_bo_thr_e(
4114 self,
4115 ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfLmacEventReg_SPEC, crate::common::RW> {
4116 crate::common::RegisterFieldBool::<3,1,0,FtdfLmacEventReg_SPEC,crate::common::RW>::from_register(self,0)
4117 }
4118
4119 #[doc = "Set to \'1\' if one of the timers enabling the Rx-on mode expires without having received any valid frame.\nThis event bit contributes to ftdf_ce\\[1\\]."]
4120 #[inline(always)]
4121 pub fn rxtimerexpired_e(
4122 self,
4123 ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfLmacEventReg_SPEC, crate::common::RW> {
4124 crate::common::RegisterFieldBool::<2,1,0,FtdfLmacEventReg_SPEC,crate::common::RW>::from_register(self,0)
4125 }
4126
4127 #[doc = "If set to \'1\', the single CCA is ready\nThis event bit contributes to ftdf_ce\\[1\\]."]
4128 #[inline(always)]
4129 pub fn ccastat_e(
4130 self,
4131 ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfLmacEventReg_SPEC, crate::common::RW> {
4132 crate::common::RegisterFieldBool::<1,1,0,FtdfLmacEventReg_SPEC,crate::common::RW>::from_register(self,0)
4133 }
4134
4135 #[doc = "The event EdScanReady_e is set to \'1\' to notify that the ED scan is ready.\nThis event bit contributes to ftdf_ce\\[1\\]."]
4136 #[inline(always)]
4137 pub fn edscanready_e(
4138 self,
4139 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfLmacEventReg_SPEC, crate::common::RW> {
4140 crate::common::RegisterFieldBool::<0,1,0,FtdfLmacEventReg_SPEC,crate::common::RW>::from_register(self,0)
4141 }
4142}
4143impl ::core::default::Default for FtdfLmacEventReg {
4144 #[inline(always)]
4145 fn default() -> FtdfLmacEventReg {
4146 <crate::RegValueT<FtdfLmacEventReg_SPEC> as RegisterValue<_>>::new(0)
4147 }
4148}
4149
4150#[doc(hidden)]
4151#[derive(Copy, Clone, Eq, PartialEq)]
4152pub struct FtdfLmacManual1Reg_SPEC;
4153impl crate::sealed::RegSpec for FtdfLmacManual1Reg_SPEC {
4154 type DataType = u32;
4155}
4156
4157#[doc = "Lmax manual PHY register"]
4158pub type FtdfLmacManual1Reg = crate::RegValueT<FtdfLmacManual1Reg_SPEC>;
4159
4160impl FtdfLmacManual1Reg {
4161 #[doc = "HighSide injection."]
4162 #[inline(always)]
4163 pub fn lmac_manual_phy_attr_hsi(
4164 self,
4165 ) -> crate::common::RegisterFieldBool<31, 1, 0, FtdfLmacManual1Reg_SPEC, crate::common::RW>
4166 {
4167 crate::common::RegisterFieldBool::<31,1,0,FtdfLmacManual1Reg_SPEC,crate::common::RW>::from_register(self,0)
4168 }
4169
4170 #[doc = "Slot-basis signals mapped on GPIO via PPA."]
4171 #[inline(always)]
4172 pub fn lmac_manual_phy_attr_rf_gpio_pins(
4173 self,
4174 ) -> crate::common::RegisterField<
4175 28,
4176 0x7,
4177 1,
4178 0,
4179 u8,
4180 u8,
4181 FtdfLmacManual1Reg_SPEC,
4182 crate::common::RW,
4183 > {
4184 crate::common::RegisterField::<
4185 28,
4186 0x7,
4187 1,
4188 0,
4189 u8,
4190 u8,
4191 FtdfLmacManual1Reg_SPEC,
4192 crate::common::RW,
4193 >::from_register(self, 0)
4194 }
4195
4196 #[doc = "CalCap value."]
4197 #[inline(always)]
4198 pub fn lmac_manual_phy_attr_calcap(
4199 self,
4200 ) -> crate::common::RegisterField<
4201 24,
4202 0xf,
4203 1,
4204 0,
4205 u8,
4206 u8,
4207 FtdfLmacManual1Reg_SPEC,
4208 crate::common::RW,
4209 > {
4210 crate::common::RegisterField::<
4211 24,
4212 0xf,
4213 1,
4214 0,
4215 u8,
4216 u8,
4217 FtdfLmacManual1Reg_SPEC,
4218 crate::common::RW,
4219 >::from_register(self, 0)
4220 }
4221
4222 #[doc = "Channel Number."]
4223 #[inline(always)]
4224 pub fn lmac_manual_phy_attr_cn(
4225 self,
4226 ) -> crate::common::RegisterField<
4227 20,
4228 0xf,
4229 1,
4230 0,
4231 u8,
4232 u8,
4233 FtdfLmacManual1Reg_SPEC,
4234 crate::common::RW,
4235 > {
4236 crate::common::RegisterField::<
4237 20,
4238 0xf,
4239 1,
4240 0,
4241 u8,
4242 u8,
4243 FtdfLmacManual1Reg_SPEC,
4244 crate::common::RW,
4245 >::from_register(self, 0)
4246 }
4247
4248 #[doc = "DEM packet information."]
4249 #[inline(always)]
4250 pub fn lmac_manual_phy_attr_dem_pti(
4251 self,
4252 ) -> crate::common::RegisterField<
4253 16,
4254 0xf,
4255 1,
4256 0,
4257 u8,
4258 u8,
4259 FtdfLmacManual1Reg_SPEC,
4260 crate::common::RW,
4261 > {
4262 crate::common::RegisterField::<
4263 16,
4264 0xf,
4265 1,
4266 0,
4267 u8,
4268 u8,
4269 FtdfLmacManual1Reg_SPEC,
4270 crate::common::RW,
4271 >::from_register(self, 0)
4272 }
4273
4274 #[doc = "lmac_manual_pti controls the PTI interface signal when lmac_manual_mode is set to \'1\'."]
4275 #[inline(always)]
4276 pub fn lmac_manual_pti(
4277 self,
4278 ) -> crate::common::RegisterField<
4279 8,
4280 0xf,
4281 1,
4282 0,
4283 u8,
4284 u8,
4285 FtdfLmacManual1Reg_SPEC,
4286 crate::common::RW,
4287 > {
4288 crate::common::RegisterField::<
4289 8,
4290 0xf,
4291 1,
4292 0,
4293 u8,
4294 u8,
4295 FtdfLmacManual1Reg_SPEC,
4296 crate::common::RW,
4297 >::from_register(self, 0)
4298 }
4299
4300 #[doc = "lmac_manual_tx_frm_nr controls the entry in the tx buffer to be transmitted when lmac_manual_mode is set to \'1\'."]
4301 #[inline(always)]
4302 pub fn lmac_manual_tx_frm_nr(
4303 self,
4304 ) -> crate::common::RegisterField<
4305 6,
4306 0x3,
4307 1,
4308 0,
4309 u8,
4310 u8,
4311 FtdfLmacManual1Reg_SPEC,
4312 crate::common::RW,
4313 > {
4314 crate::common::RegisterField::<
4315 6,
4316 0x3,
4317 1,
4318 0,
4319 u8,
4320 u8,
4321 FtdfLmacManual1Reg_SPEC,
4322 crate::common::RW,
4323 >::from_register(self, 0)
4324 }
4325
4326 #[doc = "lmac_manual_ed_request controls the ED_REQUEST interface signal when lmac_manual_mode is set to \'1\'."]
4327 #[inline(always)]
4328 pub fn lmac_manual_ed_request(
4329 self,
4330 ) -> crate::common::RegisterFieldBool<5, 1, 0, FtdfLmacManual1Reg_SPEC, crate::common::RW> {
4331 crate::common::RegisterFieldBool::<5,1,0,FtdfLmacManual1Reg_SPEC,crate::common::RW>::from_register(self,0)
4332 }
4333
4334 #[doc = "lmac_manual_rx_pipe_en controls the rx_enable signal towards the rx pipeline when lmac_manual_mode is set to \'1\'."]
4335 #[inline(always)]
4336 pub fn lmac_manual_rx_pipe_en(
4337 self,
4338 ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfLmacManual1Reg_SPEC, crate::common::RW> {
4339 crate::common::RegisterFieldBool::<4,1,0,FtdfLmacManual1Reg_SPEC,crate::common::RW>::from_register(self,0)
4340 }
4341
4342 #[doc = "lmac_manual_rx_en controls the RX_EN interface signal when lmac_manual_mode is set to \'1\'."]
4343 #[inline(always)]
4344 pub fn lmac_manual_rx_en(
4345 self,
4346 ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfLmacManual1Reg_SPEC, crate::common::RW> {
4347 crate::common::RegisterFieldBool::<3,1,0,FtdfLmacManual1Reg_SPEC,crate::common::RW>::from_register(self,0)
4348 }
4349
4350 #[doc = "lmac_manual_tx_en controls the TX_EN interface signal when lmac_manual_mode is set to \'1\'."]
4351 #[inline(always)]
4352 pub fn lmac_manual_tx_en(
4353 self,
4354 ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfLmacManual1Reg_SPEC, crate::common::RW> {
4355 crate::common::RegisterFieldBool::<2,1,0,FtdfLmacManual1Reg_SPEC,crate::common::RW>::from_register(self,0)
4356 }
4357
4358 #[doc = "lmac_manual_phy_en controls the PHY_EN interface signal when lmac_manual_mode is set to \'1\'."]
4359 #[inline(always)]
4360 pub fn lmac_manual_phy_en(
4361 self,
4362 ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfLmacManual1Reg_SPEC, crate::common::RW> {
4363 crate::common::RegisterFieldBool::<1,1,0,FtdfLmacManual1Reg_SPEC,crate::common::RW>::from_register(self,0)
4364 }
4365
4366 #[doc = "If the control register lmac_manual_mode is set to \'1\', the LMAC controller control signals should be controlled by the lmac_manual_control registers"]
4367 #[inline(always)]
4368 pub fn lmac_manual_mode(
4369 self,
4370 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfLmacManual1Reg_SPEC, crate::common::RW> {
4371 crate::common::RegisterFieldBool::<0,1,0,FtdfLmacManual1Reg_SPEC,crate::common::RW>::from_register(self,0)
4372 }
4373}
4374impl ::core::default::Default for FtdfLmacManual1Reg {
4375 #[inline(always)]
4376 fn default() -> FtdfLmacManual1Reg {
4377 <crate::RegValueT<FtdfLmacManual1Reg_SPEC> as RegisterValue<_>>::new(0)
4378 }
4379}
4380
4381#[doc(hidden)]
4382#[derive(Copy, Clone, Eq, PartialEq)]
4383pub struct FtdfLmacManualOsReg_SPEC;
4384impl crate::sealed::RegSpec for FtdfLmacManualOsReg_SPEC {
4385 type DataType = u32;
4386}
4387
4388#[doc = "One shot register triggers transmission in manual mode"]
4389pub type FtdfLmacManualOsReg = crate::RegValueT<FtdfLmacManualOsReg_SPEC>;
4390
4391impl FtdfLmacManualOsReg {
4392 #[doc = "One shot register which triggers the transmission of a frame from the tx buffer in lmac_manual_mode to \'1\'."]
4393 #[inline(always)]
4394 pub fn lmac_manual_tx_start(
4395 self,
4396 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfLmacManualOsReg_SPEC, crate::common::W> {
4397 crate::common::RegisterFieldBool::<0,1,0,FtdfLmacManualOsReg_SPEC,crate::common::W>::from_register(self,0)
4398 }
4399}
4400impl ::core::default::Default for FtdfLmacManualOsReg {
4401 #[inline(always)]
4402 fn default() -> FtdfLmacManualOsReg {
4403 <crate::RegValueT<FtdfLmacManualOsReg_SPEC> as RegisterValue<_>>::new(0)
4404 }
4405}
4406
4407#[doc(hidden)]
4408#[derive(Copy, Clone, Eq, PartialEq)]
4409pub struct FtdfLmacManualStatusReg_SPEC;
4410impl crate::sealed::RegSpec for FtdfLmacManualStatusReg_SPEC {
4411 type DataType = u32;
4412}
4413
4414#[doc = "Lmac status register in manual mode"]
4415pub type FtdfLmacManualStatusReg = crate::RegValueT<FtdfLmacManualStatusReg_SPEC>;
4416
4417impl FtdfLmacManualStatusReg {
4418 #[doc = "lmac_manual_ed_stat shows the status of the ED_STAT DPHY interface signal."]
4419 #[inline(always)]
4420 pub fn lmac_manual_ed_stat(
4421 self,
4422 ) -> crate::common::RegisterField<
4423 8,
4424 0xff,
4425 1,
4426 0,
4427 u8,
4428 u8,
4429 FtdfLmacManualStatusReg_SPEC,
4430 crate::common::R,
4431 > {
4432 crate::common::RegisterField::<
4433 8,
4434 0xff,
4435 1,
4436 0,
4437 u8,
4438 u8,
4439 FtdfLmacManualStatusReg_SPEC,
4440 crate::common::R,
4441 >::from_register(self, 0)
4442 }
4443
4444 #[doc = "lmac_manual_cca_stat shows the status of the CCA_STAT DPHY interface signal."]
4445 #[inline(always)]
4446 pub fn lmac_manual_cca_stat(
4447 self,
4448 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfLmacManualStatusReg_SPEC, crate::common::R>
4449 {
4450 crate::common::RegisterFieldBool::<0,1,0,FtdfLmacManualStatusReg_SPEC,crate::common::R>::from_register(self,0)
4451 }
4452}
4453impl ::core::default::Default for FtdfLmacManualStatusReg {
4454 #[inline(always)]
4455 fn default() -> FtdfLmacManualStatusReg {
4456 <crate::RegValueT<FtdfLmacManualStatusReg_SPEC> as RegisterValue<_>>::new(0)
4457 }
4458}
4459
4460#[doc(hidden)]
4461#[derive(Copy, Clone, Eq, PartialEq)]
4462pub struct FtdfLmacMaskReg_SPEC;
4463impl crate::sealed::RegSpec for FtdfLmacMaskReg_SPEC {
4464 type DataType = u32;
4465}
4466
4467#[doc = "Lmac mask register"]
4468pub type FtdfLmacMaskReg = crate::RegValueT<FtdfLmacMaskReg_SPEC>;
4469
4470impl FtdfLmacMaskReg {
4471 #[doc = "Mask bit for event Csma_Ca_BO_thr_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
4472 #[inline(always)]
4473 pub fn csma_ca_bo_thr_m(
4474 self,
4475 ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfLmacMaskReg_SPEC, crate::common::RW> {
4476 crate::common::RegisterFieldBool::<3,1,0,FtdfLmacMaskReg_SPEC,crate::common::RW>::from_register(self,0)
4477 }
4478
4479 #[doc = "Mask bit for event RxTimerExpired_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
4480 #[inline(always)]
4481 pub fn rxtimerexpired_m(
4482 self,
4483 ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfLmacMaskReg_SPEC, crate::common::RW> {
4484 crate::common::RegisterFieldBool::<2,1,0,FtdfLmacMaskReg_SPEC,crate::common::RW>::from_register(self,0)
4485 }
4486
4487 #[doc = "Mask bit for event CCAstat_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
4488 #[inline(always)]
4489 pub fn ccastat_m(
4490 self,
4491 ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfLmacMaskReg_SPEC, crate::common::RW> {
4492 crate::common::RegisterFieldBool::<1,1,0,FtdfLmacMaskReg_SPEC,crate::common::RW>::from_register(self,0)
4493 }
4494
4495 #[doc = "Mask bit for event EdScanReady_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
4496 #[inline(always)]
4497 pub fn edscanready_m(
4498 self,
4499 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfLmacMaskReg_SPEC, crate::common::RW> {
4500 crate::common::RegisterFieldBool::<0,1,0,FtdfLmacMaskReg_SPEC,crate::common::RW>::from_register(self,0)
4501 }
4502}
4503impl ::core::default::Default for FtdfLmacMaskReg {
4504 #[inline(always)]
4505 fn default() -> FtdfLmacMaskReg {
4506 <crate::RegValueT<FtdfLmacMaskReg_SPEC> as RegisterValue<_>>::new(0)
4507 }
4508}
4509
4510#[doc(hidden)]
4511#[derive(Copy, Clone, Eq, PartialEq)]
4512pub struct FtdfLongAddr00Reg_SPEC;
4513impl crate::sealed::RegSpec for FtdfLongAddr00Reg_SPEC {
4514 type DataType = u32;
4515}
4516
4517pub type FtdfLongAddr00Reg = crate::RegValueT<FtdfLongAddr00Reg_SPEC>;
4518
4519impl FtdfLongAddr00Reg {
4520 #[doc = "Lowest part of the 64 bits long source address or SA entry 1 resp. SA entry 0 in case of short source address."]
4521 #[inline(always)]
4522 pub fn exp_sa_l(
4523 self,
4524 ) -> crate::common::RegisterField<
4525 0,
4526 0xffffffff,
4527 1,
4528 0,
4529 u32,
4530 u32,
4531 FtdfLongAddr00Reg_SPEC,
4532 crate::common::RW,
4533 > {
4534 crate::common::RegisterField::<
4535 0,
4536 0xffffffff,
4537 1,
4538 0,
4539 u32,
4540 u32,
4541 FtdfLongAddr00Reg_SPEC,
4542 crate::common::RW,
4543 >::from_register(self, 0)
4544 }
4545}
4546impl ::core::default::Default for FtdfLongAddr00Reg {
4547 #[inline(always)]
4548 fn default() -> FtdfLongAddr00Reg {
4549 <crate::RegValueT<FtdfLongAddr00Reg_SPEC> as RegisterValue<_>>::new(0)
4550 }
4551}
4552
4553#[doc(hidden)]
4554#[derive(Copy, Clone, Eq, PartialEq)]
4555pub struct FtdfLongAddr10Reg_SPEC;
4556impl crate::sealed::RegSpec for FtdfLongAddr10Reg_SPEC {
4557 type DataType = u32;
4558}
4559
4560pub type FtdfLongAddr10Reg = crate::RegValueT<FtdfLongAddr10Reg_SPEC>;
4561
4562impl FtdfLongAddr10Reg {
4563 #[doc = "Highest part of the 64 bits long source address or SA entry 3 resp. SA entry 2 in case of short source address."]
4564 #[inline(always)]
4565 pub fn exp_sa_h(
4566 self,
4567 ) -> crate::common::RegisterField<
4568 0,
4569 0xffffffff,
4570 1,
4571 0,
4572 u32,
4573 u32,
4574 FtdfLongAddr10Reg_SPEC,
4575 crate::common::RW,
4576 > {
4577 crate::common::RegisterField::<
4578 0,
4579 0xffffffff,
4580 1,
4581 0,
4582 u32,
4583 u32,
4584 FtdfLongAddr10Reg_SPEC,
4585 crate::common::RW,
4586 >::from_register(self, 0)
4587 }
4588}
4589impl ::core::default::Default for FtdfLongAddr10Reg {
4590 #[inline(always)]
4591 fn default() -> FtdfLongAddr10Reg {
4592 <crate::RegValueT<FtdfLongAddr10Reg_SPEC> as RegisterValue<_>>::new(0)
4593 }
4594}
4595
4596#[doc(hidden)]
4597#[derive(Copy, Clone, Eq, PartialEq)]
4598pub struct FtdfMacackwaitdurationReg_SPEC;
4599impl crate::sealed::RegSpec for FtdfMacackwaitdurationReg_SPEC {
4600 type DataType = u32;
4601}
4602
4603#[doc = "Maximum time to wait for a ACK"]
4604pub type FtdfMacackwaitdurationReg = crate::RegValueT<FtdfMacackwaitdurationReg_SPEC>;
4605
4606impl FtdfMacackwaitdurationReg {
4607 #[doc = "Maximum time (in symbol periods) to wait for an ACK response after transmitting a frame with the AR bit set to \'1\'.\nThis value is used in the normal mode for the wait of an ACK response, irrespective if the ACK is a normal ACK or an Enhanced ACK."]
4608 #[inline(always)]
4609 pub fn macackwaitduration(
4610 self,
4611 ) -> crate::common::RegisterField<
4612 0,
4613 0xff,
4614 1,
4615 0,
4616 u8,
4617 u8,
4618 FtdfMacackwaitdurationReg_SPEC,
4619 crate::common::RW,
4620 > {
4621 crate::common::RegisterField::<
4622 0,
4623 0xff,
4624 1,
4625 0,
4626 u8,
4627 u8,
4628 FtdfMacackwaitdurationReg_SPEC,
4629 crate::common::RW,
4630 >::from_register(self, 0)
4631 }
4632}
4633impl ::core::default::Default for FtdfMacackwaitdurationReg {
4634 #[inline(always)]
4635 fn default() -> FtdfMacackwaitdurationReg {
4636 <crate::RegValueT<FtdfMacackwaitdurationReg_SPEC> as RegisterValue<_>>::new(54)
4637 }
4638}
4639
4640#[doc(hidden)]
4641#[derive(Copy, Clone, Eq, PartialEq)]
4642pub struct FtdfMacenhackwaitdurationReg_SPEC;
4643impl crate::sealed::RegSpec for FtdfMacenhackwaitdurationReg_SPEC {
4644 type DataType = u32;
4645}
4646
4647#[doc = "Maximum time to wait for an enhanced ACK frame"]
4648pub type FtdfMacenhackwaitdurationReg = crate::RegValueT<FtdfMacenhackwaitdurationReg_SPEC>;
4649
4650impl FtdfMacenhackwaitdurationReg {
4651 #[doc = "Maximum time (in us) to wait for an Enhanced ACK response after transmitting a frame with the AR bit set to \'1\'.\nThis value is used in the LE/CSL mode for the wait of an ACK response (which is always an Enhanced ACK)."]
4652 #[inline(always)]
4653 pub fn macenhackwaitduration(
4654 self,
4655 ) -> crate::common::RegisterField<
4656 0,
4657 0xffff,
4658 1,
4659 0,
4660 u16,
4661 u16,
4662 FtdfMacenhackwaitdurationReg_SPEC,
4663 crate::common::RW,
4664 > {
4665 crate::common::RegisterField::<
4666 0,
4667 0xffff,
4668 1,
4669 0,
4670 u16,
4671 u16,
4672 FtdfMacenhackwaitdurationReg_SPEC,
4673 crate::common::RW,
4674 >::from_register(self, 0)
4675 }
4676}
4677impl ::core::default::Default for FtdfMacenhackwaitdurationReg {
4678 #[inline(always)]
4679 fn default() -> FtdfMacenhackwaitdurationReg {
4680 <crate::RegValueT<FtdfMacenhackwaitdurationReg_SPEC> as RegisterValue<_>>::new(864)
4681 }
4682}
4683
4684#[doc(hidden)]
4685#[derive(Copy, Clone, Eq, PartialEq)]
4686pub struct FtdfMacfcserrorcountReg_SPEC;
4687impl crate::sealed::RegSpec for FtdfMacfcserrorcountReg_SPEC {
4688 type DataType = u32;
4689}
4690
4691#[doc = "Lmac FCS error register"]
4692pub type FtdfMacfcserrorcountReg = crate::RegValueT<FtdfMacfcserrorcountReg_SPEC>;
4693
4694impl FtdfMacfcserrorcountReg {
4695 #[doc = "metrics counter: the number of received frames that were discarded due to an incorrect FCS after the last deep-sleep cycle."]
4696 #[inline(always)]
4697 pub fn macfcserrorcount(
4698 self,
4699 ) -> crate::common::RegisterField<
4700 0,
4701 0xffffffff,
4702 1,
4703 0,
4704 u32,
4705 u32,
4706 FtdfMacfcserrorcountReg_SPEC,
4707 crate::common::R,
4708 > {
4709 crate::common::RegisterField::<
4710 0,
4711 0xffffffff,
4712 1,
4713 0,
4714 u32,
4715 u32,
4716 FtdfMacfcserrorcountReg_SPEC,
4717 crate::common::R,
4718 >::from_register(self, 0)
4719 }
4720}
4721impl ::core::default::Default for FtdfMacfcserrorcountReg {
4722 #[inline(always)]
4723 fn default() -> FtdfMacfcserrorcountReg {
4724 <crate::RegValueT<FtdfMacfcserrorcountReg_SPEC> as RegisterValue<_>>::new(0)
4725 }
4726}
4727
4728#[doc(hidden)]
4729#[derive(Copy, Clone, Eq, PartialEq)]
4730pub struct FtdfMacrxaddrfailfrmcntReg_SPEC;
4731impl crate::sealed::RegSpec for FtdfMacrxaddrfailfrmcntReg_SPEC {
4732 type DataType = u32;
4733}
4734
4735#[doc = "Discarded frames register"]
4736pub type FtdfMacrxaddrfailfrmcntReg = crate::RegValueT<FtdfMacrxaddrfailfrmcntReg_SPEC>;
4737
4738impl FtdfMacrxaddrfailfrmcntReg {
4739 #[doc = "Traffic counter: the number of frames discarded due to incorrect address or PAN Id after the last deep-sleep cycle."]
4740 #[inline(always)]
4741 pub fn macrxaddrfailfrmcnt(
4742 self,
4743 ) -> crate::common::RegisterField<
4744 0,
4745 0xffffffff,
4746 1,
4747 0,
4748 u32,
4749 u32,
4750 FtdfMacrxaddrfailfrmcntReg_SPEC,
4751 crate::common::R,
4752 > {
4753 crate::common::RegisterField::<
4754 0,
4755 0xffffffff,
4756 1,
4757 0,
4758 u32,
4759 u32,
4760 FtdfMacrxaddrfailfrmcntReg_SPEC,
4761 crate::common::R,
4762 >::from_register(self, 0)
4763 }
4764}
4765impl ::core::default::Default for FtdfMacrxaddrfailfrmcntReg {
4766 #[inline(always)]
4767 fn default() -> FtdfMacrxaddrfailfrmcntReg {
4768 <crate::RegValueT<FtdfMacrxaddrfailfrmcntReg_SPEC> as RegisterValue<_>>::new(0)
4769 }
4770}
4771
4772#[doc(hidden)]
4773#[derive(Copy, Clone, Eq, PartialEq)]
4774pub struct FtdfMacrxstdackfrmokcntReg_SPEC;
4775impl crate::sealed::RegSpec for FtdfMacrxstdackfrmokcntReg_SPEC {
4776 type DataType = u32;
4777}
4778
4779#[doc = "Received acknowledgment frames"]
4780pub type FtdfMacrxstdackfrmokcntReg = crate::RegValueT<FtdfMacrxstdackfrmokcntReg_SPEC>;
4781
4782impl FtdfMacrxstdackfrmokcntReg {
4783 #[doc = "Traffic counter: the number of Standard Acknowledgment frames received after the last deep-sleep cycle."]
4784 #[inline(always)]
4785 pub fn macrxstdackfrmokcnt(
4786 self,
4787 ) -> crate::common::RegisterField<
4788 0,
4789 0xffffffff,
4790 1,
4791 0,
4792 u32,
4793 u32,
4794 FtdfMacrxstdackfrmokcntReg_SPEC,
4795 crate::common::R,
4796 > {
4797 crate::common::RegisterField::<
4798 0,
4799 0xffffffff,
4800 1,
4801 0,
4802 u32,
4803 u32,
4804 FtdfMacrxstdackfrmokcntReg_SPEC,
4805 crate::common::R,
4806 >::from_register(self, 0)
4807 }
4808}
4809impl ::core::default::Default for FtdfMacrxstdackfrmokcntReg {
4810 #[inline(always)]
4811 fn default() -> FtdfMacrxstdackfrmokcntReg {
4812 <crate::RegValueT<FtdfMacrxstdackfrmokcntReg_SPEC> as RegisterValue<_>>::new(0)
4813 }
4814}
4815
4816#[doc(hidden)]
4817#[derive(Copy, Clone, Eq, PartialEq)]
4818pub struct FtdfMacrxunsupfrmcntReg_SPEC;
4819impl crate::sealed::RegSpec for FtdfMacrxunsupfrmcntReg_SPEC {
4820 type DataType = u32;
4821}
4822
4823#[doc = "Unsupported frames register"]
4824pub type FtdfMacrxunsupfrmcntReg = crate::RegValueT<FtdfMacrxunsupfrmcntReg_SPEC>;
4825
4826impl FtdfMacrxunsupfrmcntReg {
4827 #[doc = "Traffic counter: the number of frames which do pass the checks but are not supported after the last deep-sleep cycle."]
4828 #[inline(always)]
4829 pub fn macrxunsupfrmcnt(
4830 self,
4831 ) -> crate::common::RegisterField<
4832 0,
4833 0xffffffff,
4834 1,
4835 0,
4836 u32,
4837 u32,
4838 FtdfMacrxunsupfrmcntReg_SPEC,
4839 crate::common::R,
4840 > {
4841 crate::common::RegisterField::<
4842 0,
4843 0xffffffff,
4844 1,
4845 0,
4846 u32,
4847 u32,
4848 FtdfMacrxunsupfrmcntReg_SPEC,
4849 crate::common::R,
4850 >::from_register(self, 0)
4851 }
4852}
4853impl ::core::default::Default for FtdfMacrxunsupfrmcntReg {
4854 #[inline(always)]
4855 fn default() -> FtdfMacrxunsupfrmcntReg {
4856 <crate::RegValueT<FtdfMacrxunsupfrmcntReg_SPEC> as RegisterValue<_>>::new(0)
4857 }
4858}
4859
4860#[doc(hidden)]
4861#[derive(Copy, Clone, Eq, PartialEq)]
4862pub struct FtdfMactstxackdelayvalReg_SPEC;
4863impl crate::sealed::RegSpec for FtdfMactstxackdelayvalReg_SPEC {
4864 type DataType = u32;
4865}
4866
4867#[doc = "Time left until next ACK is sent (us)"]
4868pub type FtdfMactstxackdelayvalReg = crate::RegValueT<FtdfMactstxackdelayvalReg_SPEC>;
4869
4870impl FtdfMactstxackdelayvalReg {
4871 #[doc = "The time (in us) left until the ack frame is sent by the lmac.\nThis can be used by software to determine if there is enough time left to send the, by software created, Enhanced ACK frame."]
4872 #[inline(always)]
4873 pub fn mactstxackdelayval(
4874 self,
4875 ) -> crate::common::RegisterField<
4876 0,
4877 0xffff,
4878 1,
4879 0,
4880 u16,
4881 u16,
4882 FtdfMactstxackdelayvalReg_SPEC,
4883 crate::common::R,
4884 > {
4885 crate::common::RegisterField::<
4886 0,
4887 0xffff,
4888 1,
4889 0,
4890 u16,
4891 u16,
4892 FtdfMactstxackdelayvalReg_SPEC,
4893 crate::common::R,
4894 >::from_register(self, 0)
4895 }
4896}
4897impl ::core::default::Default for FtdfMactstxackdelayvalReg {
4898 #[inline(always)]
4899 fn default() -> FtdfMactstxackdelayvalReg {
4900 <crate::RegValueT<FtdfMactstxackdelayvalReg_SPEC> as RegisterValue<_>>::new(0)
4901 }
4902}
4903
4904#[doc(hidden)]
4905#[derive(Copy, Clone, Eq, PartialEq)]
4906pub struct FtdfMactxstdackfrmcntReg_SPEC;
4907impl crate::sealed::RegSpec for FtdfMactxstdackfrmcntReg_SPEC {
4908 type DataType = u32;
4909}
4910
4911#[doc = "Transmitted acknowledgment frames"]
4912pub type FtdfMactxstdackfrmcntReg = crate::RegValueT<FtdfMactxstdackfrmcntReg_SPEC>;
4913
4914impl FtdfMactxstdackfrmcntReg {
4915 #[doc = "Traffic counter: the number of standard Acknowledgment frames transmitted after the last deep-sleep cycle."]
4916 #[inline(always)]
4917 pub fn mactxstdackfrmcnt(
4918 self,
4919 ) -> crate::common::RegisterField<
4920 0,
4921 0xffffffff,
4922 1,
4923 0,
4924 u32,
4925 u32,
4926 FtdfMactxstdackfrmcntReg_SPEC,
4927 crate::common::R,
4928 > {
4929 crate::common::RegisterField::<
4930 0,
4931 0xffffffff,
4932 1,
4933 0,
4934 u32,
4935 u32,
4936 FtdfMactxstdackfrmcntReg_SPEC,
4937 crate::common::R,
4938 >::from_register(self, 0)
4939 }
4940}
4941impl ::core::default::Default for FtdfMactxstdackfrmcntReg {
4942 #[inline(always)]
4943 fn default() -> FtdfMactxstdackfrmcntReg {
4944 <crate::RegValueT<FtdfMactxstdackfrmcntReg_SPEC> as RegisterValue<_>>::new(0)
4945 }
4946}
4947
4948#[doc(hidden)]
4949#[derive(Copy, Clone, Eq, PartialEq)]
4950pub struct FtdfPhyParameters0Reg_SPEC;
4951impl crate::sealed::RegSpec for FtdfPhyParameters0Reg_SPEC {
4952 type DataType = u32;
4953}
4954
4955#[doc = "Lmac PHY parameter register"]
4956pub type FtdfPhyParameters0Reg = crate::RegValueT<FtdfPhyParameters0Reg_SPEC>;
4957
4958impl FtdfPhyParameters0Reg {
4959 #[doc = "DPHY interface: see rxBitPos_0"]
4960 #[inline(always)]
4961 pub fn rxbitpos_7(
4962 self,
4963 ) -> crate::common::RegisterField<
4964 28,
4965 0x7,
4966 1,
4967 0,
4968 u8,
4969 u8,
4970 FtdfPhyParameters0Reg_SPEC,
4971 crate::common::RW,
4972 > {
4973 crate::common::RegisterField::<
4974 28,
4975 0x7,
4976 1,
4977 0,
4978 u8,
4979 u8,
4980 FtdfPhyParameters0Reg_SPEC,
4981 crate::common::RW,
4982 >::from_register(self, 0)
4983 }
4984
4985 #[doc = "DPHY interface: see rxBitPos_0"]
4986 #[inline(always)]
4987 pub fn rxbitpos_6(
4988 self,
4989 ) -> crate::common::RegisterField<
4990 24,
4991 0x7,
4992 1,
4993 0,
4994 u8,
4995 u8,
4996 FtdfPhyParameters0Reg_SPEC,
4997 crate::common::RW,
4998 > {
4999 crate::common::RegisterField::<
5000 24,
5001 0x7,
5002 1,
5003 0,
5004 u8,
5005 u8,
5006 FtdfPhyParameters0Reg_SPEC,
5007 crate::common::RW,
5008 >::from_register(self, 0)
5009 }
5010
5011 #[doc = "DPHY interface: see rxBitPos_0"]
5012 #[inline(always)]
5013 pub fn rxbitpos_5(
5014 self,
5015 ) -> crate::common::RegisterField<
5016 20,
5017 0x7,
5018 1,
5019 0,
5020 u8,
5021 u8,
5022 FtdfPhyParameters0Reg_SPEC,
5023 crate::common::RW,
5024 > {
5025 crate::common::RegisterField::<
5026 20,
5027 0x7,
5028 1,
5029 0,
5030 u8,
5031 u8,
5032 FtdfPhyParameters0Reg_SPEC,
5033 crate::common::RW,
5034 >::from_register(self, 0)
5035 }
5036
5037 #[doc = "DPHY interface: see rxBitPos_0"]
5038 #[inline(always)]
5039 pub fn rxbitpos_4(
5040 self,
5041 ) -> crate::common::RegisterField<
5042 16,
5043 0x7,
5044 1,
5045 0,
5046 u8,
5047 u8,
5048 FtdfPhyParameters0Reg_SPEC,
5049 crate::common::RW,
5050 > {
5051 crate::common::RegisterField::<
5052 16,
5053 0x7,
5054 1,
5055 0,
5056 u8,
5057 u8,
5058 FtdfPhyParameters0Reg_SPEC,
5059 crate::common::RW,
5060 >::from_register(self, 0)
5061 }
5062
5063 #[doc = "DPHY interface: see rxBitPos_0"]
5064 #[inline(always)]
5065 pub fn rxbitpos_3(
5066 self,
5067 ) -> crate::common::RegisterField<
5068 12,
5069 0x7,
5070 1,
5071 0,
5072 u8,
5073 u8,
5074 FtdfPhyParameters0Reg_SPEC,
5075 crate::common::RW,
5076 > {
5077 crate::common::RegisterField::<
5078 12,
5079 0x7,
5080 1,
5081 0,
5082 u8,
5083 u8,
5084 FtdfPhyParameters0Reg_SPEC,
5085 crate::common::RW,
5086 >::from_register(self, 0)
5087 }
5088
5089 #[doc = "DPHY interface: see rxBitPos_0"]
5090 #[inline(always)]
5091 pub fn rxbitpos_2(
5092 self,
5093 ) -> crate::common::RegisterField<
5094 8,
5095 0x7,
5096 1,
5097 0,
5098 u8,
5099 u8,
5100 FtdfPhyParameters0Reg_SPEC,
5101 crate::common::RW,
5102 > {
5103 crate::common::RegisterField::<
5104 8,
5105 0x7,
5106 1,
5107 0,
5108 u8,
5109 u8,
5110 FtdfPhyParameters0Reg_SPEC,
5111 crate::common::RW,
5112 >::from_register(self, 0)
5113 }
5114
5115 #[doc = "DPHY interface: see rxBitPos_0"]
5116 #[inline(always)]
5117 pub fn rxbitpos_1(
5118 self,
5119 ) -> crate::common::RegisterField<
5120 4,
5121 0x7,
5122 1,
5123 0,
5124 u8,
5125 u8,
5126 FtdfPhyParameters0Reg_SPEC,
5127 crate::common::RW,
5128 > {
5129 crate::common::RegisterField::<
5130 4,
5131 0x7,
5132 1,
5133 0,
5134 u8,
5135 u8,
5136 FtdfPhyParameters0Reg_SPEC,
5137 crate::common::RW,
5138 >::from_register(self, 0)
5139 }
5140
5141 #[doc = "DPHY interface: control rxBitPos(8)(3) controls the position that a bit should have at the DPHY interface.\nSo the default values are rxBitPos_0 = 0, rxBitPos_1 = 1, rxBitPos_2 = 2, etc.\n\nNote1 that this is a conversion from rx DPHY interface to the internal data byte\nSo\nfor(n=7;n>=0;n--)\nrx_data(n) = dphy_bit(tx_BitPos(n))\nendfor\n\nNote2 that rxBitPos and txBitPos must have inverse functions."]
5142 #[inline(always)]
5143 pub fn rxbitpos_0(
5144 self,
5145 ) -> crate::common::RegisterField<
5146 0,
5147 0x7,
5148 1,
5149 0,
5150 u8,
5151 u8,
5152 FtdfPhyParameters0Reg_SPEC,
5153 crate::common::RW,
5154 > {
5155 crate::common::RegisterField::<
5156 0,
5157 0x7,
5158 1,
5159 0,
5160 u8,
5161 u8,
5162 FtdfPhyParameters0Reg_SPEC,
5163 crate::common::RW,
5164 >::from_register(self, 0)
5165 }
5166}
5167impl ::core::default::Default for FtdfPhyParameters0Reg {
5168 #[inline(always)]
5169 fn default() -> FtdfPhyParameters0Reg {
5170 <crate::RegValueT<FtdfPhyParameters0Reg_SPEC> as RegisterValue<_>>::new(1985229328)
5171 }
5172}
5173
5174#[doc(hidden)]
5175#[derive(Copy, Clone, Eq, PartialEq)]
5176pub struct FtdfPhyParameters1Reg_SPEC;
5177impl crate::sealed::RegSpec for FtdfPhyParameters1Reg_SPEC {
5178 type DataType = u32;
5179}
5180
5181#[doc = "Lmac PHY parameter register"]
5182pub type FtdfPhyParameters1Reg = crate::RegValueT<FtdfPhyParameters1Reg_SPEC>;
5183
5184impl FtdfPhyParameters1Reg {
5185 #[doc = "DPHY interface: see txBitPos_0"]
5186 #[inline(always)]
5187 pub fn txbitpos_7(
5188 self,
5189 ) -> crate::common::RegisterField<
5190 28,
5191 0x7,
5192 1,
5193 0,
5194 u8,
5195 u8,
5196 FtdfPhyParameters1Reg_SPEC,
5197 crate::common::RW,
5198 > {
5199 crate::common::RegisterField::<
5200 28,
5201 0x7,
5202 1,
5203 0,
5204 u8,
5205 u8,
5206 FtdfPhyParameters1Reg_SPEC,
5207 crate::common::RW,
5208 >::from_register(self, 0)
5209 }
5210
5211 #[doc = "DPHY interface: see txBitPos_0"]
5212 #[inline(always)]
5213 pub fn txbitpos_6(
5214 self,
5215 ) -> crate::common::RegisterField<
5216 24,
5217 0x7,
5218 1,
5219 0,
5220 u8,
5221 u8,
5222 FtdfPhyParameters1Reg_SPEC,
5223 crate::common::RW,
5224 > {
5225 crate::common::RegisterField::<
5226 24,
5227 0x7,
5228 1,
5229 0,
5230 u8,
5231 u8,
5232 FtdfPhyParameters1Reg_SPEC,
5233 crate::common::RW,
5234 >::from_register(self, 0)
5235 }
5236
5237 #[doc = "DPHY interface: see txBitPos_0"]
5238 #[inline(always)]
5239 pub fn txbitpos_5(
5240 self,
5241 ) -> crate::common::RegisterField<
5242 20,
5243 0x7,
5244 1,
5245 0,
5246 u8,
5247 u8,
5248 FtdfPhyParameters1Reg_SPEC,
5249 crate::common::RW,
5250 > {
5251 crate::common::RegisterField::<
5252 20,
5253 0x7,
5254 1,
5255 0,
5256 u8,
5257 u8,
5258 FtdfPhyParameters1Reg_SPEC,
5259 crate::common::RW,
5260 >::from_register(self, 0)
5261 }
5262
5263 #[doc = "DPHY interface: see txBitPos_0"]
5264 #[inline(always)]
5265 pub fn txbitpos_4(
5266 self,
5267 ) -> crate::common::RegisterField<
5268 16,
5269 0x7,
5270 1,
5271 0,
5272 u8,
5273 u8,
5274 FtdfPhyParameters1Reg_SPEC,
5275 crate::common::RW,
5276 > {
5277 crate::common::RegisterField::<
5278 16,
5279 0x7,
5280 1,
5281 0,
5282 u8,
5283 u8,
5284 FtdfPhyParameters1Reg_SPEC,
5285 crate::common::RW,
5286 >::from_register(self, 0)
5287 }
5288
5289 #[doc = "DPHY interface: see txBitPos_0"]
5290 #[inline(always)]
5291 pub fn txbitpos_3(
5292 self,
5293 ) -> crate::common::RegisterField<
5294 12,
5295 0x7,
5296 1,
5297 0,
5298 u8,
5299 u8,
5300 FtdfPhyParameters1Reg_SPEC,
5301 crate::common::RW,
5302 > {
5303 crate::common::RegisterField::<
5304 12,
5305 0x7,
5306 1,
5307 0,
5308 u8,
5309 u8,
5310 FtdfPhyParameters1Reg_SPEC,
5311 crate::common::RW,
5312 >::from_register(self, 0)
5313 }
5314
5315 #[doc = "DPHY interface: see txBitPos_0"]
5316 #[inline(always)]
5317 pub fn txbitpos_2(
5318 self,
5319 ) -> crate::common::RegisterField<
5320 8,
5321 0x7,
5322 1,
5323 0,
5324 u8,
5325 u8,
5326 FtdfPhyParameters1Reg_SPEC,
5327 crate::common::RW,
5328 > {
5329 crate::common::RegisterField::<
5330 8,
5331 0x7,
5332 1,
5333 0,
5334 u8,
5335 u8,
5336 FtdfPhyParameters1Reg_SPEC,
5337 crate::common::RW,
5338 >::from_register(self, 0)
5339 }
5340
5341 #[doc = "DPHY interface: see txBitPos_0"]
5342 #[inline(always)]
5343 pub fn txbitpos_1(
5344 self,
5345 ) -> crate::common::RegisterField<
5346 4,
5347 0x7,
5348 1,
5349 0,
5350 u8,
5351 u8,
5352 FtdfPhyParameters1Reg_SPEC,
5353 crate::common::RW,
5354 > {
5355 crate::common::RegisterField::<
5356 4,
5357 0x7,
5358 1,
5359 0,
5360 u8,
5361 u8,
5362 FtdfPhyParameters1Reg_SPEC,
5363 crate::common::RW,
5364 >::from_register(self, 0)
5365 }
5366
5367 #[doc = "DPHY interface: control txBitPos(8)(3) controls the position that a bit should have at the DPHY interface.\nSo the default values are txBitPos_0 = 0, txBitPos_1 = 1, txBitPos_2 = 2, etc.\n\nNote1 that this is a conversion from internal data byte to the DPHY interface.\nSo\nfor(n=7;n>=0;n--)\ntx_dphy_bit(n) = tx_data(tx_BitPos(n))\nendfor\n\nNote2 that txBitPos and rxBitPos must have inverse functions."]
5368 #[inline(always)]
5369 pub fn txbitpos_0(
5370 self,
5371 ) -> crate::common::RegisterField<
5372 0,
5373 0x7,
5374 1,
5375 0,
5376 u8,
5377 u8,
5378 FtdfPhyParameters1Reg_SPEC,
5379 crate::common::RW,
5380 > {
5381 crate::common::RegisterField::<
5382 0,
5383 0x7,
5384 1,
5385 0,
5386 u8,
5387 u8,
5388 FtdfPhyParameters1Reg_SPEC,
5389 crate::common::RW,
5390 >::from_register(self, 0)
5391 }
5392}
5393impl ::core::default::Default for FtdfPhyParameters1Reg {
5394 #[inline(always)]
5395 fn default() -> FtdfPhyParameters1Reg {
5396 <crate::RegValueT<FtdfPhyParameters1Reg_SPEC> as RegisterValue<_>>::new(1985229328)
5397 }
5398}
5399
5400#[doc(hidden)]
5401#[derive(Copy, Clone, Eq, PartialEq)]
5402pub struct FtdfPhyParameters2Reg_SPEC;
5403impl crate::sealed::RegSpec for FtdfPhyParameters2Reg_SPEC {
5404 type DataType = u32;
5405}
5406
5407#[doc = "Lmac PHY parameter register"]
5408pub type FtdfPhyParameters2Reg = crate::RegValueT<FtdfPhyParameters2Reg_SPEC>;
5409
5410impl FtdfPhyParameters2Reg {
5411 #[doc = "DPHY interface: Phy wait time (in us) between deassertion of TX_EN and assertion of RX_EN or vice versa."]
5412 #[inline(always)]
5413 pub fn phytrxwait(
5414 self,
5415 ) -> crate::common::RegisterField<
5416 24,
5417 0xff,
5418 1,
5419 0,
5420 u8,
5421 u8,
5422 FtdfPhyParameters2Reg_SPEC,
5423 crate::common::RW,
5424 > {
5425 crate::common::RegisterField::<
5426 24,
5427 0xff,
5428 1,
5429 0,
5430 u8,
5431 u8,
5432 FtdfPhyParameters2Reg_SPEC,
5433 crate::common::RW,
5434 >::from_register(self, 0)
5435 }
5436
5437 #[doc = "DPHY interface: Phy wait time (in us) before deasserting TX_EN after deasserting TX_VALID."]
5438 #[inline(always)]
5439 pub fn phytxfinish(
5440 self,
5441 ) -> crate::common::RegisterField<
5442 16,
5443 0xff,
5444 1,
5445 0,
5446 u8,
5447 u8,
5448 FtdfPhyParameters2Reg_SPEC,
5449 crate::common::RW,
5450 > {
5451 crate::common::RegisterField::<
5452 16,
5453 0xff,
5454 1,
5455 0,
5456 u8,
5457 u8,
5458 FtdfPhyParameters2Reg_SPEC,
5459 crate::common::RW,
5460 >::from_register(self, 0)
5461 }
5462
5463 #[doc = "DPHY interface: phy delay (in us) between DPHY interface and air interface."]
5464 #[inline(always)]
5465 pub fn phytxlatency(
5466 self,
5467 ) -> crate::common::RegisterField<
5468 8,
5469 0xff,
5470 1,
5471 0,
5472 u8,
5473 u8,
5474 FtdfPhyParameters2Reg_SPEC,
5475 crate::common::RW,
5476 > {
5477 crate::common::RegisterField::<
5478 8,
5479 0xff,
5480 1,
5481 0,
5482 u8,
5483 u8,
5484 FtdfPhyParameters2Reg_SPEC,
5485 crate::common::RW,
5486 >::from_register(self, 0)
5487 }
5488
5489 #[doc = "DPHY interface: the phy wait time (in us) before transmission of a frame may start."]
5490 #[inline(always)]
5491 pub fn phytxstartup(
5492 self,
5493 ) -> crate::common::RegisterField<
5494 0,
5495 0xff,
5496 1,
5497 0,
5498 u8,
5499 u8,
5500 FtdfPhyParameters2Reg_SPEC,
5501 crate::common::RW,
5502 > {
5503 crate::common::RegisterField::<
5504 0,
5505 0xff,
5506 1,
5507 0,
5508 u8,
5509 u8,
5510 FtdfPhyParameters2Reg_SPEC,
5511 crate::common::RW,
5512 >::from_register(self, 0)
5513 }
5514}
5515impl ::core::default::Default for FtdfPhyParameters2Reg {
5516 #[inline(always)]
5517 fn default() -> FtdfPhyParameters2Reg {
5518 <crate::RegValueT<FtdfPhyParameters2Reg_SPEC> as RegisterValue<_>>::new(0)
5519 }
5520}
5521
5522#[doc(hidden)]
5523#[derive(Copy, Clone, Eq, PartialEq)]
5524pub struct FtdfPhyParameters3Reg_SPEC;
5525impl crate::sealed::RegSpec for FtdfPhyParameters3Reg_SPEC {
5526 type DataType = u32;
5527}
5528
5529#[doc = "Lmac PHY parameter register"]
5530pub type FtdfPhyParameters3Reg = crate::RegValueT<FtdfPhyParameters3Reg_SPEC>;
5531
5532impl FtdfPhyParameters3Reg {
5533 #[doc = "If the control register use_legacy_phy_en is set (default), the output signal PHY_TRANSACTION will be sourced by PHY_EN rather than PHY_TRANSACTION."]
5534 #[inline(always)]
5535 pub fn use_legacy_phy_en(
5536 self,
5537 ) -> crate::common::RegisterFieldBool<24, 1, 0, FtdfPhyParameters3Reg_SPEC, crate::common::RW>
5538 {
5539 crate::common::RegisterFieldBool::<24,1,0,FtdfPhyParameters3Reg_SPEC,crate::common::RW>::from_register(self,0)
5540 }
5541
5542 #[doc = "DPHY interface: Asserting the DPHY interface signals TX_EN or RX_EN does not take place within the time phyEnable after asserting the signal PHY_EN.\n(in us)."]
5543 #[inline(always)]
5544 pub fn phyenable(
5545 self,
5546 ) -> crate::common::RegisterField<
5547 16,
5548 0xff,
5549 1,
5550 0,
5551 u8,
5552 u8,
5553 FtdfPhyParameters3Reg_SPEC,
5554 crate::common::RW,
5555 > {
5556 crate::common::RegisterField::<
5557 16,
5558 0xff,
5559 1,
5560 0,
5561 u8,
5562 u8,
5563 FtdfPhyParameters3Reg_SPEC,
5564 crate::common::RW,
5565 >::from_register(self, 0)
5566 }
5567
5568 #[doc = "DPHY interface: Phy delay (in us) between air and DPHY interface."]
5569 #[inline(always)]
5570 pub fn phyrxlatency(
5571 self,
5572 ) -> crate::common::RegisterField<
5573 8,
5574 0xff,
5575 1,
5576 0,
5577 u8,
5578 u8,
5579 FtdfPhyParameters3Reg_SPEC,
5580 crate::common::RW,
5581 > {
5582 crate::common::RegisterField::<
5583 8,
5584 0xff,
5585 1,
5586 0,
5587 u8,
5588 u8,
5589 FtdfPhyParameters3Reg_SPEC,
5590 crate::common::RW,
5591 >::from_register(self, 0)
5592 }
5593
5594 #[doc = "DPHY interface: Phy wait time (in us) before receiving of a frame may start."]
5595 #[inline(always)]
5596 pub fn phyrxstartup(
5597 self,
5598 ) -> crate::common::RegisterField<
5599 0,
5600 0xff,
5601 1,
5602 0,
5603 u8,
5604 u8,
5605 FtdfPhyParameters3Reg_SPEC,
5606 crate::common::RW,
5607 > {
5608 crate::common::RegisterField::<
5609 0,
5610 0xff,
5611 1,
5612 0,
5613 u8,
5614 u8,
5615 FtdfPhyParameters3Reg_SPEC,
5616 crate::common::RW,
5617 >::from_register(self, 0)
5618 }
5619}
5620impl ::core::default::Default for FtdfPhyParameters3Reg {
5621 #[inline(always)]
5622 fn default() -> FtdfPhyParameters3Reg {
5623 <crate::RegValueT<FtdfPhyParameters3Reg_SPEC> as RegisterValue<_>>::new(16777216)
5624 }
5625}
5626
5627#[doc(hidden)]
5628#[derive(Copy, Clone, Eq, PartialEq)]
5629pub struct FtdfRelName0Reg_SPEC;
5630impl crate::sealed::RegSpec for FtdfRelName0Reg_SPEC {
5631 type DataType = u32;
5632}
5633
5634#[doc = "Name of the release"]
5635pub type FtdfRelName0Reg = crate::RegValueT<FtdfRelName0Reg_SPEC>;
5636
5637impl FtdfRelName0Reg {
5638 #[doc = "A 4 words wide register, showing in ASCII the name of the release, eg. ftdf_107."]
5639 #[inline(always)]
5640 pub fn rel_name(
5641 self,
5642 ) -> crate::common::RegisterField<
5643 0,
5644 0xffffffff,
5645 1,
5646 0,
5647 u32,
5648 u32,
5649 FtdfRelName0Reg_SPEC,
5650 crate::common::R,
5651 > {
5652 crate::common::RegisterField::<
5653 0,
5654 0xffffffff,
5655 1,
5656 0,
5657 u32,
5658 u32,
5659 FtdfRelName0Reg_SPEC,
5660 crate::common::R,
5661 >::from_register(self, 0)
5662 }
5663}
5664impl ::core::default::Default for FtdfRelName0Reg {
5665 #[inline(always)]
5666 fn default() -> FtdfRelName0Reg {
5667 <crate::RegValueT<FtdfRelName0Reg_SPEC> as RegisterValue<_>>::new(0)
5668 }
5669}
5670
5671#[doc(hidden)]
5672#[derive(Copy, Clone, Eq, PartialEq)]
5673pub struct FtdfRelName1Reg_SPEC;
5674impl crate::sealed::RegSpec for FtdfRelName1Reg_SPEC {
5675 type DataType = u32;
5676}
5677
5678#[doc = "Name of the release"]
5679pub type FtdfRelName1Reg = crate::RegValueT<FtdfRelName1Reg_SPEC>;
5680
5681impl FtdfRelName1Reg {
5682 #[doc = "A 4 words wide register, showing in ASCII the name of the release, eg. ftdf_107."]
5683 #[inline(always)]
5684 pub fn rel_name(
5685 self,
5686 ) -> crate::common::RegisterField<
5687 0,
5688 0xffffffff,
5689 1,
5690 0,
5691 u32,
5692 u32,
5693 FtdfRelName1Reg_SPEC,
5694 crate::common::R,
5695 > {
5696 crate::common::RegisterField::<
5697 0,
5698 0xffffffff,
5699 1,
5700 0,
5701 u32,
5702 u32,
5703 FtdfRelName1Reg_SPEC,
5704 crate::common::R,
5705 >::from_register(self, 0)
5706 }
5707}
5708impl ::core::default::Default for FtdfRelName1Reg {
5709 #[inline(always)]
5710 fn default() -> FtdfRelName1Reg {
5711 <crate::RegValueT<FtdfRelName1Reg_SPEC> as RegisterValue<_>>::new(0)
5712 }
5713}
5714
5715#[doc(hidden)]
5716#[derive(Copy, Clone, Eq, PartialEq)]
5717pub struct FtdfRelName2Reg_SPEC;
5718impl crate::sealed::RegSpec for FtdfRelName2Reg_SPEC {
5719 type DataType = u32;
5720}
5721
5722#[doc = "Name of the release"]
5723pub type FtdfRelName2Reg = crate::RegValueT<FtdfRelName2Reg_SPEC>;
5724
5725impl FtdfRelName2Reg {
5726 #[doc = "A 4 words wide register, showing in ASCII the name of the release, eg. ftdf_107."]
5727 #[inline(always)]
5728 pub fn rel_name(
5729 self,
5730 ) -> crate::common::RegisterField<
5731 0,
5732 0xffffffff,
5733 1,
5734 0,
5735 u32,
5736 u32,
5737 FtdfRelName2Reg_SPEC,
5738 crate::common::R,
5739 > {
5740 crate::common::RegisterField::<
5741 0,
5742 0xffffffff,
5743 1,
5744 0,
5745 u32,
5746 u32,
5747 FtdfRelName2Reg_SPEC,
5748 crate::common::R,
5749 >::from_register(self, 0)
5750 }
5751}
5752impl ::core::default::Default for FtdfRelName2Reg {
5753 #[inline(always)]
5754 fn default() -> FtdfRelName2Reg {
5755 <crate::RegValueT<FtdfRelName2Reg_SPEC> as RegisterValue<_>>::new(0)
5756 }
5757}
5758
5759#[doc(hidden)]
5760#[derive(Copy, Clone, Eq, PartialEq)]
5761pub struct FtdfRelName3Reg_SPEC;
5762impl crate::sealed::RegSpec for FtdfRelName3Reg_SPEC {
5763 type DataType = u32;
5764}
5765
5766#[doc = "Name of the release"]
5767pub type FtdfRelName3Reg = crate::RegValueT<FtdfRelName3Reg_SPEC>;
5768
5769impl FtdfRelName3Reg {
5770 #[doc = "A 4 words wide register, showing in ASCII the name of the release, eg. ftdf_107."]
5771 #[inline(always)]
5772 pub fn rel_name(
5773 self,
5774 ) -> crate::common::RegisterField<
5775 0,
5776 0xffffffff,
5777 1,
5778 0,
5779 u32,
5780 u32,
5781 FtdfRelName3Reg_SPEC,
5782 crate::common::R,
5783 > {
5784 crate::common::RegisterField::<
5785 0,
5786 0xffffffff,
5787 1,
5788 0,
5789 u32,
5790 u32,
5791 FtdfRelName3Reg_SPEC,
5792 crate::common::R,
5793 >::from_register(self, 0)
5794 }
5795}
5796impl ::core::default::Default for FtdfRelName3Reg {
5797 #[inline(always)]
5798 fn default() -> FtdfRelName3Reg {
5799 <crate::RegValueT<FtdfRelName3Reg_SPEC> as RegisterValue<_>>::new(0)
5800 }
5801}
5802
5803#[doc(hidden)]
5804#[derive(Copy, Clone, Eq, PartialEq)]
5805pub struct FtdfRxControl0Reg_SPEC;
5806impl crate::sealed::RegSpec for FtdfRxControl0Reg_SPEC {
5807 type DataType = u32;
5808}
5809
5810#[doc = "Receive control register"]
5811pub type FtdfRxControl0Reg = crate::RegValueT<FtdfRxControl0Reg_SPEC>;
5812
5813impl FtdfRxControl0Reg {
5814 #[doc = "If set to \'1\', the LMAC controller shall ignore all consequent actions upon a set AR bit in the transmitted frame (e.g. enabling Rx-on mode after the transmission and wait for an ACK)."]
5815 #[inline(always)]
5816 pub fn disrxackreceivedca(
5817 self,
5818 ) -> crate::common::RegisterFieldBool<27, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5819 crate::common::RegisterFieldBool::<27,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5820 }
5821
5822 #[doc = "If set to \'1\', Frame Version 2 frames without Daddr or DPANId shall be accepted."]
5823 #[inline(always)]
5824 pub fn macimplicitbroadcast(
5825 self,
5826 ) -> crate::common::RegisterFieldBool<26, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5827 crate::common::RegisterFieldBool::<26,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5828 }
5829
5830 #[doc = "In CSL mode, if set to \'1\', WakeUp frames will be put into the Rx buffer.\nThis can be useful for software to parse the WakeUp frame."]
5831 #[inline(always)]
5832 pub fn macpasswakeup(
5833 self,
5834 ) -> crate::common::RegisterFieldBool<25, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5835 crate::common::RegisterFieldBool::<25,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5836 }
5837
5838 #[doc = "In CSL mode, if the control register macAlwaysPassWakeUp is set to \'1\', received Wake- up frames for this device are put into the Rx packet buffer without notifying the LMAC Controller (part of transparent mode control)."]
5839 #[inline(always)]
5840 pub fn macalwayspasswakeup(
5841 self,
5842 ) -> crate::common::RegisterFieldBool<24, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5843 crate::common::RegisterFieldBool::<24,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5844 }
5845
5846 #[doc = "The control registers macAlwaysPassFrmType\\[7:0\\], shall control if this Frame Type shall be dropped.\nIf a bit is set to \'1\', the Frame Type corresponding with the bit position is not dropped, even in case of a CRC error.\nExample:\nif bit 3 is set to \'1\', Frame Type 3 shall not be dropped.\nIf there is a FCS error, the error shall be reported in the Rx meta data (crc16_error is set to \'1\')."]
5847 #[inline(always)]
5848 pub fn macalwayspassfrmtype(
5849 self,
5850 ) -> crate::common::RegisterField<
5851 16,
5852 0xff,
5853 1,
5854 0,
5855 u8,
5856 u8,
5857 FtdfRxControl0Reg_SPEC,
5858 crate::common::RW,
5859 > {
5860 crate::common::RegisterField::<
5861 16,
5862 0xff,
5863 1,
5864 0,
5865 u8,
5866 u8,
5867 FtdfRxControl0Reg_SPEC,
5868 crate::common::RW,
5869 >::from_register(self, 0)
5870 }
5871
5872 #[doc = "When the control register macAlwaysPassToPanCoordinator is set to \'1\', the frame is not dropped due to a span_coord_error.\nHowever, in case of an FCS error, the packet is dropped."]
5873 #[inline(always)]
5874 pub fn macalwayspasstopancoordinator(
5875 self,
5876 ) -> crate::common::RegisterFieldBool<15, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5877 crate::common::RegisterFieldBool::<15,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5878 }
5879
5880 #[doc = "If the control register macAlwaysPassBeaconWrongPANId is set, the frame is not dropped in case of a mismatch in PAN-ID, irrespective of the setting of RxBeaconOnly."]
5881 #[inline(always)]
5882 pub fn macalwayspassbeaconwrongpanid(
5883 self,
5884 ) -> crate::common::RegisterFieldBool<14, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5885 crate::common::RegisterFieldBool::<14,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5886 }
5887
5888 #[doc = "If set to \'1\', a packet with a wrong DAddr is not dropped"]
5889 #[inline(always)]
5890 pub fn macalwayspasswrongdaddr(
5891 self,
5892 ) -> crate::common::RegisterFieldBool<13, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5893 crate::common::RegisterFieldBool::<13,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5894 }
5895
5896 #[doc = "If register macAlwaysPassWrongDPANId is set to \'1\', packet with a wrong Destiantion PanID will not be dropped.\nHowever, in case of an FCS error, the packet is dropped."]
5897 #[inline(always)]
5898 pub fn macalwayspasswrongdpanid(
5899 self,
5900 ) -> crate::common::RegisterFieldBool<12, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5901 crate::common::RegisterFieldBool::<12,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5902 }
5903
5904 #[doc = "If set to \'1\', a packet with a reserved FrameVersion shall not be dropped"]
5905 #[inline(always)]
5906 pub fn macalwayspassresframeversion(
5907 self,
5908 ) -> crate::common::RegisterFieldBool<11, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5909 crate::common::RegisterFieldBool::<11,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5910 }
5911
5912 #[doc = "When the control register DisDataRequestCa is set, the notification of the received Data Request is disabled."]
5913 #[inline(always)]
5914 pub fn disdatarequestca(
5915 self,
5916 ) -> crate::common::RegisterFieldBool<10, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5917 crate::common::RegisterFieldBool::<10,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5918 }
5919
5920 #[doc = "If set to \'1\', a FCS error will not drop the frame. However, an FCS error will be reported in the Rx meta data (crc16_error is set to \'1\')."]
5921 #[inline(always)]
5922 pub fn macalwayspasscrcerror(
5923 self,
5924 ) -> crate::common::RegisterFieldBool<9, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5925 crate::common::RegisterFieldBool::<9,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5926 }
5927
5928 #[doc = "When the control register DisRxAckRequestca is set to \'1\' all consequent actions for a received Acknowledge Request bit are disabled."]
5929 #[inline(always)]
5930 pub fn disrxackrequestca(
5931 self,
5932 ) -> crate::common::RegisterFieldBool<8, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5933 crate::common::RegisterFieldBool::<8,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5934 }
5935
5936 #[doc = "Whan the control register DisRxFrmPendingCa is set to \'1\', the notification of the received FP bit to the LMAC Controller is disabled and thus no consequent actions will take place."]
5937 #[inline(always)]
5938 pub fn disrxfrmpendingca(
5939 self,
5940 ) -> crate::common::RegisterFieldBool<7, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5941 crate::common::RegisterFieldBool::<7,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5942 }
5943
5944 #[doc = "Indication where new data will be read\nAll four bits shall be used when using these pointer values (0d - 15d).\nHowever, the Receive Packet buffer has a size of 8 entries.\nSo reading the Receive Packet buffer entries shall use the mod8 of the pointer values."]
5945 #[inline(always)]
5946 pub fn rx_read_buf_ptr(
5947 self,
5948 ) -> crate::common::RegisterField<3, 0xf, 1, 0, u8, u8, FtdfRxControl0Reg_SPEC, crate::common::RW>
5949 {
5950 crate::common::RegisterField::<
5951 3,
5952 0xf,
5953 1,
5954 0,
5955 u8,
5956 u8,
5957 FtdfRxControl0Reg_SPEC,
5958 crate::common::RW,
5959 >::from_register(self, 0)
5960 }
5961
5962 #[doc = "If set to \'1\', only Coordinator Realignment frames are accepted"]
5963 #[inline(always)]
5964 pub fn rxcoordrealignonly(
5965 self,
5966 ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5967 crate::common::RegisterFieldBool::<2,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5968 }
5969
5970 #[doc = "If set to \'1\', only Beacons frames are accepted"]
5971 #[inline(always)]
5972 pub fn rxbeacononly(
5973 self,
5974 ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5975 crate::common::RegisterFieldBool::<1,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5976 }
5977
5978 #[doc = "If set yo \'1\', Rx pipe is fully set in transparent mode (for debug purpose)."]
5979 #[inline(always)]
5980 pub fn dbgrxtransparentmode(
5981 self,
5982 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxControl0Reg_SPEC, crate::common::RW> {
5983 crate::common::RegisterFieldBool::<0,1,0,FtdfRxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
5984 }
5985}
5986impl ::core::default::Default for FtdfRxControl0Reg {
5987 #[inline(always)]
5988 fn default() -> FtdfRxControl0Reg {
5989 <crate::RegValueT<FtdfRxControl0Reg_SPEC> as RegisterValue<_>>::new(0)
5990 }
5991}
5992
5993#[doc(hidden)]
5994#[derive(Copy, Clone, Eq, PartialEq)]
5995pub struct FtdfRxEventReg_SPEC;
5996impl crate::sealed::RegSpec for FtdfRxEventReg_SPEC {
5997 type DataType = u32;
5998}
5999
6000#[doc = "Receive event register"]
6001pub type FtdfRxEventReg = crate::RegValueT<FtdfRxEventReg_SPEC>;
6002
6003impl FtdfRxEventReg {
6004 #[doc = "If set to \'1\' it indicates that the first byte of a new packet has been received\nThis event bit contributes to ftdf_ce\\[1\\]."]
6005 #[inline(always)]
6006 pub fn rxbyte_e(
6007 self,
6008 ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfRxEventReg_SPEC, crate::common::RW> {
6009 crate::common::RegisterFieldBool::<3,1,0,FtdfRxEventReg_SPEC,crate::common::RW>::from_register(self,0)
6010 }
6011
6012 #[doc = "If set to \'1\' it indicates that a new valid packet has been completely received\nThis event bit contributes to ftdf_ce\\[1\\]."]
6013 #[inline(always)]
6014 pub fn rx_buf_avail_e(
6015 self,
6016 ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfRxEventReg_SPEC, crate::common::RW> {
6017 crate::common::RegisterFieldBool::<2,1,0,FtdfRxEventReg_SPEC,crate::common::RW>::from_register(self,0)
6018 }
6019
6020 #[doc = "If set to \'1\' it indicates that the Rx packet buffer has an overflow.\nThis event bit contributes to ftdf_ce\\[1\\]."]
6021 #[inline(always)]
6022 pub fn rx_overflow_e(
6023 self,
6024 ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfRxEventReg_SPEC, crate::common::RW> {
6025 crate::common::RegisterFieldBool::<1,1,0,FtdfRxEventReg_SPEC,crate::common::RW>::from_register(self,0)
6026 }
6027
6028 #[doc = "Set to \'1\' when RX_SOF has been detected.\nThis event bit contributes to ftdf_ce\\[1\\]."]
6029 #[inline(always)]
6030 pub fn rxsof_e(
6031 self,
6032 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxEventReg_SPEC, crate::common::RW> {
6033 crate::common::RegisterFieldBool::<0,1,0,FtdfRxEventReg_SPEC,crate::common::RW>::from_register(self,0)
6034 }
6035}
6036impl ::core::default::Default for FtdfRxEventReg {
6037 #[inline(always)]
6038 fn default() -> FtdfRxEventReg {
6039 <crate::RegValueT<FtdfRxEventReg_SPEC> as RegisterValue<_>>::new(0)
6040 }
6041}
6042
6043#[doc(hidden)]
6044#[derive(Copy, Clone, Eq, PartialEq)]
6045pub struct FtdfRxFifo00Reg_SPEC;
6046impl crate::sealed::RegSpec for FtdfRxFifo00Reg_SPEC {
6047 type DataType = u32;
6048}
6049
6050#[doc = "Address receive fifo 0"]
6051pub type FtdfRxFifo00Reg = crate::RegValueT<FtdfRxFifo00Reg_SPEC>;
6052
6053impl FtdfRxFifo00Reg {
6054 #[doc = "Receive fifo ram, contains 32 addresses per entry (32b x 32a = 128B). There are 8 entries supported."]
6055 #[inline(always)]
6056 pub fn rx_fifo(
6057 self,
6058 ) -> crate::common::RegisterField<
6059 0,
6060 0xffffffff,
6061 1,
6062 0,
6063 u32,
6064 u32,
6065 FtdfRxFifo00Reg_SPEC,
6066 crate::common::RW,
6067 > {
6068 crate::common::RegisterField::<
6069 0,
6070 0xffffffff,
6071 1,
6072 0,
6073 u32,
6074 u32,
6075 FtdfRxFifo00Reg_SPEC,
6076 crate::common::RW,
6077 >::from_register(self, 0)
6078 }
6079}
6080impl ::core::default::Default for FtdfRxFifo00Reg {
6081 #[inline(always)]
6082 fn default() -> FtdfRxFifo00Reg {
6083 <crate::RegValueT<FtdfRxFifo00Reg_SPEC> as RegisterValue<_>>::new(0)
6084 }
6085}
6086
6087#[doc(hidden)]
6088#[derive(Copy, Clone, Eq, PartialEq)]
6089pub struct FtdfRxFifo10Reg_SPEC;
6090impl crate::sealed::RegSpec for FtdfRxFifo10Reg_SPEC {
6091 type DataType = u32;
6092}
6093
6094#[doc = "Address transmit fifo 1"]
6095pub type FtdfRxFifo10Reg = crate::RegValueT<FtdfRxFifo10Reg_SPEC>;
6096
6097impl FtdfRxFifo10Reg {
6098 #[doc = "Receive fifo ram, contains 32 addresses per entry (32b x 32a = 128B). There are 8 entries supported."]
6099 #[inline(always)]
6100 pub fn rx_fifo(
6101 self,
6102 ) -> crate::common::RegisterField<
6103 0,
6104 0xffffffff,
6105 1,
6106 0,
6107 u32,
6108 u32,
6109 FtdfRxFifo10Reg_SPEC,
6110 crate::common::RW,
6111 > {
6112 crate::common::RegisterField::<
6113 0,
6114 0xffffffff,
6115 1,
6116 0,
6117 u32,
6118 u32,
6119 FtdfRxFifo10Reg_SPEC,
6120 crate::common::RW,
6121 >::from_register(self, 0)
6122 }
6123}
6124impl ::core::default::Default for FtdfRxFifo10Reg {
6125 #[inline(always)]
6126 fn default() -> FtdfRxFifo10Reg {
6127 <crate::RegValueT<FtdfRxFifo10Reg_SPEC> as RegisterValue<_>>::new(0)
6128 }
6129}
6130
6131#[doc(hidden)]
6132#[derive(Copy, Clone, Eq, PartialEq)]
6133pub struct FtdfRxFifo20Reg_SPEC;
6134impl crate::sealed::RegSpec for FtdfRxFifo20Reg_SPEC {
6135 type DataType = u32;
6136}
6137
6138#[doc = "Address transmit fifo 2"]
6139pub type FtdfRxFifo20Reg = crate::RegValueT<FtdfRxFifo20Reg_SPEC>;
6140
6141impl FtdfRxFifo20Reg {
6142 #[doc = "Receive fifo ram, contains 32 addresses per entry (32b x 32a = 128B). There are 8 entries supported."]
6143 #[inline(always)]
6144 pub fn rx_fifo(
6145 self,
6146 ) -> crate::common::RegisterField<
6147 0,
6148 0xffffffff,
6149 1,
6150 0,
6151 u32,
6152 u32,
6153 FtdfRxFifo20Reg_SPEC,
6154 crate::common::RW,
6155 > {
6156 crate::common::RegisterField::<
6157 0,
6158 0xffffffff,
6159 1,
6160 0,
6161 u32,
6162 u32,
6163 FtdfRxFifo20Reg_SPEC,
6164 crate::common::RW,
6165 >::from_register(self, 0)
6166 }
6167}
6168impl ::core::default::Default for FtdfRxFifo20Reg {
6169 #[inline(always)]
6170 fn default() -> FtdfRxFifo20Reg {
6171 <crate::RegValueT<FtdfRxFifo20Reg_SPEC> as RegisterValue<_>>::new(0)
6172 }
6173}
6174
6175#[doc(hidden)]
6176#[derive(Copy, Clone, Eq, PartialEq)]
6177pub struct FtdfRxFifo30Reg_SPEC;
6178impl crate::sealed::RegSpec for FtdfRxFifo30Reg_SPEC {
6179 type DataType = u32;
6180}
6181
6182#[doc = "Address transmit fifo 3"]
6183pub type FtdfRxFifo30Reg = crate::RegValueT<FtdfRxFifo30Reg_SPEC>;
6184
6185impl FtdfRxFifo30Reg {
6186 #[doc = "Receive fifo ram, contains 32 addresses per entry (32b x 32a = 128B). There are 8 entries supported."]
6187 #[inline(always)]
6188 pub fn rx_fifo(
6189 self,
6190 ) -> crate::common::RegisterField<
6191 0,
6192 0xffffffff,
6193 1,
6194 0,
6195 u32,
6196 u32,
6197 FtdfRxFifo30Reg_SPEC,
6198 crate::common::RW,
6199 > {
6200 crate::common::RegisterField::<
6201 0,
6202 0xffffffff,
6203 1,
6204 0,
6205 u32,
6206 u32,
6207 FtdfRxFifo30Reg_SPEC,
6208 crate::common::RW,
6209 >::from_register(self, 0)
6210 }
6211}
6212impl ::core::default::Default for FtdfRxFifo30Reg {
6213 #[inline(always)]
6214 fn default() -> FtdfRxFifo30Reg {
6215 <crate::RegValueT<FtdfRxFifo30Reg_SPEC> as RegisterValue<_>>::new(0)
6216 }
6217}
6218
6219#[doc(hidden)]
6220#[derive(Copy, Clone, Eq, PartialEq)]
6221pub struct FtdfRxFifo40Reg_SPEC;
6222impl crate::sealed::RegSpec for FtdfRxFifo40Reg_SPEC {
6223 type DataType = u32;
6224}
6225
6226#[doc = "Address transmit fifo 4"]
6227pub type FtdfRxFifo40Reg = crate::RegValueT<FtdfRxFifo40Reg_SPEC>;
6228
6229impl FtdfRxFifo40Reg {
6230 #[doc = "Receive fifo ram, contains 32 addresses per entry (32b x 32a = 128B). There are 8 entries supported."]
6231 #[inline(always)]
6232 pub fn rx_fifo(
6233 self,
6234 ) -> crate::common::RegisterField<
6235 0,
6236 0xffffffff,
6237 1,
6238 0,
6239 u32,
6240 u32,
6241 FtdfRxFifo40Reg_SPEC,
6242 crate::common::RW,
6243 > {
6244 crate::common::RegisterField::<
6245 0,
6246 0xffffffff,
6247 1,
6248 0,
6249 u32,
6250 u32,
6251 FtdfRxFifo40Reg_SPEC,
6252 crate::common::RW,
6253 >::from_register(self, 0)
6254 }
6255}
6256impl ::core::default::Default for FtdfRxFifo40Reg {
6257 #[inline(always)]
6258 fn default() -> FtdfRxFifo40Reg {
6259 <crate::RegValueT<FtdfRxFifo40Reg_SPEC> as RegisterValue<_>>::new(0)
6260 }
6261}
6262
6263#[doc(hidden)]
6264#[derive(Copy, Clone, Eq, PartialEq)]
6265pub struct FtdfRxFifo50Reg_SPEC;
6266impl crate::sealed::RegSpec for FtdfRxFifo50Reg_SPEC {
6267 type DataType = u32;
6268}
6269
6270#[doc = "Address transmit fifo 5"]
6271pub type FtdfRxFifo50Reg = crate::RegValueT<FtdfRxFifo50Reg_SPEC>;
6272
6273impl FtdfRxFifo50Reg {
6274 #[doc = "Receive fifo ram, contains 32 addresses per entry (32b x 32a = 128B). There are 8 entries supported."]
6275 #[inline(always)]
6276 pub fn rx_fifo(
6277 self,
6278 ) -> crate::common::RegisterField<
6279 0,
6280 0xffffffff,
6281 1,
6282 0,
6283 u32,
6284 u32,
6285 FtdfRxFifo50Reg_SPEC,
6286 crate::common::RW,
6287 > {
6288 crate::common::RegisterField::<
6289 0,
6290 0xffffffff,
6291 1,
6292 0,
6293 u32,
6294 u32,
6295 FtdfRxFifo50Reg_SPEC,
6296 crate::common::RW,
6297 >::from_register(self, 0)
6298 }
6299}
6300impl ::core::default::Default for FtdfRxFifo50Reg {
6301 #[inline(always)]
6302 fn default() -> FtdfRxFifo50Reg {
6303 <crate::RegValueT<FtdfRxFifo50Reg_SPEC> as RegisterValue<_>>::new(0)
6304 }
6305}
6306
6307#[doc(hidden)]
6308#[derive(Copy, Clone, Eq, PartialEq)]
6309pub struct FtdfRxFifo60Reg_SPEC;
6310impl crate::sealed::RegSpec for FtdfRxFifo60Reg_SPEC {
6311 type DataType = u32;
6312}
6313
6314#[doc = "Address transmit fifo 6"]
6315pub type FtdfRxFifo60Reg = crate::RegValueT<FtdfRxFifo60Reg_SPEC>;
6316
6317impl FtdfRxFifo60Reg {
6318 #[doc = "Receive fifo ram, contains 32 addresses per entry (32b x 32a = 128B). There are 8 entries supported."]
6319 #[inline(always)]
6320 pub fn rx_fifo(
6321 self,
6322 ) -> crate::common::RegisterField<
6323 0,
6324 0xffffffff,
6325 1,
6326 0,
6327 u32,
6328 u32,
6329 FtdfRxFifo60Reg_SPEC,
6330 crate::common::RW,
6331 > {
6332 crate::common::RegisterField::<
6333 0,
6334 0xffffffff,
6335 1,
6336 0,
6337 u32,
6338 u32,
6339 FtdfRxFifo60Reg_SPEC,
6340 crate::common::RW,
6341 >::from_register(self, 0)
6342 }
6343}
6344impl ::core::default::Default for FtdfRxFifo60Reg {
6345 #[inline(always)]
6346 fn default() -> FtdfRxFifo60Reg {
6347 <crate::RegValueT<FtdfRxFifo60Reg_SPEC> as RegisterValue<_>>::new(0)
6348 }
6349}
6350
6351#[doc(hidden)]
6352#[derive(Copy, Clone, Eq, PartialEq)]
6353pub struct FtdfRxFifo70Reg_SPEC;
6354impl crate::sealed::RegSpec for FtdfRxFifo70Reg_SPEC {
6355 type DataType = u32;
6356}
6357
6358#[doc = "Address transmit fifo 7"]
6359pub type FtdfRxFifo70Reg = crate::RegValueT<FtdfRxFifo70Reg_SPEC>;
6360
6361impl FtdfRxFifo70Reg {
6362 #[doc = "Receive fifo ram, contains 32 addresses per entry (32b x 32a = 128B). There are 8 entries supported."]
6363 #[inline(always)]
6364 pub fn rx_fifo(
6365 self,
6366 ) -> crate::common::RegisterField<
6367 0,
6368 0xffffffff,
6369 1,
6370 0,
6371 u32,
6372 u32,
6373 FtdfRxFifo70Reg_SPEC,
6374 crate::common::RW,
6375 > {
6376 crate::common::RegisterField::<
6377 0,
6378 0xffffffff,
6379 1,
6380 0,
6381 u32,
6382 u32,
6383 FtdfRxFifo70Reg_SPEC,
6384 crate::common::RW,
6385 >::from_register(self, 0)
6386 }
6387}
6388impl ::core::default::Default for FtdfRxFifo70Reg {
6389 #[inline(always)]
6390 fn default() -> FtdfRxFifo70Reg {
6391 <crate::RegValueT<FtdfRxFifo70Reg_SPEC> as RegisterValue<_>>::new(0)
6392 }
6393}
6394
6395#[doc(hidden)]
6396#[derive(Copy, Clone, Eq, PartialEq)]
6397pub struct FtdfRxMaskReg_SPEC;
6398impl crate::sealed::RegSpec for FtdfRxMaskReg_SPEC {
6399 type DataType = u32;
6400}
6401
6402#[doc = "Receive event mask register"]
6403pub type FtdfRxMaskReg = crate::RegValueT<FtdfRxMaskReg_SPEC>;
6404
6405impl FtdfRxMaskReg {
6406 #[doc = "Mask bit for event rxbyte_e.\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
6407 #[inline(always)]
6408 pub fn rxbyte_m(
6409 self,
6410 ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfRxMaskReg_SPEC, crate::common::RW> {
6411 crate::common::RegisterFieldBool::<3,1,0,FtdfRxMaskReg_SPEC,crate::common::RW>::from_register(self,0)
6412 }
6413
6414 #[doc = "Mask bit for event rx_buf_avail_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
6415 #[inline(always)]
6416 pub fn rx_buf_avail_m(
6417 self,
6418 ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfRxMaskReg_SPEC, crate::common::RW> {
6419 crate::common::RegisterFieldBool::<2,1,0,FtdfRxMaskReg_SPEC,crate::common::RW>::from_register(self,0)
6420 }
6421
6422 #[doc = "Mask bit for event rx_overflow_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
6423 #[inline(always)]
6424 pub fn rx_overflow_m(
6425 self,
6426 ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfRxMaskReg_SPEC, crate::common::RW> {
6427 crate::common::RegisterFieldBool::<1,1,0,FtdfRxMaskReg_SPEC,crate::common::RW>::from_register(self,0)
6428 }
6429
6430 #[doc = "Mask bit for event RxSof_e.\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
6431 #[inline(always)]
6432 pub fn rxsof_m(
6433 self,
6434 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxMaskReg_SPEC, crate::common::RW> {
6435 crate::common::RegisterFieldBool::<0,1,0,FtdfRxMaskReg_SPEC,crate::common::RW>::from_register(self,0)
6436 }
6437}
6438impl ::core::default::Default for FtdfRxMaskReg {
6439 #[inline(always)]
6440 fn default() -> FtdfRxMaskReg {
6441 <crate::RegValueT<FtdfRxMaskReg_SPEC> as RegisterValue<_>>::new(0)
6442 }
6443}
6444
6445#[doc(hidden)]
6446#[derive(Copy, Clone, Eq, PartialEq)]
6447pub struct FtdfRxMeta00Reg_SPEC;
6448impl crate::sealed::RegSpec for FtdfRxMeta00Reg_SPEC {
6449 type DataType = u32;
6450}
6451
6452#[doc = "Receive metadata register 0"]
6453pub type FtdfRxMeta00Reg = crate::RegValueT<FtdfRxMeta00Reg_SPEC>;
6454
6455impl FtdfRxMeta00Reg {
6456 #[doc = "Rx meta data per entry: Timestamp taken when frame was received"]
6457 #[inline(always)]
6458 pub fn rx_timestamp(
6459 self,
6460 ) -> crate::common::RegisterField<
6461 0,
6462 0xffffffff,
6463 1,
6464 0,
6465 u32,
6466 u32,
6467 FtdfRxMeta00Reg_SPEC,
6468 crate::common::R,
6469 > {
6470 crate::common::RegisterField::<
6471 0,
6472 0xffffffff,
6473 1,
6474 0,
6475 u32,
6476 u32,
6477 FtdfRxMeta00Reg_SPEC,
6478 crate::common::R,
6479 >::from_register(self, 0)
6480 }
6481}
6482impl ::core::default::Default for FtdfRxMeta00Reg {
6483 #[inline(always)]
6484 fn default() -> FtdfRxMeta00Reg {
6485 <crate::RegValueT<FtdfRxMeta00Reg_SPEC> as RegisterValue<_>>::new(0)
6486 }
6487}
6488
6489#[doc(hidden)]
6490#[derive(Copy, Clone, Eq, PartialEq)]
6491pub struct FtdfRxMeta01Reg_SPEC;
6492impl crate::sealed::RegSpec for FtdfRxMeta01Reg_SPEC {
6493 type DataType = u32;
6494}
6495
6496#[doc = "Receive metadata register 1"]
6497pub type FtdfRxMeta01Reg = crate::RegValueT<FtdfRxMeta01Reg_SPEC>;
6498
6499impl FtdfRxMeta01Reg {
6500 #[doc = "Rx meta data per entry: Timestamp taken when frame was received"]
6501 #[inline(always)]
6502 pub fn rx_timestamp(
6503 self,
6504 ) -> crate::common::RegisterField<
6505 0,
6506 0xffffffff,
6507 1,
6508 0,
6509 u32,
6510 u32,
6511 FtdfRxMeta01Reg_SPEC,
6512 crate::common::R,
6513 > {
6514 crate::common::RegisterField::<
6515 0,
6516 0xffffffff,
6517 1,
6518 0,
6519 u32,
6520 u32,
6521 FtdfRxMeta01Reg_SPEC,
6522 crate::common::R,
6523 >::from_register(self, 0)
6524 }
6525}
6526impl ::core::default::Default for FtdfRxMeta01Reg {
6527 #[inline(always)]
6528 fn default() -> FtdfRxMeta01Reg {
6529 <crate::RegValueT<FtdfRxMeta01Reg_SPEC> as RegisterValue<_>>::new(0)
6530 }
6531}
6532
6533#[doc(hidden)]
6534#[derive(Copy, Clone, Eq, PartialEq)]
6535pub struct FtdfRxMeta02Reg_SPEC;
6536impl crate::sealed::RegSpec for FtdfRxMeta02Reg_SPEC {
6537 type DataType = u32;
6538}
6539
6540#[doc = "Receive metadata register 2"]
6541pub type FtdfRxMeta02Reg = crate::RegValueT<FtdfRxMeta02Reg_SPEC>;
6542
6543impl FtdfRxMeta02Reg {
6544 #[doc = "Rx meta data per entry: Timestamp taken when frame was received"]
6545 #[inline(always)]
6546 pub fn rx_timestamp(
6547 self,
6548 ) -> crate::common::RegisterField<
6549 0,
6550 0xffffffff,
6551 1,
6552 0,
6553 u32,
6554 u32,
6555 FtdfRxMeta02Reg_SPEC,
6556 crate::common::R,
6557 > {
6558 crate::common::RegisterField::<
6559 0,
6560 0xffffffff,
6561 1,
6562 0,
6563 u32,
6564 u32,
6565 FtdfRxMeta02Reg_SPEC,
6566 crate::common::R,
6567 >::from_register(self, 0)
6568 }
6569}
6570impl ::core::default::Default for FtdfRxMeta02Reg {
6571 #[inline(always)]
6572 fn default() -> FtdfRxMeta02Reg {
6573 <crate::RegValueT<FtdfRxMeta02Reg_SPEC> as RegisterValue<_>>::new(0)
6574 }
6575}
6576
6577#[doc(hidden)]
6578#[derive(Copy, Clone, Eq, PartialEq)]
6579pub struct FtdfRxMeta03Reg_SPEC;
6580impl crate::sealed::RegSpec for FtdfRxMeta03Reg_SPEC {
6581 type DataType = u32;
6582}
6583
6584#[doc = "Receive metadata register 3"]
6585pub type FtdfRxMeta03Reg = crate::RegValueT<FtdfRxMeta03Reg_SPEC>;
6586
6587impl FtdfRxMeta03Reg {
6588 #[doc = "Rx meta data per entry: Timestamp taken when frame was received"]
6589 #[inline(always)]
6590 pub fn rx_timestamp(
6591 self,
6592 ) -> crate::common::RegisterField<
6593 0,
6594 0xffffffff,
6595 1,
6596 0,
6597 u32,
6598 u32,
6599 FtdfRxMeta03Reg_SPEC,
6600 crate::common::R,
6601 > {
6602 crate::common::RegisterField::<
6603 0,
6604 0xffffffff,
6605 1,
6606 0,
6607 u32,
6608 u32,
6609 FtdfRxMeta03Reg_SPEC,
6610 crate::common::R,
6611 >::from_register(self, 0)
6612 }
6613}
6614impl ::core::default::Default for FtdfRxMeta03Reg {
6615 #[inline(always)]
6616 fn default() -> FtdfRxMeta03Reg {
6617 <crate::RegValueT<FtdfRxMeta03Reg_SPEC> as RegisterValue<_>>::new(0)
6618 }
6619}
6620
6621#[doc(hidden)]
6622#[derive(Copy, Clone, Eq, PartialEq)]
6623pub struct FtdfRxMeta04Reg_SPEC;
6624impl crate::sealed::RegSpec for FtdfRxMeta04Reg_SPEC {
6625 type DataType = u32;
6626}
6627
6628#[doc = "Receive metadata register 4"]
6629pub type FtdfRxMeta04Reg = crate::RegValueT<FtdfRxMeta04Reg_SPEC>;
6630
6631impl FtdfRxMeta04Reg {
6632 #[doc = "Rx meta data per entry: Timestamp taken when frame was received"]
6633 #[inline(always)]
6634 pub fn rx_timestamp(
6635 self,
6636 ) -> crate::common::RegisterField<
6637 0,
6638 0xffffffff,
6639 1,
6640 0,
6641 u32,
6642 u32,
6643 FtdfRxMeta04Reg_SPEC,
6644 crate::common::R,
6645 > {
6646 crate::common::RegisterField::<
6647 0,
6648 0xffffffff,
6649 1,
6650 0,
6651 u32,
6652 u32,
6653 FtdfRxMeta04Reg_SPEC,
6654 crate::common::R,
6655 >::from_register(self, 0)
6656 }
6657}
6658impl ::core::default::Default for FtdfRxMeta04Reg {
6659 #[inline(always)]
6660 fn default() -> FtdfRxMeta04Reg {
6661 <crate::RegValueT<FtdfRxMeta04Reg_SPEC> as RegisterValue<_>>::new(0)
6662 }
6663}
6664
6665#[doc(hidden)]
6666#[derive(Copy, Clone, Eq, PartialEq)]
6667pub struct FtdfRxMeta05Reg_SPEC;
6668impl crate::sealed::RegSpec for FtdfRxMeta05Reg_SPEC {
6669 type DataType = u32;
6670}
6671
6672#[doc = "Receive metadata register 5"]
6673pub type FtdfRxMeta05Reg = crate::RegValueT<FtdfRxMeta05Reg_SPEC>;
6674
6675impl FtdfRxMeta05Reg {
6676 #[doc = "Rx meta data per entry: Timestamp taken when frame was received"]
6677 #[inline(always)]
6678 pub fn rx_timestamp(
6679 self,
6680 ) -> crate::common::RegisterField<
6681 0,
6682 0xffffffff,
6683 1,
6684 0,
6685 u32,
6686 u32,
6687 FtdfRxMeta05Reg_SPEC,
6688 crate::common::R,
6689 > {
6690 crate::common::RegisterField::<
6691 0,
6692 0xffffffff,
6693 1,
6694 0,
6695 u32,
6696 u32,
6697 FtdfRxMeta05Reg_SPEC,
6698 crate::common::R,
6699 >::from_register(self, 0)
6700 }
6701}
6702impl ::core::default::Default for FtdfRxMeta05Reg {
6703 #[inline(always)]
6704 fn default() -> FtdfRxMeta05Reg {
6705 <crate::RegValueT<FtdfRxMeta05Reg_SPEC> as RegisterValue<_>>::new(0)
6706 }
6707}
6708
6709#[doc(hidden)]
6710#[derive(Copy, Clone, Eq, PartialEq)]
6711pub struct FtdfRxMeta06Reg_SPEC;
6712impl crate::sealed::RegSpec for FtdfRxMeta06Reg_SPEC {
6713 type DataType = u32;
6714}
6715
6716#[doc = "Receive metadata register 6"]
6717pub type FtdfRxMeta06Reg = crate::RegValueT<FtdfRxMeta06Reg_SPEC>;
6718
6719impl FtdfRxMeta06Reg {
6720 #[doc = "Rx meta data per entry: Timestamp taken when frame was received"]
6721 #[inline(always)]
6722 pub fn rx_timestamp(
6723 self,
6724 ) -> crate::common::RegisterField<
6725 0,
6726 0xffffffff,
6727 1,
6728 0,
6729 u32,
6730 u32,
6731 FtdfRxMeta06Reg_SPEC,
6732 crate::common::R,
6733 > {
6734 crate::common::RegisterField::<
6735 0,
6736 0xffffffff,
6737 1,
6738 0,
6739 u32,
6740 u32,
6741 FtdfRxMeta06Reg_SPEC,
6742 crate::common::R,
6743 >::from_register(self, 0)
6744 }
6745}
6746impl ::core::default::Default for FtdfRxMeta06Reg {
6747 #[inline(always)]
6748 fn default() -> FtdfRxMeta06Reg {
6749 <crate::RegValueT<FtdfRxMeta06Reg_SPEC> as RegisterValue<_>>::new(0)
6750 }
6751}
6752
6753#[doc(hidden)]
6754#[derive(Copy, Clone, Eq, PartialEq)]
6755pub struct FtdfRxMeta07Reg_SPEC;
6756impl crate::sealed::RegSpec for FtdfRxMeta07Reg_SPEC {
6757 type DataType = u32;
6758}
6759
6760#[doc = "Receive metadata register 7"]
6761pub type FtdfRxMeta07Reg = crate::RegValueT<FtdfRxMeta07Reg_SPEC>;
6762
6763impl FtdfRxMeta07Reg {
6764 #[doc = "Rx meta data per entry: Timestamp taken when frame was received"]
6765 #[inline(always)]
6766 pub fn rx_timestamp(
6767 self,
6768 ) -> crate::common::RegisterField<
6769 0,
6770 0xffffffff,
6771 1,
6772 0,
6773 u32,
6774 u32,
6775 FtdfRxMeta07Reg_SPEC,
6776 crate::common::R,
6777 > {
6778 crate::common::RegisterField::<
6779 0,
6780 0xffffffff,
6781 1,
6782 0,
6783 u32,
6784 u32,
6785 FtdfRxMeta07Reg_SPEC,
6786 crate::common::R,
6787 >::from_register(self, 0)
6788 }
6789}
6790impl ::core::default::Default for FtdfRxMeta07Reg {
6791 #[inline(always)]
6792 fn default() -> FtdfRxMeta07Reg {
6793 <crate::RegValueT<FtdfRxMeta07Reg_SPEC> as RegisterValue<_>>::new(0)
6794 }
6795}
6796
6797#[doc(hidden)]
6798#[derive(Copy, Clone, Eq, PartialEq)]
6799pub struct FtdfRxMeta10Reg_SPEC;
6800impl crate::sealed::RegSpec for FtdfRxMeta10Reg_SPEC {
6801 type DataType = u32;
6802}
6803
6804#[doc = "Receive metadata register 0"]
6805pub type FtdfRxMeta10Reg = crate::RegValueT<FtdfRxMeta10Reg_SPEC>;
6806
6807impl FtdfRxMeta10Reg {
6808 #[doc = "Rx meta data per entry: the Link Quality Indication value during reception of this frame.\n\n# $software_scratch@retention_ram\n# TX ram not used by hardware, can be used by software as scratch ram with retention."]
6809 #[inline(always)]
6810 pub fn quality_indicator(
6811 self,
6812 ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, FtdfRxMeta10Reg_SPEC, crate::common::R>
6813 {
6814 crate::common::RegisterField::<8,0xff,1,0,u8,u8,FtdfRxMeta10Reg_SPEC,crate::common::R>::from_register(self,0)
6815 }
6816
6817 #[doc = "Rx meta data per entry: if set to \'1\', the received frame is not for PAN coordinator, applicable when frame is not discarded"]
6818 #[inline(always)]
6819 pub fn ispanid_coord_error(
6820 self,
6821 ) -> crate::common::RegisterFieldBool<7, 1, 0, FtdfRxMeta10Reg_SPEC, crate::common::R> {
6822 crate::common::RegisterFieldBool::<7,1,0,FtdfRxMeta10Reg_SPEC,crate::common::R>::from_register(self,0)
6823 }
6824
6825 #[doc = "Rx meta data per entry: if set to \'1\', a PAN ID error has occurred, applicable when frame is not discarded"]
6826 #[inline(always)]
6827 pub fn spanid_error(
6828 self,
6829 ) -> crate::common::RegisterFieldBool<6, 1, 0, FtdfRxMeta10Reg_SPEC, crate::common::R> {
6830 crate::common::RegisterFieldBool::<6,1,0,FtdfRxMeta10Reg_SPEC,crate::common::R>::from_register(self,0)
6831 }
6832
6833 #[doc = "Rx meta data per entry: if set to \'1\', a destination Address error has occurred, applicable when frame is not discarded"]
6834 #[inline(always)]
6835 pub fn daddr_error(
6836 self,
6837 ) -> crate::common::RegisterFieldBool<5, 1, 0, FtdfRxMeta10Reg_SPEC, crate::common::R> {
6838 crate::common::RegisterFieldBool::<5,1,0,FtdfRxMeta10Reg_SPEC,crate::common::R>::from_register(self,0)
6839 }
6840
6841 #[doc = "Rx meta data per entry: if set to \'1\', a destination PAN ID error has occurred, applicable when frame is not discarded"]
6842 #[inline(always)]
6843 pub fn dpanid_error(
6844 self,
6845 ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfRxMeta10Reg_SPEC, crate::common::R> {
6846 crate::common::RegisterFieldBool::<4,1,0,FtdfRxMeta10Reg_SPEC,crate::common::R>::from_register(self,0)
6847 }
6848
6849 #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame version, applicable when frame is not discarded."]
6850 #[inline(always)]
6851 pub fn res_frm_version_error(
6852 self,
6853 ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfRxMeta10Reg_SPEC, crate::common::R> {
6854 crate::common::RegisterFieldBool::<3,1,0,FtdfRxMeta10Reg_SPEC,crate::common::R>::from_register(self,0)
6855 }
6856
6857 #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame type, applicable when frame is not discarded"]
6858 #[inline(always)]
6859 pub fn res_frm_type_error(
6860 self,
6861 ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfRxMeta10Reg_SPEC, crate::common::R> {
6862 crate::common::RegisterFieldBool::<2,1,0,FtdfRxMeta10Reg_SPEC,crate::common::R>::from_register(self,0)
6863 }
6864
6865 #[doc = "Rx meta data per entry: if set, a CRC error has occurred in this frame, applicable for transparent mode only"]
6866 #[inline(always)]
6867 pub fn crc16_error(
6868 self,
6869 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxMeta10Reg_SPEC, crate::common::R> {
6870 crate::common::RegisterFieldBool::<0,1,0,FtdfRxMeta10Reg_SPEC,crate::common::R>::from_register(self,0)
6871 }
6872}
6873impl ::core::default::Default for FtdfRxMeta10Reg {
6874 #[inline(always)]
6875 fn default() -> FtdfRxMeta10Reg {
6876 <crate::RegValueT<FtdfRxMeta10Reg_SPEC> as RegisterValue<_>>::new(0)
6877 }
6878}
6879
6880#[doc(hidden)]
6881#[derive(Copy, Clone, Eq, PartialEq)]
6882pub struct FtdfRxMeta11Reg_SPEC;
6883impl crate::sealed::RegSpec for FtdfRxMeta11Reg_SPEC {
6884 type DataType = u32;
6885}
6886
6887#[doc = "Receive metadata register 1"]
6888pub type FtdfRxMeta11Reg = crate::RegValueT<FtdfRxMeta11Reg_SPEC>;
6889
6890impl FtdfRxMeta11Reg {
6891 #[doc = "Rx meta data per entry: the Link Quality Indication value during reception of this frame.\n\n# $software_scratch@retention_ram\n# TX ram not used by hardware, can be used by software as scratch ram with retention."]
6892 #[inline(always)]
6893 pub fn quality_indicator(
6894 self,
6895 ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, FtdfRxMeta11Reg_SPEC, crate::common::R>
6896 {
6897 crate::common::RegisterField::<8,0xff,1,0,u8,u8,FtdfRxMeta11Reg_SPEC,crate::common::R>::from_register(self,0)
6898 }
6899
6900 #[doc = "Rx meta data per entry: if set to \'1\', the received frame is not for PAN coordinator, applicable when frame is not discarded"]
6901 #[inline(always)]
6902 pub fn ispanid_coord_error(
6903 self,
6904 ) -> crate::common::RegisterFieldBool<7, 1, 0, FtdfRxMeta11Reg_SPEC, crate::common::R> {
6905 crate::common::RegisterFieldBool::<7,1,0,FtdfRxMeta11Reg_SPEC,crate::common::R>::from_register(self,0)
6906 }
6907
6908 #[doc = "Rx meta data per entry: if set to \'1\', a PAN ID error has occurred, applicable when frame is not discarded"]
6909 #[inline(always)]
6910 pub fn spanid_error(
6911 self,
6912 ) -> crate::common::RegisterFieldBool<6, 1, 0, FtdfRxMeta11Reg_SPEC, crate::common::R> {
6913 crate::common::RegisterFieldBool::<6,1,0,FtdfRxMeta11Reg_SPEC,crate::common::R>::from_register(self,0)
6914 }
6915
6916 #[doc = "Rx meta data per entry: if set to \'1\', a destination Address error has occurred, applicable when frame is not discarded"]
6917 #[inline(always)]
6918 pub fn daddr_error(
6919 self,
6920 ) -> crate::common::RegisterFieldBool<5, 1, 0, FtdfRxMeta11Reg_SPEC, crate::common::R> {
6921 crate::common::RegisterFieldBool::<5,1,0,FtdfRxMeta11Reg_SPEC,crate::common::R>::from_register(self,0)
6922 }
6923
6924 #[doc = "Rx meta data per entry: if set to \'1\', a destination PAN ID error has occurred, applicable when frame is not discarded"]
6925 #[inline(always)]
6926 pub fn dpanid_error(
6927 self,
6928 ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfRxMeta11Reg_SPEC, crate::common::R> {
6929 crate::common::RegisterFieldBool::<4,1,0,FtdfRxMeta11Reg_SPEC,crate::common::R>::from_register(self,0)
6930 }
6931
6932 #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame version, applicable when frame is not discarded."]
6933 #[inline(always)]
6934 pub fn res_frm_version_error(
6935 self,
6936 ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfRxMeta11Reg_SPEC, crate::common::R> {
6937 crate::common::RegisterFieldBool::<3,1,0,FtdfRxMeta11Reg_SPEC,crate::common::R>::from_register(self,0)
6938 }
6939
6940 #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame type, applicable when frame is not discarded"]
6941 #[inline(always)]
6942 pub fn res_frm_type_error(
6943 self,
6944 ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfRxMeta11Reg_SPEC, crate::common::R> {
6945 crate::common::RegisterFieldBool::<2,1,0,FtdfRxMeta11Reg_SPEC,crate::common::R>::from_register(self,0)
6946 }
6947
6948 #[doc = "Rx meta data per entry: if set, a CRC error has occurred in this frame, applicable for transparent mode only"]
6949 #[inline(always)]
6950 pub fn crc16_error(
6951 self,
6952 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxMeta11Reg_SPEC, crate::common::R> {
6953 crate::common::RegisterFieldBool::<0,1,0,FtdfRxMeta11Reg_SPEC,crate::common::R>::from_register(self,0)
6954 }
6955}
6956impl ::core::default::Default for FtdfRxMeta11Reg {
6957 #[inline(always)]
6958 fn default() -> FtdfRxMeta11Reg {
6959 <crate::RegValueT<FtdfRxMeta11Reg_SPEC> as RegisterValue<_>>::new(0)
6960 }
6961}
6962
6963#[doc(hidden)]
6964#[derive(Copy, Clone, Eq, PartialEq)]
6965pub struct FtdfRxMeta12Reg_SPEC;
6966impl crate::sealed::RegSpec for FtdfRxMeta12Reg_SPEC {
6967 type DataType = u32;
6968}
6969
6970#[doc = "Receive metadata register 2"]
6971pub type FtdfRxMeta12Reg = crate::RegValueT<FtdfRxMeta12Reg_SPEC>;
6972
6973impl FtdfRxMeta12Reg {
6974 #[doc = "Rx meta data per entry: the Link Quality Indication value during reception of this frame.\n\n# $software_scratch@retention_ram\n# TX ram not used by hardware, can be used by software as scratch ram with retention."]
6975 #[inline(always)]
6976 pub fn quality_indicator(
6977 self,
6978 ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, FtdfRxMeta12Reg_SPEC, crate::common::R>
6979 {
6980 crate::common::RegisterField::<8,0xff,1,0,u8,u8,FtdfRxMeta12Reg_SPEC,crate::common::R>::from_register(self,0)
6981 }
6982
6983 #[doc = "Rx meta data per entry: if set to \'1\', the received frame is not for PAN coordinator, applicable when frame is not discarded"]
6984 #[inline(always)]
6985 pub fn ispanid_coord_error(
6986 self,
6987 ) -> crate::common::RegisterFieldBool<7, 1, 0, FtdfRxMeta12Reg_SPEC, crate::common::R> {
6988 crate::common::RegisterFieldBool::<7,1,0,FtdfRxMeta12Reg_SPEC,crate::common::R>::from_register(self,0)
6989 }
6990
6991 #[doc = "Rx meta data per entry: if set to \'1\', a PAN ID error has occurred, applicable when frame is not discarded"]
6992 #[inline(always)]
6993 pub fn spanid_error(
6994 self,
6995 ) -> crate::common::RegisterFieldBool<6, 1, 0, FtdfRxMeta12Reg_SPEC, crate::common::R> {
6996 crate::common::RegisterFieldBool::<6,1,0,FtdfRxMeta12Reg_SPEC,crate::common::R>::from_register(self,0)
6997 }
6998
6999 #[doc = "Rx meta data per entry: if set to \'1\', a destination Address error has occurred, applicable when frame is not discarded"]
7000 #[inline(always)]
7001 pub fn daddr_error(
7002 self,
7003 ) -> crate::common::RegisterFieldBool<5, 1, 0, FtdfRxMeta12Reg_SPEC, crate::common::R> {
7004 crate::common::RegisterFieldBool::<5,1,0,FtdfRxMeta12Reg_SPEC,crate::common::R>::from_register(self,0)
7005 }
7006
7007 #[doc = "Rx meta data per entry: if set to \'1\', a destination PAN ID error has occurred, applicable when frame is not discarded"]
7008 #[inline(always)]
7009 pub fn dpanid_error(
7010 self,
7011 ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfRxMeta12Reg_SPEC, crate::common::R> {
7012 crate::common::RegisterFieldBool::<4,1,0,FtdfRxMeta12Reg_SPEC,crate::common::R>::from_register(self,0)
7013 }
7014
7015 #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame version, applicable when frame is not discarded."]
7016 #[inline(always)]
7017 pub fn res_frm_version_error(
7018 self,
7019 ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfRxMeta12Reg_SPEC, crate::common::R> {
7020 crate::common::RegisterFieldBool::<3,1,0,FtdfRxMeta12Reg_SPEC,crate::common::R>::from_register(self,0)
7021 }
7022
7023 #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame type, applicable when frame is not discarded"]
7024 #[inline(always)]
7025 pub fn res_frm_type_error(
7026 self,
7027 ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfRxMeta12Reg_SPEC, crate::common::R> {
7028 crate::common::RegisterFieldBool::<2,1,0,FtdfRxMeta12Reg_SPEC,crate::common::R>::from_register(self,0)
7029 }
7030
7031 #[doc = "Rx meta data per entry: if set, a CRC error has occurred in this frame, applicable for transparent mode only"]
7032 #[inline(always)]
7033 pub fn crc16_error(
7034 self,
7035 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxMeta12Reg_SPEC, crate::common::R> {
7036 crate::common::RegisterFieldBool::<0,1,0,FtdfRxMeta12Reg_SPEC,crate::common::R>::from_register(self,0)
7037 }
7038}
7039impl ::core::default::Default for FtdfRxMeta12Reg {
7040 #[inline(always)]
7041 fn default() -> FtdfRxMeta12Reg {
7042 <crate::RegValueT<FtdfRxMeta12Reg_SPEC> as RegisterValue<_>>::new(0)
7043 }
7044}
7045
7046#[doc(hidden)]
7047#[derive(Copy, Clone, Eq, PartialEq)]
7048pub struct FtdfRxMeta13Reg_SPEC;
7049impl crate::sealed::RegSpec for FtdfRxMeta13Reg_SPEC {
7050 type DataType = u32;
7051}
7052
7053#[doc = "Receive metadata register 3"]
7054pub type FtdfRxMeta13Reg = crate::RegValueT<FtdfRxMeta13Reg_SPEC>;
7055
7056impl FtdfRxMeta13Reg {
7057 #[doc = "Rx meta data per entry: the Link Quality Indication value during reception of this frame.\n\n# $software_scratch@retention_ram\n# TX ram not used by hardware, can be used by software as scratch ram with retention."]
7058 #[inline(always)]
7059 pub fn quality_indicator(
7060 self,
7061 ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, FtdfRxMeta13Reg_SPEC, crate::common::R>
7062 {
7063 crate::common::RegisterField::<8,0xff,1,0,u8,u8,FtdfRxMeta13Reg_SPEC,crate::common::R>::from_register(self,0)
7064 }
7065
7066 #[doc = "Rx meta data per entry: if set to \'1\', the received frame is not for PAN coordinator, applicable when frame is not discarded"]
7067 #[inline(always)]
7068 pub fn ispanid_coord_error(
7069 self,
7070 ) -> crate::common::RegisterFieldBool<7, 1, 0, FtdfRxMeta13Reg_SPEC, crate::common::R> {
7071 crate::common::RegisterFieldBool::<7,1,0,FtdfRxMeta13Reg_SPEC,crate::common::R>::from_register(self,0)
7072 }
7073
7074 #[doc = "Rx meta data per entry: if set to \'1\', a PAN ID error has occurred, applicable when frame is not discarded"]
7075 #[inline(always)]
7076 pub fn spanid_error(
7077 self,
7078 ) -> crate::common::RegisterFieldBool<6, 1, 0, FtdfRxMeta13Reg_SPEC, crate::common::R> {
7079 crate::common::RegisterFieldBool::<6,1,0,FtdfRxMeta13Reg_SPEC,crate::common::R>::from_register(self,0)
7080 }
7081
7082 #[doc = "Rx meta data per entry: if set to \'1\', a destination Address error has occurred, applicable when frame is not discarded"]
7083 #[inline(always)]
7084 pub fn daddr_error(
7085 self,
7086 ) -> crate::common::RegisterFieldBool<5, 1, 0, FtdfRxMeta13Reg_SPEC, crate::common::R> {
7087 crate::common::RegisterFieldBool::<5,1,0,FtdfRxMeta13Reg_SPEC,crate::common::R>::from_register(self,0)
7088 }
7089
7090 #[doc = "Rx meta data per entry: if set to \'1\', a destination PAN ID error has occurred, applicable when frame is not discarded"]
7091 #[inline(always)]
7092 pub fn dpanid_error(
7093 self,
7094 ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfRxMeta13Reg_SPEC, crate::common::R> {
7095 crate::common::RegisterFieldBool::<4,1,0,FtdfRxMeta13Reg_SPEC,crate::common::R>::from_register(self,0)
7096 }
7097
7098 #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame version, applicable when frame is not discarded."]
7099 #[inline(always)]
7100 pub fn res_frm_version_error(
7101 self,
7102 ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfRxMeta13Reg_SPEC, crate::common::R> {
7103 crate::common::RegisterFieldBool::<3,1,0,FtdfRxMeta13Reg_SPEC,crate::common::R>::from_register(self,0)
7104 }
7105
7106 #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame type, applicable when frame is not discarded"]
7107 #[inline(always)]
7108 pub fn res_frm_type_error(
7109 self,
7110 ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfRxMeta13Reg_SPEC, crate::common::R> {
7111 crate::common::RegisterFieldBool::<2,1,0,FtdfRxMeta13Reg_SPEC,crate::common::R>::from_register(self,0)
7112 }
7113
7114 #[doc = "Rx meta data per entry: if set, a CRC error has occurred in this frame, applicable for transparent mode only"]
7115 #[inline(always)]
7116 pub fn crc16_error(
7117 self,
7118 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxMeta13Reg_SPEC, crate::common::R> {
7119 crate::common::RegisterFieldBool::<0,1,0,FtdfRxMeta13Reg_SPEC,crate::common::R>::from_register(self,0)
7120 }
7121}
7122impl ::core::default::Default for FtdfRxMeta13Reg {
7123 #[inline(always)]
7124 fn default() -> FtdfRxMeta13Reg {
7125 <crate::RegValueT<FtdfRxMeta13Reg_SPEC> as RegisterValue<_>>::new(0)
7126 }
7127}
7128
7129#[doc(hidden)]
7130#[derive(Copy, Clone, Eq, PartialEq)]
7131pub struct FtdfRxMeta14Reg_SPEC;
7132impl crate::sealed::RegSpec for FtdfRxMeta14Reg_SPEC {
7133 type DataType = u32;
7134}
7135
7136#[doc = "Receive metadata register 4"]
7137pub type FtdfRxMeta14Reg = crate::RegValueT<FtdfRxMeta14Reg_SPEC>;
7138
7139impl FtdfRxMeta14Reg {
7140 #[doc = "Rx meta data per entry: the Link Quality Indication value during reception of this frame.\n\n# $software_scratch@retention_ram\n# TX ram not used by hardware, can be used by software as scratch ram with retention."]
7141 #[inline(always)]
7142 pub fn quality_indicator(
7143 self,
7144 ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, FtdfRxMeta14Reg_SPEC, crate::common::R>
7145 {
7146 crate::common::RegisterField::<8,0xff,1,0,u8,u8,FtdfRxMeta14Reg_SPEC,crate::common::R>::from_register(self,0)
7147 }
7148
7149 #[doc = "Rx meta data per entry: if set to \'1\', the received frame is not for PAN coordinator, applicable when frame is not discarded"]
7150 #[inline(always)]
7151 pub fn ispanid_coord_error(
7152 self,
7153 ) -> crate::common::RegisterFieldBool<7, 1, 0, FtdfRxMeta14Reg_SPEC, crate::common::R> {
7154 crate::common::RegisterFieldBool::<7,1,0,FtdfRxMeta14Reg_SPEC,crate::common::R>::from_register(self,0)
7155 }
7156
7157 #[doc = "Rx meta data per entry: if set to \'1\', a PAN ID error has occurred, applicable when frame is not discarded"]
7158 #[inline(always)]
7159 pub fn spanid_error(
7160 self,
7161 ) -> crate::common::RegisterFieldBool<6, 1, 0, FtdfRxMeta14Reg_SPEC, crate::common::R> {
7162 crate::common::RegisterFieldBool::<6,1,0,FtdfRxMeta14Reg_SPEC,crate::common::R>::from_register(self,0)
7163 }
7164
7165 #[doc = "Rx meta data per entry: if set to \'1\', a destination Address error has occurred, applicable when frame is not discarded"]
7166 #[inline(always)]
7167 pub fn daddr_error(
7168 self,
7169 ) -> crate::common::RegisterFieldBool<5, 1, 0, FtdfRxMeta14Reg_SPEC, crate::common::R> {
7170 crate::common::RegisterFieldBool::<5,1,0,FtdfRxMeta14Reg_SPEC,crate::common::R>::from_register(self,0)
7171 }
7172
7173 #[doc = "Rx meta data per entry: if set to \'1\', a destination PAN ID error has occurred, applicable when frame is not discarded"]
7174 #[inline(always)]
7175 pub fn dpanid_error(
7176 self,
7177 ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfRxMeta14Reg_SPEC, crate::common::R> {
7178 crate::common::RegisterFieldBool::<4,1,0,FtdfRxMeta14Reg_SPEC,crate::common::R>::from_register(self,0)
7179 }
7180
7181 #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame version, applicable when frame is not discarded."]
7182 #[inline(always)]
7183 pub fn res_frm_version_error(
7184 self,
7185 ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfRxMeta14Reg_SPEC, crate::common::R> {
7186 crate::common::RegisterFieldBool::<3,1,0,FtdfRxMeta14Reg_SPEC,crate::common::R>::from_register(self,0)
7187 }
7188
7189 #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame type, applicable when frame is not discarded"]
7190 #[inline(always)]
7191 pub fn res_frm_type_error(
7192 self,
7193 ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfRxMeta14Reg_SPEC, crate::common::R> {
7194 crate::common::RegisterFieldBool::<2,1,0,FtdfRxMeta14Reg_SPEC,crate::common::R>::from_register(self,0)
7195 }
7196
7197 #[doc = "Rx meta data per entry: if set, a CRC error has occurred in this frame, applicable for transparent mode only"]
7198 #[inline(always)]
7199 pub fn crc16_error(
7200 self,
7201 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxMeta14Reg_SPEC, crate::common::R> {
7202 crate::common::RegisterFieldBool::<0,1,0,FtdfRxMeta14Reg_SPEC,crate::common::R>::from_register(self,0)
7203 }
7204}
7205impl ::core::default::Default for FtdfRxMeta14Reg {
7206 #[inline(always)]
7207 fn default() -> FtdfRxMeta14Reg {
7208 <crate::RegValueT<FtdfRxMeta14Reg_SPEC> as RegisterValue<_>>::new(0)
7209 }
7210}
7211
7212#[doc(hidden)]
7213#[derive(Copy, Clone, Eq, PartialEq)]
7214pub struct FtdfRxMeta15Reg_SPEC;
7215impl crate::sealed::RegSpec for FtdfRxMeta15Reg_SPEC {
7216 type DataType = u32;
7217}
7218
7219#[doc = "Receive metadata register 5"]
7220pub type FtdfRxMeta15Reg = crate::RegValueT<FtdfRxMeta15Reg_SPEC>;
7221
7222impl FtdfRxMeta15Reg {
7223 #[doc = "Rx meta data per entry: the Link Quality Indication value during reception of this frame.\n\n# $software_scratch@retention_ram\n# TX ram not used by hardware, can be used by software as scratch ram with retention."]
7224 #[inline(always)]
7225 pub fn quality_indicator(
7226 self,
7227 ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, FtdfRxMeta15Reg_SPEC, crate::common::R>
7228 {
7229 crate::common::RegisterField::<8,0xff,1,0,u8,u8,FtdfRxMeta15Reg_SPEC,crate::common::R>::from_register(self,0)
7230 }
7231
7232 #[doc = "Rx meta data per entry: if set to \'1\', the received frame is not for PAN coordinator, applicable when frame is not discarded"]
7233 #[inline(always)]
7234 pub fn ispanid_coord_error(
7235 self,
7236 ) -> crate::common::RegisterFieldBool<7, 1, 0, FtdfRxMeta15Reg_SPEC, crate::common::R> {
7237 crate::common::RegisterFieldBool::<7,1,0,FtdfRxMeta15Reg_SPEC,crate::common::R>::from_register(self,0)
7238 }
7239
7240 #[doc = "Rx meta data per entry: if set to \'1\', a PAN ID error has occurred, applicable when frame is not discarded"]
7241 #[inline(always)]
7242 pub fn spanid_error(
7243 self,
7244 ) -> crate::common::RegisterFieldBool<6, 1, 0, FtdfRxMeta15Reg_SPEC, crate::common::R> {
7245 crate::common::RegisterFieldBool::<6,1,0,FtdfRxMeta15Reg_SPEC,crate::common::R>::from_register(self,0)
7246 }
7247
7248 #[doc = "Rx meta data per entry: if set to \'1\', a destination Address error has occurred, applicable when frame is not discarded"]
7249 #[inline(always)]
7250 pub fn daddr_error(
7251 self,
7252 ) -> crate::common::RegisterFieldBool<5, 1, 0, FtdfRxMeta15Reg_SPEC, crate::common::R> {
7253 crate::common::RegisterFieldBool::<5,1,0,FtdfRxMeta15Reg_SPEC,crate::common::R>::from_register(self,0)
7254 }
7255
7256 #[doc = "Rx meta data per entry: if set to \'1\', a destination PAN ID error has occurred, applicable when frame is not discarded"]
7257 #[inline(always)]
7258 pub fn dpanid_error(
7259 self,
7260 ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfRxMeta15Reg_SPEC, crate::common::R> {
7261 crate::common::RegisterFieldBool::<4,1,0,FtdfRxMeta15Reg_SPEC,crate::common::R>::from_register(self,0)
7262 }
7263
7264 #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame version, applicable when frame is not discarded."]
7265 #[inline(always)]
7266 pub fn res_frm_version_error(
7267 self,
7268 ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfRxMeta15Reg_SPEC, crate::common::R> {
7269 crate::common::RegisterFieldBool::<3,1,0,FtdfRxMeta15Reg_SPEC,crate::common::R>::from_register(self,0)
7270 }
7271
7272 #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame type, applicable when frame is not discarded"]
7273 #[inline(always)]
7274 pub fn res_frm_type_error(
7275 self,
7276 ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfRxMeta15Reg_SPEC, crate::common::R> {
7277 crate::common::RegisterFieldBool::<2,1,0,FtdfRxMeta15Reg_SPEC,crate::common::R>::from_register(self,0)
7278 }
7279
7280 #[doc = "Rx meta data per entry: if set, a CRC error has occurred in this frame, applicable for transparent mode only"]
7281 #[inline(always)]
7282 pub fn crc16_error(
7283 self,
7284 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxMeta15Reg_SPEC, crate::common::R> {
7285 crate::common::RegisterFieldBool::<0,1,0,FtdfRxMeta15Reg_SPEC,crate::common::R>::from_register(self,0)
7286 }
7287}
7288impl ::core::default::Default for FtdfRxMeta15Reg {
7289 #[inline(always)]
7290 fn default() -> FtdfRxMeta15Reg {
7291 <crate::RegValueT<FtdfRxMeta15Reg_SPEC> as RegisterValue<_>>::new(0)
7292 }
7293}
7294
7295#[doc(hidden)]
7296#[derive(Copy, Clone, Eq, PartialEq)]
7297pub struct FtdfRxMeta16Reg_SPEC;
7298impl crate::sealed::RegSpec for FtdfRxMeta16Reg_SPEC {
7299 type DataType = u32;
7300}
7301
7302#[doc = "Receive metadata register 6"]
7303pub type FtdfRxMeta16Reg = crate::RegValueT<FtdfRxMeta16Reg_SPEC>;
7304
7305impl FtdfRxMeta16Reg {
7306 #[doc = "Rx meta data per entry: the Link Quality Indication value during reception of this frame.\n\n# $software_scratch@retention_ram\n# TX ram not used by hardware, can be used by software as scratch ram with retention."]
7307 #[inline(always)]
7308 pub fn quality_indicator(
7309 self,
7310 ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, FtdfRxMeta16Reg_SPEC, crate::common::R>
7311 {
7312 crate::common::RegisterField::<8,0xff,1,0,u8,u8,FtdfRxMeta16Reg_SPEC,crate::common::R>::from_register(self,0)
7313 }
7314
7315 #[doc = "Rx meta data per entry: if set to \'1\', the received frame is not for PAN coordinator, applicable when frame is not discarded"]
7316 #[inline(always)]
7317 pub fn ispanid_coord_error(
7318 self,
7319 ) -> crate::common::RegisterFieldBool<7, 1, 0, FtdfRxMeta16Reg_SPEC, crate::common::R> {
7320 crate::common::RegisterFieldBool::<7,1,0,FtdfRxMeta16Reg_SPEC,crate::common::R>::from_register(self,0)
7321 }
7322
7323 #[doc = "Rx meta data per entry: if set to \'1\', a PAN ID error has occurred, applicable when frame is not discarded"]
7324 #[inline(always)]
7325 pub fn spanid_error(
7326 self,
7327 ) -> crate::common::RegisterFieldBool<6, 1, 0, FtdfRxMeta16Reg_SPEC, crate::common::R> {
7328 crate::common::RegisterFieldBool::<6,1,0,FtdfRxMeta16Reg_SPEC,crate::common::R>::from_register(self,0)
7329 }
7330
7331 #[doc = "Rx meta data per entry: if set to \'1\', a destination Address error has occurred, applicable when frame is not discarded"]
7332 #[inline(always)]
7333 pub fn daddr_error(
7334 self,
7335 ) -> crate::common::RegisterFieldBool<5, 1, 0, FtdfRxMeta16Reg_SPEC, crate::common::R> {
7336 crate::common::RegisterFieldBool::<5,1,0,FtdfRxMeta16Reg_SPEC,crate::common::R>::from_register(self,0)
7337 }
7338
7339 #[doc = "Rx meta data per entry: if set to \'1\', a destination PAN ID error has occurred, applicable when frame is not discarded"]
7340 #[inline(always)]
7341 pub fn dpanid_error(
7342 self,
7343 ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfRxMeta16Reg_SPEC, crate::common::R> {
7344 crate::common::RegisterFieldBool::<4,1,0,FtdfRxMeta16Reg_SPEC,crate::common::R>::from_register(self,0)
7345 }
7346
7347 #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame version, applicable when frame is not discarded."]
7348 #[inline(always)]
7349 pub fn res_frm_version_error(
7350 self,
7351 ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfRxMeta16Reg_SPEC, crate::common::R> {
7352 crate::common::RegisterFieldBool::<3,1,0,FtdfRxMeta16Reg_SPEC,crate::common::R>::from_register(self,0)
7353 }
7354
7355 #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame type, applicable when frame is not discarded"]
7356 #[inline(always)]
7357 pub fn res_frm_type_error(
7358 self,
7359 ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfRxMeta16Reg_SPEC, crate::common::R> {
7360 crate::common::RegisterFieldBool::<2,1,0,FtdfRxMeta16Reg_SPEC,crate::common::R>::from_register(self,0)
7361 }
7362
7363 #[doc = "Rx meta data per entry: if set, a CRC error has occurred in this frame, applicable for transparent mode only"]
7364 #[inline(always)]
7365 pub fn crc16_error(
7366 self,
7367 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxMeta16Reg_SPEC, crate::common::R> {
7368 crate::common::RegisterFieldBool::<0,1,0,FtdfRxMeta16Reg_SPEC,crate::common::R>::from_register(self,0)
7369 }
7370}
7371impl ::core::default::Default for FtdfRxMeta16Reg {
7372 #[inline(always)]
7373 fn default() -> FtdfRxMeta16Reg {
7374 <crate::RegValueT<FtdfRxMeta16Reg_SPEC> as RegisterValue<_>>::new(0)
7375 }
7376}
7377
7378#[doc(hidden)]
7379#[derive(Copy, Clone, Eq, PartialEq)]
7380pub struct FtdfRxMeta17Reg_SPEC;
7381impl crate::sealed::RegSpec for FtdfRxMeta17Reg_SPEC {
7382 type DataType = u32;
7383}
7384
7385#[doc = "Receive metadata register 7"]
7386pub type FtdfRxMeta17Reg = crate::RegValueT<FtdfRxMeta17Reg_SPEC>;
7387
7388impl FtdfRxMeta17Reg {
7389 #[doc = "Rx meta data per entry: the Link Quality Indication value during reception of this frame.\n\n# $software_scratch@retention_ram\n# TX ram not used by hardware, can be used by software as scratch ram with retention."]
7390 #[inline(always)]
7391 pub fn quality_indicator(
7392 self,
7393 ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, FtdfRxMeta17Reg_SPEC, crate::common::R>
7394 {
7395 crate::common::RegisterField::<8,0xff,1,0,u8,u8,FtdfRxMeta17Reg_SPEC,crate::common::R>::from_register(self,0)
7396 }
7397
7398 #[doc = "Rx meta data per entry: if set to \'1\', the received frame is not for PAN coordinator, applicable when frame is not discarded"]
7399 #[inline(always)]
7400 pub fn ispanid_coord_error(
7401 self,
7402 ) -> crate::common::RegisterFieldBool<7, 1, 0, FtdfRxMeta17Reg_SPEC, crate::common::R> {
7403 crate::common::RegisterFieldBool::<7,1,0,FtdfRxMeta17Reg_SPEC,crate::common::R>::from_register(self,0)
7404 }
7405
7406 #[doc = "Rx meta data per entry: if set to \'1\', a PAN ID error has occurred, applicable when frame is not discarded"]
7407 #[inline(always)]
7408 pub fn spanid_error(
7409 self,
7410 ) -> crate::common::RegisterFieldBool<6, 1, 0, FtdfRxMeta17Reg_SPEC, crate::common::R> {
7411 crate::common::RegisterFieldBool::<6,1,0,FtdfRxMeta17Reg_SPEC,crate::common::R>::from_register(self,0)
7412 }
7413
7414 #[doc = "Rx meta data per entry: if set to \'1\', a destination Address error has occurred, applicable when frame is not discarded"]
7415 #[inline(always)]
7416 pub fn daddr_error(
7417 self,
7418 ) -> crate::common::RegisterFieldBool<5, 1, 0, FtdfRxMeta17Reg_SPEC, crate::common::R> {
7419 crate::common::RegisterFieldBool::<5,1,0,FtdfRxMeta17Reg_SPEC,crate::common::R>::from_register(self,0)
7420 }
7421
7422 #[doc = "Rx meta data per entry: if set to \'1\', a destination PAN ID error has occurred, applicable when frame is not discarded"]
7423 #[inline(always)]
7424 pub fn dpanid_error(
7425 self,
7426 ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfRxMeta17Reg_SPEC, crate::common::R> {
7427 crate::common::RegisterFieldBool::<4,1,0,FtdfRxMeta17Reg_SPEC,crate::common::R>::from_register(self,0)
7428 }
7429
7430 #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame version, applicable when frame is not discarded."]
7431 #[inline(always)]
7432 pub fn res_frm_version_error(
7433 self,
7434 ) -> crate::common::RegisterFieldBool<3, 1, 0, FtdfRxMeta17Reg_SPEC, crate::common::R> {
7435 crate::common::RegisterFieldBool::<3,1,0,FtdfRxMeta17Reg_SPEC,crate::common::R>::from_register(self,0)
7436 }
7437
7438 #[doc = "Rx meta data per entry: if set to \'1\' this frame is a not supported frame type, applicable when frame is not discarded"]
7439 #[inline(always)]
7440 pub fn res_frm_type_error(
7441 self,
7442 ) -> crate::common::RegisterFieldBool<2, 1, 0, FtdfRxMeta17Reg_SPEC, crate::common::R> {
7443 crate::common::RegisterFieldBool::<2,1,0,FtdfRxMeta17Reg_SPEC,crate::common::R>::from_register(self,0)
7444 }
7445
7446 #[doc = "Rx meta data per entry: if set, a CRC error has occurred in this frame, applicable for transparent mode only"]
7447 #[inline(always)]
7448 pub fn crc16_error(
7449 self,
7450 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxMeta17Reg_SPEC, crate::common::R> {
7451 crate::common::RegisterFieldBool::<0,1,0,FtdfRxMeta17Reg_SPEC,crate::common::R>::from_register(self,0)
7452 }
7453}
7454impl ::core::default::Default for FtdfRxMeta17Reg {
7455 #[inline(always)]
7456 fn default() -> FtdfRxMeta17Reg {
7457 <crate::RegValueT<FtdfRxMeta17Reg_SPEC> as RegisterValue<_>>::new(0)
7458 }
7459}
7460
7461#[doc(hidden)]
7462#[derive(Copy, Clone, Eq, PartialEq)]
7463pub struct FtdfRxStatusDeltaReg_SPEC;
7464impl crate::sealed::RegSpec for FtdfRxStatusDeltaReg_SPEC {
7465 type DataType = u32;
7466}
7467
7468#[doc = "Receive status delta register"]
7469pub type FtdfRxStatusDeltaReg = crate::RegValueT<FtdfRxStatusDeltaReg_SPEC>;
7470
7471impl FtdfRxStatusDeltaReg {
7472 #[doc = "Delta bit of status rx_buff_is_full.\nThis delta bit is set to \'1\' on each change of this status, contributes to ftdf_ce\\[1\\]."]
7473 #[inline(always)]
7474 pub fn rx_buff_is_full_d(
7475 self,
7476 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxStatusDeltaReg_SPEC, crate::common::RW>
7477 {
7478 crate::common::RegisterFieldBool::<0,1,0,FtdfRxStatusDeltaReg_SPEC,crate::common::RW>::from_register(self,0)
7479 }
7480}
7481impl ::core::default::Default for FtdfRxStatusDeltaReg {
7482 #[inline(always)]
7483 fn default() -> FtdfRxStatusDeltaReg {
7484 <crate::RegValueT<FtdfRxStatusDeltaReg_SPEC> as RegisterValue<_>>::new(0)
7485 }
7486}
7487
7488#[doc(hidden)]
7489#[derive(Copy, Clone, Eq, PartialEq)]
7490pub struct FtdfRxStatusMaskReg_SPEC;
7491impl crate::sealed::RegSpec for FtdfRxStatusMaskReg_SPEC {
7492 type DataType = u32;
7493}
7494
7495#[doc = "Receive status delta mask register"]
7496pub type FtdfRxStatusMaskReg = crate::RegValueT<FtdfRxStatusMaskReg_SPEC>;
7497
7498impl FtdfRxStatusMaskReg {
7499 #[doc = "Mask bit for delta bit rx_buff_is_full_d\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
7500 #[inline(always)]
7501 pub fn rx_buff_is_full_m(
7502 self,
7503 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxStatusMaskReg_SPEC, crate::common::RW>
7504 {
7505 crate::common::RegisterFieldBool::<0,1,0,FtdfRxStatusMaskReg_SPEC,crate::common::RW>::from_register(self,0)
7506 }
7507}
7508impl ::core::default::Default for FtdfRxStatusMaskReg {
7509 #[inline(always)]
7510 fn default() -> FtdfRxStatusMaskReg {
7511 <crate::RegValueT<FtdfRxStatusMaskReg_SPEC> as RegisterValue<_>>::new(0)
7512 }
7513}
7514
7515#[doc(hidden)]
7516#[derive(Copy, Clone, Eq, PartialEq)]
7517pub struct FtdfRxStatusReg_SPEC;
7518impl crate::sealed::RegSpec for FtdfRxStatusReg_SPEC {
7519 type DataType = u32;
7520}
7521
7522#[doc = "Receive status register"]
7523pub type FtdfRxStatusReg = crate::RegValueT<FtdfRxStatusReg_SPEC>;
7524
7525impl FtdfRxStatusReg {
7526 #[doc = "Indication where new data will be written.\nAll four bits shall be used when using these pointer values (0d - 15d).\nHowever, the Receive Packet buffer has a size of 8 entries.\nSo reading the Receive Packet buffer entries shall use the mod8 of the pointer values."]
7527 #[inline(always)]
7528 pub fn rx_write_buf_ptr(
7529 self,
7530 ) -> crate::common::RegisterField<1, 0xf, 1, 0, u8, u8, FtdfRxStatusReg_SPEC, crate::common::R>
7531 {
7532 crate::common::RegisterField::<1,0xf,1,0,u8,u8,FtdfRxStatusReg_SPEC,crate::common::R>::from_register(self,0)
7533 }
7534
7535 #[doc = "If set to \'1\', it indicates that the Rx packet buffer is full"]
7536 #[inline(always)]
7537 pub fn rx_buff_is_full(
7538 self,
7539 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfRxStatusReg_SPEC, crate::common::R> {
7540 crate::common::RegisterFieldBool::<0,1,0,FtdfRxStatusReg_SPEC,crate::common::R>::from_register(self,0)
7541 }
7542}
7543impl ::core::default::Default for FtdfRxStatusReg {
7544 #[inline(always)]
7545 fn default() -> FtdfRxStatusReg {
7546 <crate::RegValueT<FtdfRxStatusReg_SPEC> as RegisterValue<_>>::new(0)
7547 }
7548}
7549
7550#[doc(hidden)]
7551#[derive(Copy, Clone, Eq, PartialEq)]
7552pub struct FtdfSeckey0Reg_SPEC;
7553impl crate::sealed::RegSpec for FtdfSeckey0Reg_SPEC {
7554 type DataType = u32;
7555}
7556
7557#[doc = "Seckey register"]
7558pub type FtdfSeckey0Reg = crate::RegValueT<FtdfSeckey0Reg_SPEC>;
7559
7560impl FtdfSeckey0Reg {
7561 #[doc = "Encryption/decryption mode: Registers secKey\\[0..3\\] contain the key to be used."]
7562 #[inline(always)]
7563 pub fn seckey_0(
7564 self,
7565 ) -> crate::common::RegisterField<
7566 0,
7567 0xffffffff,
7568 1,
7569 0,
7570 u32,
7571 u32,
7572 FtdfSeckey0Reg_SPEC,
7573 crate::common::RW,
7574 > {
7575 crate::common::RegisterField::<
7576 0,
7577 0xffffffff,
7578 1,
7579 0,
7580 u32,
7581 u32,
7582 FtdfSeckey0Reg_SPEC,
7583 crate::common::RW,
7584 >::from_register(self, 0)
7585 }
7586}
7587impl ::core::default::Default for FtdfSeckey0Reg {
7588 #[inline(always)]
7589 fn default() -> FtdfSeckey0Reg {
7590 <crate::RegValueT<FtdfSeckey0Reg_SPEC> as RegisterValue<_>>::new(0)
7591 }
7592}
7593
7594#[doc(hidden)]
7595#[derive(Copy, Clone, Eq, PartialEq)]
7596pub struct FtdfSeckey1Reg_SPEC;
7597impl crate::sealed::RegSpec for FtdfSeckey1Reg_SPEC {
7598 type DataType = u32;
7599}
7600
7601#[doc = "Seckey register"]
7602pub type FtdfSeckey1Reg = crate::RegValueT<FtdfSeckey1Reg_SPEC>;
7603
7604impl FtdfSeckey1Reg {
7605 #[doc = "Encryption/decryption mode: see register secKey_0"]
7606 #[inline(always)]
7607 pub fn seckey_1(
7608 self,
7609 ) -> crate::common::RegisterField<
7610 0,
7611 0xffffffff,
7612 1,
7613 0,
7614 u32,
7615 u32,
7616 FtdfSeckey1Reg_SPEC,
7617 crate::common::RW,
7618 > {
7619 crate::common::RegisterField::<
7620 0,
7621 0xffffffff,
7622 1,
7623 0,
7624 u32,
7625 u32,
7626 FtdfSeckey1Reg_SPEC,
7627 crate::common::RW,
7628 >::from_register(self, 0)
7629 }
7630}
7631impl ::core::default::Default for FtdfSeckey1Reg {
7632 #[inline(always)]
7633 fn default() -> FtdfSeckey1Reg {
7634 <crate::RegValueT<FtdfSeckey1Reg_SPEC> as RegisterValue<_>>::new(0)
7635 }
7636}
7637
7638#[doc(hidden)]
7639#[derive(Copy, Clone, Eq, PartialEq)]
7640pub struct FtdfSeckey2Reg_SPEC;
7641impl crate::sealed::RegSpec for FtdfSeckey2Reg_SPEC {
7642 type DataType = u32;
7643}
7644
7645#[doc = "SecKey register"]
7646pub type FtdfSeckey2Reg = crate::RegValueT<FtdfSeckey2Reg_SPEC>;
7647
7648impl FtdfSeckey2Reg {
7649 #[doc = "Encryption/decryption mode: see register secKey_0"]
7650 #[inline(always)]
7651 pub fn seckey_2(
7652 self,
7653 ) -> crate::common::RegisterField<
7654 0,
7655 0xffffffff,
7656 1,
7657 0,
7658 u32,
7659 u32,
7660 FtdfSeckey2Reg_SPEC,
7661 crate::common::RW,
7662 > {
7663 crate::common::RegisterField::<
7664 0,
7665 0xffffffff,
7666 1,
7667 0,
7668 u32,
7669 u32,
7670 FtdfSeckey2Reg_SPEC,
7671 crate::common::RW,
7672 >::from_register(self, 0)
7673 }
7674}
7675impl ::core::default::Default for FtdfSeckey2Reg {
7676 #[inline(always)]
7677 fn default() -> FtdfSeckey2Reg {
7678 <crate::RegValueT<FtdfSeckey2Reg_SPEC> as RegisterValue<_>>::new(0)
7679 }
7680}
7681
7682#[doc(hidden)]
7683#[derive(Copy, Clone, Eq, PartialEq)]
7684pub struct FtdfSeckey3Reg_SPEC;
7685impl crate::sealed::RegSpec for FtdfSeckey3Reg_SPEC {
7686 type DataType = u32;
7687}
7688
7689#[doc = "Seckey register"]
7690pub type FtdfSeckey3Reg = crate::RegValueT<FtdfSeckey3Reg_SPEC>;
7691
7692impl FtdfSeckey3Reg {
7693 #[doc = "Encryption/decryption mode: see register secKey_0"]
7694 #[inline(always)]
7695 pub fn seckey_3(
7696 self,
7697 ) -> crate::common::RegisterField<
7698 0,
7699 0xffffffff,
7700 1,
7701 0,
7702 u32,
7703 u32,
7704 FtdfSeckey3Reg_SPEC,
7705 crate::common::RW,
7706 > {
7707 crate::common::RegisterField::<
7708 0,
7709 0xffffffff,
7710 1,
7711 0,
7712 u32,
7713 u32,
7714 FtdfSeckey3Reg_SPEC,
7715 crate::common::RW,
7716 >::from_register(self, 0)
7717 }
7718}
7719impl ::core::default::Default for FtdfSeckey3Reg {
7720 #[inline(always)]
7721 fn default() -> FtdfSeckey3Reg {
7722 <crate::RegValueT<FtdfSeckey3Reg_SPEC> as RegisterValue<_>>::new(0)
7723 }
7724}
7725
7726#[doc(hidden)]
7727#[derive(Copy, Clone, Eq, PartialEq)]
7728pub struct FtdfSecnonce0Reg_SPEC;
7729impl crate::sealed::RegSpec for FtdfSecnonce0Reg_SPEC {
7730 type DataType = u32;
7731}
7732
7733#[doc = "Nonce register used for encryption/decryption"]
7734pub type FtdfSecnonce0Reg = crate::RegValueT<FtdfSecnonce0Reg_SPEC>;
7735
7736impl FtdfSecnonce0Reg {
7737 #[doc = "Encryption/decryption mode: register secNonce\\[0..3\\] contains the Nonce to be used for encryption/decryption."]
7738 #[inline(always)]
7739 pub fn secnonce_0(
7740 self,
7741 ) -> crate::common::RegisterField<
7742 0,
7743 0xffffffff,
7744 1,
7745 0,
7746 u32,
7747 u32,
7748 FtdfSecnonce0Reg_SPEC,
7749 crate::common::RW,
7750 > {
7751 crate::common::RegisterField::<
7752 0,
7753 0xffffffff,
7754 1,
7755 0,
7756 u32,
7757 u32,
7758 FtdfSecnonce0Reg_SPEC,
7759 crate::common::RW,
7760 >::from_register(self, 0)
7761 }
7762}
7763impl ::core::default::Default for FtdfSecnonce0Reg {
7764 #[inline(always)]
7765 fn default() -> FtdfSecnonce0Reg {
7766 <crate::RegValueT<FtdfSecnonce0Reg_SPEC> as RegisterValue<_>>::new(0)
7767 }
7768}
7769
7770#[doc(hidden)]
7771#[derive(Copy, Clone, Eq, PartialEq)]
7772pub struct FtdfSecnonce1Reg_SPEC;
7773impl crate::sealed::RegSpec for FtdfSecnonce1Reg_SPEC {
7774 type DataType = u32;
7775}
7776
7777#[doc = "Nonce register used for encryption/decryption"]
7778pub type FtdfSecnonce1Reg = crate::RegValueT<FtdfSecnonce1Reg_SPEC>;
7779
7780impl FtdfSecnonce1Reg {
7781 #[doc = "Encryption/decryption mode: see register Nonce_0"]
7782 #[inline(always)]
7783 pub fn secnonce_1(
7784 self,
7785 ) -> crate::common::RegisterField<
7786 0,
7787 0xffffffff,
7788 1,
7789 0,
7790 u32,
7791 u32,
7792 FtdfSecnonce1Reg_SPEC,
7793 crate::common::RW,
7794 > {
7795 crate::common::RegisterField::<
7796 0,
7797 0xffffffff,
7798 1,
7799 0,
7800 u32,
7801 u32,
7802 FtdfSecnonce1Reg_SPEC,
7803 crate::common::RW,
7804 >::from_register(self, 0)
7805 }
7806}
7807impl ::core::default::Default for FtdfSecnonce1Reg {
7808 #[inline(always)]
7809 fn default() -> FtdfSecnonce1Reg {
7810 <crate::RegValueT<FtdfSecnonce1Reg_SPEC> as RegisterValue<_>>::new(0)
7811 }
7812}
7813
7814#[doc(hidden)]
7815#[derive(Copy, Clone, Eq, PartialEq)]
7816pub struct FtdfSecnonce2Reg_SPEC;
7817impl crate::sealed::RegSpec for FtdfSecnonce2Reg_SPEC {
7818 type DataType = u32;
7819}
7820
7821#[doc = "Nonce register used for encryption/decryption"]
7822pub type FtdfSecnonce2Reg = crate::RegValueT<FtdfSecnonce2Reg_SPEC>;
7823
7824impl FtdfSecnonce2Reg {
7825 #[doc = "Encryption/decryption mode: see register Nonce_0"]
7826 #[inline(always)]
7827 pub fn secnonce_2(
7828 self,
7829 ) -> crate::common::RegisterField<
7830 0,
7831 0xffffffff,
7832 1,
7833 0,
7834 u32,
7835 u32,
7836 FtdfSecnonce2Reg_SPEC,
7837 crate::common::RW,
7838 > {
7839 crate::common::RegisterField::<
7840 0,
7841 0xffffffff,
7842 1,
7843 0,
7844 u32,
7845 u32,
7846 FtdfSecnonce2Reg_SPEC,
7847 crate::common::RW,
7848 >::from_register(self, 0)
7849 }
7850}
7851impl ::core::default::Default for FtdfSecnonce2Reg {
7852 #[inline(always)]
7853 fn default() -> FtdfSecnonce2Reg {
7854 <crate::RegValueT<FtdfSecnonce2Reg_SPEC> as RegisterValue<_>>::new(0)
7855 }
7856}
7857
7858#[doc(hidden)]
7859#[derive(Copy, Clone, Eq, PartialEq)]
7860pub struct FtdfSecnonce3Reg_SPEC;
7861impl crate::sealed::RegSpec for FtdfSecnonce3Reg_SPEC {
7862 type DataType = u32;
7863}
7864
7865#[doc = "Nonce register used for encryption/decryption"]
7866pub type FtdfSecnonce3Reg = crate::RegValueT<FtdfSecnonce3Reg_SPEC>;
7867
7868impl FtdfSecnonce3Reg {
7869 #[doc = "Encryption/decryption mode: see register Nonce_0"]
7870 #[inline(always)]
7871 pub fn secnonce_3(
7872 self,
7873 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, FtdfSecnonce3Reg_SPEC, crate::common::RW>
7874 {
7875 crate::common::RegisterField::<
7876 0,
7877 0xff,
7878 1,
7879 0,
7880 u8,
7881 u8,
7882 FtdfSecnonce3Reg_SPEC,
7883 crate::common::RW,
7884 >::from_register(self, 0)
7885 }
7886}
7887impl ::core::default::Default for FtdfSecnonce3Reg {
7888 #[inline(always)]
7889 fn default() -> FtdfSecnonce3Reg {
7890 <crate::RegValueT<FtdfSecnonce3Reg_SPEC> as RegisterValue<_>>::new(0)
7891 }
7892}
7893
7894#[doc(hidden)]
7895#[derive(Copy, Clone, Eq, PartialEq)]
7896pub struct FtdfSecurity0Reg_SPEC;
7897impl crate::sealed::RegSpec for FtdfSecurity0Reg_SPEC {
7898 type DataType = u32;
7899}
7900
7901#[doc = "Security register"]
7902pub type FtdfSecurity0Reg = crate::RegValueT<FtdfSecurity0Reg_SPEC>;
7903
7904impl FtdfSecurity0Reg {
7905 #[doc = "Encryption/decryption mode: the control register secEncDecn indicates whether to encrypt (\'1\') or decrypt (\'0\') the data."]
7906 #[inline(always)]
7907 pub fn secencdecn(
7908 self,
7909 ) -> crate::common::RegisterFieldBool<31, 1, 0, FtdfSecurity0Reg_SPEC, crate::common::RW> {
7910 crate::common::RegisterFieldBool::<31,1,0,FtdfSecurity0Reg_SPEC,crate::common::RW>::from_register(self,0)
7911 }
7912
7913 #[doc = "Encryption/decryption mode: the length of the m_data is indicated by control register secMlength (in bytes)."]
7914 #[inline(always)]
7915 pub fn secmlength(
7916 self,
7917 ) -> crate::common::RegisterField<
7918 24,
7919 0x7f,
7920 1,
7921 0,
7922 u8,
7923 u8,
7924 FtdfSecurity0Reg_SPEC,
7925 crate::common::RW,
7926 > {
7927 crate::common::RegisterField::<
7928 24,
7929 0x7f,
7930 1,
7931 0,
7932 u8,
7933 u8,
7934 FtdfSecurity0Reg_SPEC,
7935 crate::common::RW,
7936 >::from_register(self, 0)
7937 }
7938
7939 #[doc = "Encryption/decryption mode: the length of the a_data is indicated by control register secAlength (in bytes).\nThe end of the a_data is the start point of the m_data. So secAlength must also be set if security level==4."]
7940 #[inline(always)]
7941 pub fn secalength(
7942 self,
7943 ) -> crate::common::RegisterField<
7944 16,
7945 0x7f,
7946 1,
7947 0,
7948 u8,
7949 u8,
7950 FtdfSecurity0Reg_SPEC,
7951 crate::common::RW,
7952 > {
7953 crate::common::RegisterField::<
7954 16,
7955 0x7f,
7956 1,
7957 0,
7958 u8,
7959 u8,
7960 FtdfSecurity0Reg_SPEC,
7961 crate::common::RW,
7962 >::from_register(self, 0)
7963 }
7964
7965 #[doc = "Encryption/decryption mode: the software indicates by the control registers secEntry and secTxRxn which entry to use and if it\'s from the Tx or Rx buffer (\'1\' resp. \'0\')."]
7966 #[inline(always)]
7967 pub fn secentry(
7968 self,
7969 ) -> crate::common::RegisterField<8, 0xf, 1, 0, u8, u8, FtdfSecurity0Reg_SPEC, crate::common::RW>
7970 {
7971 crate::common::RegisterField::<8,0xf,1,0,u8,u8,FtdfSecurity0Reg_SPEC,crate::common::RW>::from_register(self,0)
7972 }
7973
7974 #[doc = "Encryption/decryption mode: see register secEntry."]
7975 #[inline(always)]
7976 pub fn sectxrxn(
7977 self,
7978 ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfSecurity0Reg_SPEC, crate::common::RW> {
7979 crate::common::RegisterFieldBool::<1,1,0,FtdfSecurity0Reg_SPEC,crate::common::RW>::from_register(self,0)
7980 }
7981}
7982impl ::core::default::Default for FtdfSecurity0Reg {
7983 #[inline(always)]
7984 fn default() -> FtdfSecurity0Reg {
7985 <crate::RegValueT<FtdfSecurity0Reg_SPEC> as RegisterValue<_>>::new(0)
7986 }
7987}
7988
7989#[doc(hidden)]
7990#[derive(Copy, Clone, Eq, PartialEq)]
7991pub struct FtdfSecurity1Reg_SPEC;
7992impl crate::sealed::RegSpec for FtdfSecurity1Reg_SPEC {
7993 type DataType = u32;
7994}
7995
7996#[doc = "Security register"]
7997pub type FtdfSecurity1Reg = crate::RegValueT<FtdfSecurity1Reg_SPEC>;
7998
7999impl FtdfSecurity1Reg {
8000 #[doc = "Encryption/decryption mode: register secEncrFlags contains the encryption flags field.\nBits \\[2:0\\] are the 3-bit encoding flags of a_data, the other bits msut be set to \'0\'."]
8001 #[inline(always)]
8002 pub fn secencrflags(
8003 self,
8004 ) -> crate::common::RegisterField<8, 0xff, 1, 0, u8, u8, FtdfSecurity1Reg_SPEC, crate::common::RW>
8005 {
8006 crate::common::RegisterField::<
8007 8,
8008 0xff,
8009 1,
8010 0,
8011 u8,
8012 u8,
8013 FtdfSecurity1Reg_SPEC,
8014 crate::common::RW,
8015 >::from_register(self, 0)
8016 }
8017
8018 #[doc = "Encryption/decryption mode: register secAuthFlags contains the authentication flags fields.\nbit\\[7\\] is \'0\'\nbit\\[6\\] is A_data present\nbit\\[5:3\\]: 3-bit security level of m_data\nbit\\[2:0\\]: 3-bit security level of a_data."]
8019 #[inline(always)]
8020 pub fn secauthflags(
8021 self,
8022 ) -> crate::common::RegisterField<0, 0xff, 1, 0, u8, u8, FtdfSecurity1Reg_SPEC, crate::common::RW>
8023 {
8024 crate::common::RegisterField::<
8025 0,
8026 0xff,
8027 1,
8028 0,
8029 u8,
8030 u8,
8031 FtdfSecurity1Reg_SPEC,
8032 crate::common::RW,
8033 >::from_register(self, 0)
8034 }
8035}
8036impl ::core::default::Default for FtdfSecurity1Reg {
8037 #[inline(always)]
8038 fn default() -> FtdfSecurity1Reg {
8039 <crate::RegValueT<FtdfSecurity1Reg_SPEC> as RegisterValue<_>>::new(0)
8040 }
8041}
8042
8043#[doc(hidden)]
8044#[derive(Copy, Clone, Eq, PartialEq)]
8045pub struct FtdfSecurityEventmaskReg_SPEC;
8046impl crate::sealed::RegSpec for FtdfSecurityEventmaskReg_SPEC {
8047 type DataType = u32;
8048}
8049
8050#[doc = "security event mask register"]
8051pub type FtdfSecurityEventmaskReg = crate::RegValueT<FtdfSecurityEventmaskReg_SPEC>;
8052
8053impl FtdfSecurityEventmaskReg {
8054 #[doc = "Mask bit for event secReady_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
8055 #[inline(always)]
8056 pub fn secready_m(
8057 self,
8058 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfSecurityEventmaskReg_SPEC, crate::common::RW>
8059 {
8060 crate::common::RegisterFieldBool::<0,1,0,FtdfSecurityEventmaskReg_SPEC,crate::common::RW>::from_register(self,0)
8061 }
8062}
8063impl ::core::default::Default for FtdfSecurityEventmaskReg {
8064 #[inline(always)]
8065 fn default() -> FtdfSecurityEventmaskReg {
8066 <crate::RegValueT<FtdfSecurityEventmaskReg_SPEC> as RegisterValue<_>>::new(0)
8067 }
8068}
8069
8070#[doc(hidden)]
8071#[derive(Copy, Clone, Eq, PartialEq)]
8072pub struct FtdfSecurityEventReg_SPEC;
8073impl crate::sealed::RegSpec for FtdfSecurityEventReg_SPEC {
8074 type DataType = u32;
8075}
8076
8077#[doc = "security event register"]
8078pub type FtdfSecurityEventReg = crate::RegValueT<FtdfSecurityEventReg_SPEC>;
8079
8080impl FtdfSecurityEventReg {
8081 #[doc = "Encryption/decryption mode: the Event bit secReady_e is set to \'1\' when the authentication process is ready (i.e. secBusy is cleared).\nThis event bit contributes to ftdf_ce\\[3\\]."]
8082 #[inline(always)]
8083 pub fn secready_e(
8084 self,
8085 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfSecurityEventReg_SPEC, crate::common::RW>
8086 {
8087 crate::common::RegisterFieldBool::<0,1,0,FtdfSecurityEventReg_SPEC,crate::common::RW>::from_register(self,0)
8088 }
8089}
8090impl ::core::default::Default for FtdfSecurityEventReg {
8091 #[inline(always)]
8092 fn default() -> FtdfSecurityEventReg {
8093 <crate::RegValueT<FtdfSecurityEventReg_SPEC> as RegisterValue<_>>::new(0)
8094 }
8095}
8096
8097#[doc(hidden)]
8098#[derive(Copy, Clone, Eq, PartialEq)]
8099pub struct FtdfSecurityOsReg_SPEC;
8100impl crate::sealed::RegSpec for FtdfSecurityOsReg_SPEC {
8101 type DataType = u32;
8102}
8103
8104#[doc = "One shot register to start encryption/decryption"]
8105pub type FtdfSecurityOsReg = crate::RegValueT<FtdfSecurityOsReg_SPEC>;
8106
8107impl FtdfSecurityOsReg {
8108 #[doc = "Encryption/decryption mode: one_shot register to start the encryption, decryption and authentication support task."]
8109 #[inline(always)]
8110 pub fn secstart(
8111 self,
8112 ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfSecurityOsReg_SPEC, crate::common::W> {
8113 crate::common::RegisterFieldBool::<1,1,0,FtdfSecurityOsReg_SPEC,crate::common::W>::from_register(self,0)
8114 }
8115
8116 #[doc = "Encryption/decryption mode: see register Nonce_0"]
8117 #[inline(always)]
8118 pub fn secabort(
8119 self,
8120 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfSecurityOsReg_SPEC, crate::common::W> {
8121 crate::common::RegisterFieldBool::<0,1,0,FtdfSecurityOsReg_SPEC,crate::common::W>::from_register(self,0)
8122 }
8123}
8124impl ::core::default::Default for FtdfSecurityOsReg {
8125 #[inline(always)]
8126 fn default() -> FtdfSecurityOsReg {
8127 <crate::RegValueT<FtdfSecurityOsReg_SPEC> as RegisterValue<_>>::new(0)
8128 }
8129}
8130
8131#[doc(hidden)]
8132#[derive(Copy, Clone, Eq, PartialEq)]
8133pub struct FtdfSecurityStatusReg_SPEC;
8134impl crate::sealed::RegSpec for FtdfSecurityStatusReg_SPEC {
8135 type DataType = u32;
8136}
8137
8138#[doc = "Security status register"]
8139pub type FtdfSecurityStatusReg = crate::RegValueT<FtdfSecurityStatusReg_SPEC>;
8140
8141impl FtdfSecurityStatusReg {
8142 #[doc = "Encryption/decryption mode: in case of decryption, the status bit secAuthFail will be set when the authentication has failed."]
8143 #[inline(always)]
8144 pub fn secauthfail(
8145 self,
8146 ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfSecurityStatusReg_SPEC, crate::common::R>
8147 {
8148 crate::common::RegisterFieldBool::<1,1,0,FtdfSecurityStatusReg_SPEC,crate::common::R>::from_register(self,0)
8149 }
8150
8151 #[doc = "Encryption/decryption mode: register secBusy indicates if the encryption/decryption process is still running."]
8152 #[inline(always)]
8153 pub fn secbusy(
8154 self,
8155 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfSecurityStatusReg_SPEC, crate::common::R>
8156 {
8157 crate::common::RegisterFieldBool::<0,1,0,FtdfSecurityStatusReg_SPEC,crate::common::R>::from_register(self,0)
8158 }
8159}
8160impl ::core::default::Default for FtdfSecurityStatusReg {
8161 #[inline(always)]
8162 fn default() -> FtdfSecurityStatusReg {
8163 <crate::RegValueT<FtdfSecurityStatusReg_SPEC> as RegisterValue<_>>::new(0)
8164 }
8165}
8166
8167#[doc(hidden)]
8168#[derive(Copy, Clone, Eq, PartialEq)]
8169pub struct FtdfSizeAndVal0Reg_SPEC;
8170impl crate::sealed::RegSpec for FtdfSizeAndVal0Reg_SPEC {
8171 type DataType = u32;
8172}
8173
8174pub type FtdfSizeAndVal0Reg = crate::RegValueT<FtdfSizeAndVal0Reg_SPEC>;
8175
8176impl FtdfSizeAndVal0Reg {
8177 #[doc = "A \'1\' indicates that Exp_SA contains four short SA\'s, a \'0\' indicates one long SA."]
8178 #[inline(always)]
8179 pub fn short_longnot(
8180 self,
8181 ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfSizeAndVal0Reg_SPEC, crate::common::RW> {
8182 crate::common::RegisterFieldBool::<4,1,0,FtdfSizeAndVal0Reg_SPEC,crate::common::RW>::from_register(self,0)
8183 }
8184
8185 #[doc = "Indication which SA entry is valid (if set). In case of 4 short SA Valid bit 3 belongs to SA entry 3 etc.\nIn case of a long SA Valid bit 0 is the valid indication."]
8186 #[inline(always)]
8187 pub fn valid_sa(
8188 self,
8189 ) -> crate::common::RegisterField<
8190 0,
8191 0xf,
8192 1,
8193 0,
8194 u8,
8195 u8,
8196 FtdfSizeAndVal0Reg_SPEC,
8197 crate::common::RW,
8198 > {
8199 crate::common::RegisterField::<
8200 0,
8201 0xf,
8202 1,
8203 0,
8204 u8,
8205 u8,
8206 FtdfSizeAndVal0Reg_SPEC,
8207 crate::common::RW,
8208 >::from_register(self, 0)
8209 }
8210}
8211impl ::core::default::Default for FtdfSizeAndVal0Reg {
8212 #[inline(always)]
8213 fn default() -> FtdfSizeAndVal0Reg {
8214 <crate::RegValueT<FtdfSizeAndVal0Reg_SPEC> as RegisterValue<_>>::new(0)
8215 }
8216}
8217
8218#[doc(hidden)]
8219#[derive(Copy, Clone, Eq, PartialEq)]
8220pub struct FtdfSymboltime2ThrReg_SPEC;
8221impl crate::sealed::RegSpec for FtdfSymboltime2ThrReg_SPEC {
8222 type DataType = u32;
8223}
8224
8225#[doc = "Symboltime threshold register 2"]
8226pub type FtdfSymboltime2ThrReg = crate::RegValueT<FtdfSymboltime2ThrReg_SPEC>;
8227
8228impl FtdfSymboltime2ThrReg {
8229 #[doc = "Symboltime 2 Threshold to generate a general interrupt when this value matches the symbol counter value."]
8230 #[inline(always)]
8231 pub fn symboltime2thr(
8232 self,
8233 ) -> crate::common::RegisterField<
8234 0,
8235 0xffffffff,
8236 1,
8237 0,
8238 u32,
8239 u32,
8240 FtdfSymboltime2ThrReg_SPEC,
8241 crate::common::RW,
8242 > {
8243 crate::common::RegisterField::<
8244 0,
8245 0xffffffff,
8246 1,
8247 0,
8248 u32,
8249 u32,
8250 FtdfSymboltime2ThrReg_SPEC,
8251 crate::common::RW,
8252 >::from_register(self, 0)
8253 }
8254}
8255impl ::core::default::Default for FtdfSymboltime2ThrReg {
8256 #[inline(always)]
8257 fn default() -> FtdfSymboltime2ThrReg {
8258 <crate::RegValueT<FtdfSymboltime2ThrReg_SPEC> as RegisterValue<_>>::new(0)
8259 }
8260}
8261
8262#[doc(hidden)]
8263#[derive(Copy, Clone, Eq, PartialEq)]
8264pub struct FtdfSymboltimesnapshotvalReg_SPEC;
8265impl crate::sealed::RegSpec for FtdfSymboltimesnapshotvalReg_SPEC {
8266 type DataType = u32;
8267}
8268
8269#[doc = "Value timestamp generator"]
8270pub type FtdfSymboltimesnapshotvalReg = crate::RegValueT<FtdfSymboltimesnapshotvalReg_SPEC>;
8271
8272impl FtdfSymboltimesnapshotvalReg {
8273 #[doc = "The Status register SymbolTimeSnapshotVal indicates the actual value of the TimeStamp generator.\nThis can be useful for software to use e.g. in CSL mode at creating an Enhanced ACK to calculate the CSL phase and period."]
8274 #[inline(always)]
8275 pub fn symboltimesnapshotval(
8276 self,
8277 ) -> crate::common::RegisterField<
8278 0,
8279 0xffffffff,
8280 1,
8281 0,
8282 u32,
8283 u32,
8284 FtdfSymboltimesnapshotvalReg_SPEC,
8285 crate::common::R,
8286 > {
8287 crate::common::RegisterField::<
8288 0,
8289 0xffffffff,
8290 1,
8291 0,
8292 u32,
8293 u32,
8294 FtdfSymboltimesnapshotvalReg_SPEC,
8295 crate::common::R,
8296 >::from_register(self, 0)
8297 }
8298}
8299impl ::core::default::Default for FtdfSymboltimesnapshotvalReg {
8300 #[inline(always)]
8301 fn default() -> FtdfSymboltimesnapshotvalReg {
8302 <crate::RegValueT<FtdfSymboltimesnapshotvalReg_SPEC> as RegisterValue<_>>::new(0)
8303 }
8304}
8305
8306#[doc(hidden)]
8307#[derive(Copy, Clone, Eq, PartialEq)]
8308pub struct FtdfSymboltimethrReg_SPEC;
8309impl crate::sealed::RegSpec for FtdfSymboltimethrReg_SPEC {
8310 type DataType = u32;
8311}
8312
8313#[doc = "Symboltime threshold register 1"]
8314pub type FtdfSymboltimethrReg = crate::RegValueT<FtdfSymboltimethrReg_SPEC>;
8315
8316impl FtdfSymboltimethrReg {
8317 #[doc = "Symboltime Threshold to generate a general interrupt when this value matches the symbol counter value."]
8318 #[inline(always)]
8319 pub fn symboltimethr(
8320 self,
8321 ) -> crate::common::RegisterField<
8322 0,
8323 0xffffffff,
8324 1,
8325 0,
8326 u32,
8327 u32,
8328 FtdfSymboltimethrReg_SPEC,
8329 crate::common::RW,
8330 > {
8331 crate::common::RegisterField::<
8332 0,
8333 0xffffffff,
8334 1,
8335 0,
8336 u32,
8337 u32,
8338 FtdfSymboltimethrReg_SPEC,
8339 crate::common::RW,
8340 >::from_register(self, 0)
8341 }
8342}
8343impl ::core::default::Default for FtdfSymboltimethrReg {
8344 #[inline(always)]
8345 fn default() -> FtdfSymboltimethrReg {
8346 <crate::RegValueT<FtdfSymboltimethrReg_SPEC> as RegisterValue<_>>::new(0)
8347 }
8348}
8349
8350#[doc(hidden)]
8351#[derive(Copy, Clone, Eq, PartialEq)]
8352pub struct FtdfSynctimestampphasevalReg_SPEC;
8353impl crate::sealed::RegSpec for FtdfSynctimestampphasevalReg_SPEC {
8354 type DataType = u32;
8355}
8356
8357#[doc = "Timestamp phase value regsiter"]
8358pub type FtdfSynctimestampphasevalReg = crate::RegValueT<FtdfSynctimestampphasevalReg_SPEC>;
8359
8360impl FtdfSynctimestampphasevalReg {
8361 #[doc = "Value to synchronize the timestamp counter phase with at the moment indicated by SyncTimeStampThr.\nPlease note the +1 correction needed for most accurate result (+0.5 is than the average error, resulting is a just too fast clock)."]
8362 #[inline(always)]
8363 pub fn synctimestampphaseval(
8364 self,
8365 ) -> crate::common::RegisterField<
8366 0,
8367 0xff,
8368 1,
8369 0,
8370 u8,
8371 u8,
8372 FtdfSynctimestampphasevalReg_SPEC,
8373 crate::common::RW,
8374 > {
8375 crate::common::RegisterField::<
8376 0,
8377 0xff,
8378 1,
8379 0,
8380 u8,
8381 u8,
8382 FtdfSynctimestampphasevalReg_SPEC,
8383 crate::common::RW,
8384 >::from_register(self, 0)
8385 }
8386}
8387impl ::core::default::Default for FtdfSynctimestampphasevalReg {
8388 #[inline(always)]
8389 fn default() -> FtdfSynctimestampphasevalReg {
8390 <crate::RegValueT<FtdfSynctimestampphasevalReg_SPEC> as RegisterValue<_>>::new(0)
8391 }
8392}
8393
8394#[doc(hidden)]
8395#[derive(Copy, Clone, Eq, PartialEq)]
8396pub struct FtdfSynctimestampthrReg_SPEC;
8397impl crate::sealed::RegSpec for FtdfSynctimestampthrReg_SPEC {
8398 type DataType = u32;
8399}
8400
8401#[doc = "Threshold timestamp generator"]
8402pub type FtdfSynctimestampthrReg = crate::RegValueT<FtdfSynctimestampthrReg_SPEC>;
8403
8404impl FtdfSynctimestampthrReg {
8405 #[doc = "Threshold for synchronize the timestamp counter: at this value of the event counter the synchronization of the timestamp (symbol) counter is done (if SyncTimeStampEna is set to \'1\').\nIf SyncTimeStamp_e is set to \'1\' the synchronization has taken place."]
8406 #[inline(always)]
8407 pub fn synctimestampthr(
8408 self,
8409 ) -> crate::common::RegisterField<
8410 0,
8411 0x1ffffff,
8412 1,
8413 0,
8414 u32,
8415 u32,
8416 FtdfSynctimestampthrReg_SPEC,
8417 crate::common::RW,
8418 > {
8419 crate::common::RegisterField::<
8420 0,
8421 0x1ffffff,
8422 1,
8423 0,
8424 u32,
8425 u32,
8426 FtdfSynctimestampthrReg_SPEC,
8427 crate::common::RW,
8428 >::from_register(self, 0)
8429 }
8430}
8431impl ::core::default::Default for FtdfSynctimestampthrReg {
8432 #[inline(always)]
8433 fn default() -> FtdfSynctimestampthrReg {
8434 <crate::RegValueT<FtdfSynctimestampthrReg_SPEC> as RegisterValue<_>>::new(0)
8435 }
8436}
8437
8438#[doc(hidden)]
8439#[derive(Copy, Clone, Eq, PartialEq)]
8440pub struct FtdfSynctimestampvalReg_SPEC;
8441impl crate::sealed::RegSpec for FtdfSynctimestampvalReg_SPEC {
8442 type DataType = u32;
8443}
8444
8445#[doc = "Value timestamp generator"]
8446pub type FtdfSynctimestampvalReg = crate::RegValueT<FtdfSynctimestampvalReg_SPEC>;
8447
8448impl FtdfSynctimestampvalReg {
8449 #[doc = "Value to synchronize the timestamp counter with at the moment indicated by SyncTimeStampThr."]
8450 #[inline(always)]
8451 pub fn synctimestampval(
8452 self,
8453 ) -> crate::common::RegisterField<
8454 0,
8455 0xffffffff,
8456 1,
8457 0,
8458 u32,
8459 u32,
8460 FtdfSynctimestampvalReg_SPEC,
8461 crate::common::RW,
8462 > {
8463 crate::common::RegisterField::<
8464 0,
8465 0xffffffff,
8466 1,
8467 0,
8468 u32,
8469 u32,
8470 FtdfSynctimestampvalReg_SPEC,
8471 crate::common::RW,
8472 >::from_register(self, 0)
8473 }
8474}
8475impl ::core::default::Default for FtdfSynctimestampvalReg {
8476 #[inline(always)]
8477 fn default() -> FtdfSynctimestampvalReg {
8478 <crate::RegValueT<FtdfSynctimestampvalReg_SPEC> as RegisterValue<_>>::new(0)
8479 }
8480}
8481
8482#[doc(hidden)]
8483#[derive(Copy, Clone, Eq, PartialEq)]
8484pub struct FtdfTimerControl1Reg_SPEC;
8485impl crate::sealed::RegSpec for FtdfTimerControl1Reg_SPEC {
8486 type DataType = u32;
8487}
8488
8489#[doc = "Timer control register"]
8490pub type FtdfTimerControl1Reg = crate::RegValueT<FtdfTimerControl1Reg_SPEC>;
8491
8492impl FtdfTimerControl1Reg {
8493 #[doc = "If set to \'1\', the synchronization of the timestamp counter after a deep-sleep cycle will be performed when SyncTimeStampThr matches the value of the event (wake-up) counter."]
8494 #[inline(always)]
8495 pub fn synctimestampena(
8496 self,
8497 ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfTimerControl1Reg_SPEC, crate::common::RW>
8498 {
8499 crate::common::RegisterFieldBool::<1,1,0,FtdfTimerControl1Reg_SPEC,crate::common::RW>::from_register(self,0)
8500 }
8501}
8502impl ::core::default::Default for FtdfTimerControl1Reg {
8503 #[inline(always)]
8504 fn default() -> FtdfTimerControl1Reg {
8505 <crate::RegValueT<FtdfTimerControl1Reg_SPEC> as RegisterValue<_>>::new(0)
8506 }
8507}
8508
8509#[doc(hidden)]
8510#[derive(Copy, Clone, Eq, PartialEq)]
8511pub struct FtdfTimestampcurrphasevalReg_SPEC;
8512impl crate::sealed::RegSpec for FtdfTimestampcurrphasevalReg_SPEC {
8513 type DataType = u32;
8514}
8515
8516#[doc = "Value of timestamp generator phase within a symbol"]
8517pub type FtdfTimestampcurrphasevalReg = crate::RegValueT<FtdfTimestampcurrphasevalReg_SPEC>;
8518
8519impl FtdfTimestampcurrphasevalReg {
8520 #[doc = "Value of captured timestamp generator phase within a symbol (initiated by getGeneratorVal, valid when getGeneratorVal_e is set)"]
8521 #[inline(always)]
8522 pub fn timestampcurrphaseval(
8523 self,
8524 ) -> crate::common::RegisterField<
8525 0,
8526 0xff,
8527 1,
8528 0,
8529 u8,
8530 u8,
8531 FtdfTimestampcurrphasevalReg_SPEC,
8532 crate::common::R,
8533 > {
8534 crate::common::RegisterField::<
8535 0,
8536 0xff,
8537 1,
8538 0,
8539 u8,
8540 u8,
8541 FtdfTimestampcurrphasevalReg_SPEC,
8542 crate::common::R,
8543 >::from_register(self, 0)
8544 }
8545}
8546impl ::core::default::Default for FtdfTimestampcurrphasevalReg {
8547 #[inline(always)]
8548 fn default() -> FtdfTimestampcurrphasevalReg {
8549 <crate::RegValueT<FtdfTimestampcurrphasevalReg_SPEC> as RegisterValue<_>>::new(0)
8550 }
8551}
8552
8553#[doc(hidden)]
8554#[derive(Copy, Clone, Eq, PartialEq)]
8555pub struct FtdfTimestampcurrvalReg_SPEC;
8556impl crate::sealed::RegSpec for FtdfTimestampcurrvalReg_SPEC {
8557 type DataType = u32;
8558}
8559
8560#[doc = "Value of timestamp generator"]
8561pub type FtdfTimestampcurrvalReg = crate::RegValueT<FtdfTimestampcurrvalReg_SPEC>;
8562
8563impl FtdfTimestampcurrvalReg {
8564 #[doc = "The value of captured timestamp generator (symbol counter) (initiated by getGeneratorVal, valid when getGeneratorVal_e is set)"]
8565 #[inline(always)]
8566 pub fn timestampcurrval(
8567 self,
8568 ) -> crate::common::RegisterField<
8569 0,
8570 0xffffffff,
8571 1,
8572 0,
8573 u32,
8574 u32,
8575 FtdfTimestampcurrvalReg_SPEC,
8576 crate::common::R,
8577 > {
8578 crate::common::RegisterField::<
8579 0,
8580 0xffffffff,
8581 1,
8582 0,
8583 u32,
8584 u32,
8585 FtdfTimestampcurrvalReg_SPEC,
8586 crate::common::R,
8587 >::from_register(self, 0)
8588 }
8589}
8590impl ::core::default::Default for FtdfTimestampcurrvalReg {
8591 #[inline(always)]
8592 fn default() -> FtdfTimestampcurrvalReg {
8593 <crate::RegValueT<FtdfTimestampcurrvalReg_SPEC> as RegisterValue<_>>::new(0)
8594 }
8595}
8596
8597#[doc(hidden)]
8598#[derive(Copy, Clone, Eq, PartialEq)]
8599pub struct FtdfTschControl0Reg_SPEC;
8600impl crate::sealed::RegSpec for FtdfTschControl0Reg_SPEC {
8601 type DataType = u32;
8602}
8603
8604#[doc = "Lmac tsch control register"]
8605pub type FtdfTschControl0Reg = crate::RegValueT<FtdfTschControl0Reg_SPEC>;
8606
8607impl FtdfTschControl0Reg {
8608 #[doc = "TSCH mode: The times to wait for start of frame"]
8609 #[inline(always)]
8610 pub fn mactsrxwait(
8611 self,
8612 ) -> crate::common::RegisterField<
8613 16,
8614 0xffff,
8615 1,
8616 0,
8617 u16,
8618 u16,
8619 FtdfTschControl0Reg_SPEC,
8620 crate::common::RW,
8621 > {
8622 crate::common::RegisterField::<
8623 16,
8624 0xffff,
8625 1,
8626 0,
8627 u16,
8628 u16,
8629 FtdfTschControl0Reg_SPEC,
8630 crate::common::RW,
8631 >::from_register(self, 0)
8632 }
8633
8634 #[doc = "TSCH mode: the time between the end of a Rx frame and the start of an Enhanced Acknowlegde frame."]
8635 #[inline(always)]
8636 pub fn mactstxackdelay(
8637 self,
8638 ) -> crate::common::RegisterField<
8639 0,
8640 0xffff,
8641 1,
8642 0,
8643 u16,
8644 u16,
8645 FtdfTschControl0Reg_SPEC,
8646 crate::common::RW,
8647 > {
8648 crate::common::RegisterField::<
8649 0,
8650 0xffff,
8651 1,
8652 0,
8653 u16,
8654 u16,
8655 FtdfTschControl0Reg_SPEC,
8656 crate::common::RW,
8657 >::from_register(self, 0)
8658 }
8659}
8660impl ::core::default::Default for FtdfTschControl0Reg {
8661 #[inline(always)]
8662 fn default() -> FtdfTschControl0Reg {
8663 <crate::RegValueT<FtdfTschControl0Reg_SPEC> as RegisterValue<_>>::new(144180200)
8664 }
8665}
8666
8667#[doc(hidden)]
8668#[derive(Copy, Clone, Eq, PartialEq)]
8669pub struct FtdfTschControl1Reg_SPEC;
8670impl crate::sealed::RegSpec for FtdfTschControl1Reg_SPEC {
8671 type DataType = u32;
8672}
8673
8674#[doc = "Lmac tsch control register"]
8675pub type FtdfTschControl1Reg = crate::RegValueT<FtdfTschControl1Reg_SPEC>;
8676
8677impl FtdfTschControl1Reg {
8678 #[doc = "TSCH mode: The time between the CCA and the TX of a frame"]
8679 #[inline(always)]
8680 pub fn mactsrxtx(
8681 self,
8682 ) -> crate::common::RegisterField<
8683 0,
8684 0xffff,
8685 1,
8686 0,
8687 u16,
8688 u16,
8689 FtdfTschControl1Reg_SPEC,
8690 crate::common::RW,
8691 > {
8692 crate::common::RegisterField::<
8693 0,
8694 0xffff,
8695 1,
8696 0,
8697 u16,
8698 u16,
8699 FtdfTschControl1Reg_SPEC,
8700 crate::common::RW,
8701 >::from_register(self, 0)
8702 }
8703}
8704impl ::core::default::Default for FtdfTschControl1Reg {
8705 #[inline(always)]
8706 fn default() -> FtdfTschControl1Reg {
8707 <crate::RegValueT<FtdfTschControl1Reg_SPEC> as RegisterValue<_>>::new(192)
8708 }
8709}
8710
8711#[doc(hidden)]
8712#[derive(Copy, Clone, Eq, PartialEq)]
8713pub struct FtdfTschControl2Reg_SPEC;
8714impl crate::sealed::RegSpec for FtdfTschControl2Reg_SPEC {
8715 type DataType = u32;
8716}
8717
8718#[doc = "Lmac tsch control register"]
8719pub type FtdfTschControl2Reg = crate::RegValueT<FtdfTschControl2Reg_SPEC>;
8720
8721impl FtdfTschControl2Reg {
8722 #[doc = "TSCH mode: The minimum time to wait for start of an Acknowledgement"]
8723 #[inline(always)]
8724 pub fn mactsackwait(
8725 self,
8726 ) -> crate::common::RegisterField<
8727 16,
8728 0xffff,
8729 1,
8730 0,
8731 u16,
8732 u16,
8733 FtdfTschControl2Reg_SPEC,
8734 crate::common::RW,
8735 > {
8736 crate::common::RegisterField::<
8737 16,
8738 0xffff,
8739 1,
8740 0,
8741 u16,
8742 u16,
8743 FtdfTschControl2Reg_SPEC,
8744 crate::common::RW,
8745 >::from_register(self, 0)
8746 }
8747
8748 #[doc = "TSCH mode: End of frame to when the transmitter shall listen for Acknowledgement"]
8749 #[inline(always)]
8750 pub fn mactsrxackdelay(
8751 self,
8752 ) -> crate::common::RegisterField<
8753 0,
8754 0xffff,
8755 1,
8756 0,
8757 u16,
8758 u16,
8759 FtdfTschControl2Reg_SPEC,
8760 crate::common::RW,
8761 > {
8762 crate::common::RegisterField::<
8763 0,
8764 0xffff,
8765 1,
8766 0,
8767 u16,
8768 u16,
8769 FtdfTschControl2Reg_SPEC,
8770 crate::common::RW,
8771 >::from_register(self, 0)
8772 }
8773}
8774impl ::core::default::Default for FtdfTschControl2Reg {
8775 #[inline(always)]
8776 fn default() -> FtdfTschControl2Reg {
8777 <crate::RegValueT<FtdfTschControl2Reg_SPEC> as RegisterValue<_>>::new(26215200)
8778 }
8779}
8780
8781#[doc(hidden)]
8782#[derive(Copy, Clone, Eq, PartialEq)]
8783pub struct FtdfTxbyteEReg_SPEC;
8784impl crate::sealed::RegSpec for FtdfTxbyteEReg_SPEC {
8785 type DataType = u32;
8786}
8787
8788#[doc = "Transmit first byte register"]
8789pub type FtdfTxbyteEReg = crate::RegValueT<FtdfTxbyteEReg_SPEC>;
8790
8791impl FtdfTxbyteEReg {
8792 #[doc = "If set to \'1\', it indicates the last symbol of a frame is transmitted\nThis event bit contributes to ftdf_ce\\[4\\]."]
8793 #[inline(always)]
8794 pub fn tx_last_symbol_e(
8795 self,
8796 ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfTxbyteEReg_SPEC, crate::common::RW> {
8797 crate::common::RegisterFieldBool::<1,1,0,FtdfTxbyteEReg_SPEC,crate::common::RW>::from_register(self,0)
8798 }
8799
8800 #[doc = "If set to \'1\', it indicates the first byte of a frame is transmitted\nThis event bit contributes to ftdf_ce\\[4\\]."]
8801 #[inline(always)]
8802 pub fn txbyte_e(
8803 self,
8804 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxbyteEReg_SPEC, crate::common::RW> {
8805 crate::common::RegisterFieldBool::<0,1,0,FtdfTxbyteEReg_SPEC,crate::common::RW>::from_register(self,0)
8806 }
8807}
8808impl ::core::default::Default for FtdfTxbyteEReg {
8809 #[inline(always)]
8810 fn default() -> FtdfTxbyteEReg {
8811 <crate::RegValueT<FtdfTxbyteEReg_SPEC> as RegisterValue<_>>::new(0)
8812 }
8813}
8814
8815#[doc(hidden)]
8816#[derive(Copy, Clone, Eq, PartialEq)]
8817pub struct FtdfTxbyteMReg_SPEC;
8818impl crate::sealed::RegSpec for FtdfTxbyteMReg_SPEC {
8819 type DataType = u32;
8820}
8821
8822#[doc = "Transmit first byte mask register"]
8823pub type FtdfTxbyteMReg = crate::RegValueT<FtdfTxbyteMReg_SPEC>;
8824
8825impl FtdfTxbyteMReg {
8826 #[doc = "Mask bit for event tx_last_symbol_e.\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
8827 #[inline(always)]
8828 pub fn tx_last_symbol_m(
8829 self,
8830 ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfTxbyteMReg_SPEC, crate::common::RW> {
8831 crate::common::RegisterFieldBool::<1,1,0,FtdfTxbyteMReg_SPEC,crate::common::RW>::from_register(self,0)
8832 }
8833
8834 #[doc = "Mask bit for event txbyte_e.\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
8835 #[inline(always)]
8836 pub fn txbyte_m(
8837 self,
8838 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxbyteMReg_SPEC, crate::common::RW> {
8839 crate::common::RegisterFieldBool::<0,1,0,FtdfTxbyteMReg_SPEC,crate::common::RW>::from_register(self,0)
8840 }
8841}
8842impl ::core::default::Default for FtdfTxbyteMReg {
8843 #[inline(always)]
8844 fn default() -> FtdfTxbyteMReg {
8845 <crate::RegValueT<FtdfTxbyteMReg_SPEC> as RegisterValue<_>>::new(0)
8846 }
8847}
8848
8849#[doc(hidden)]
8850#[derive(Copy, Clone, Eq, PartialEq)]
8851pub struct FtdfTxpipepropdelayReg_SPEC;
8852impl crate::sealed::RegSpec for FtdfTxpipepropdelayReg_SPEC {
8853 type DataType = u32;
8854}
8855
8856#[doc = "Prop delay transmit register"]
8857pub type FtdfTxpipepropdelayReg = crate::RegValueT<FtdfTxpipepropdelayReg_SPEC>;
8858
8859impl FtdfTxpipepropdelayReg {
8860 #[doc = "Propagation delay (in us) of the tx pipe, between start of transmission (indicated by setting tx_flag_status) to the DPHY.\nThe reset value is 0 us, which is also the closest value to the real implementation figure."]
8861 #[inline(always)]
8862 pub fn txpipepropdelay(
8863 self,
8864 ) -> crate::common::RegisterField<
8865 0,
8866 0xff,
8867 1,
8868 0,
8869 u8,
8870 u8,
8871 FtdfTxpipepropdelayReg_SPEC,
8872 crate::common::RW,
8873 > {
8874 crate::common::RegisterField::<
8875 0,
8876 0xff,
8877 1,
8878 0,
8879 u8,
8880 u8,
8881 FtdfTxpipepropdelayReg_SPEC,
8882 crate::common::RW,
8883 >::from_register(self, 0)
8884 }
8885}
8886impl ::core::default::Default for FtdfTxpipepropdelayReg {
8887 #[inline(always)]
8888 fn default() -> FtdfTxpipepropdelayReg {
8889 <crate::RegValueT<FtdfTxpipepropdelayReg_SPEC> as RegisterValue<_>>::new(0)
8890 }
8891}
8892
8893#[doc(hidden)]
8894#[derive(Copy, Clone, Eq, PartialEq)]
8895pub struct FtdfTxClearOsReg_SPEC;
8896impl crate::sealed::RegSpec for FtdfTxClearOsReg_SPEC {
8897 type DataType = u32;
8898}
8899
8900#[doc = "One shot register to clear flag"]
8901pub type FtdfTxClearOsReg = crate::RegValueT<FtdfTxClearOsReg_SPEC>;
8902
8903impl FtdfTxClearOsReg {
8904 #[doc = "Tx meta data per entry: if set to \'1\', the tx_flag_stat will be cleared to \'0\'."]
8905 #[inline(always)]
8906 pub fn tx_flag_clear(
8907 self,
8908 ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, FtdfTxClearOsReg_SPEC, crate::common::W>
8909 {
8910 crate::common::RegisterField::<0,0xf,1,0,u8,u8,FtdfTxClearOsReg_SPEC,crate::common::W>::from_register(self,0)
8911 }
8912}
8913impl ::core::default::Default for FtdfTxClearOsReg {
8914 #[inline(always)]
8915 fn default() -> FtdfTxClearOsReg {
8916 <crate::RegValueT<FtdfTxClearOsReg_SPEC> as RegisterValue<_>>::new(0)
8917 }
8918}
8919
8920#[doc(hidden)]
8921#[derive(Copy, Clone, Eq, PartialEq)]
8922pub struct FtdfTxControl0Reg_SPEC;
8923impl crate::sealed::RegSpec for FtdfTxControl0Reg_SPEC {
8924 type DataType = u32;
8925}
8926
8927#[doc = "Transmit control register"]
8928pub type FtdfTxControl0Reg = crate::RegValueT<FtdfTxControl0Reg_SPEC>;
8929
8930impl FtdfTxControl0Reg {
8931 #[doc = "CSMA-CA: Maximum number of CSMA-CA backoffs (range 0-5)"]
8932 #[inline(always)]
8933 pub fn macmaxcsmabackoffs(
8934 self,
8935 ) -> crate::common::RegisterField<
8936 12,
8937 0x7,
8938 1,
8939 0,
8940 u8,
8941 u8,
8942 FtdfTxControl0Reg_SPEC,
8943 crate::common::RW,
8944 > {
8945 crate::common::RegisterField::<
8946 12,
8947 0x7,
8948 1,
8949 0,
8950 u8,
8951 u8,
8952 FtdfTxControl0Reg_SPEC,
8953 crate::common::RW,
8954 >::from_register(self, 0)
8955 }
8956
8957 #[doc = "CSMA-CA: Minimum Backoff Exponent (range 0-macMaxBE)"]
8958 #[inline(always)]
8959 pub fn macminbe(
8960 self,
8961 ) -> crate::common::RegisterField<8, 0xf, 1, 0, u8, u8, FtdfTxControl0Reg_SPEC, crate::common::RW>
8962 {
8963 crate::common::RegisterField::<
8964 8,
8965 0xf,
8966 1,
8967 0,
8968 u8,
8969 u8,
8970 FtdfTxControl0Reg_SPEC,
8971 crate::common::RW,
8972 >::from_register(self, 0)
8973 }
8974
8975 #[doc = "CSMA-CA: Maximum Backoff Exponent (range 3-8)"]
8976 #[inline(always)]
8977 pub fn macmaxbe(
8978 self,
8979 ) -> crate::common::RegisterField<4, 0xf, 1, 0, u8, u8, FtdfTxControl0Reg_SPEC, crate::common::RW>
8980 {
8981 crate::common::RegisterField::<
8982 4,
8983 0xf,
8984 1,
8985 0,
8986 u8,
8987 u8,
8988 FtdfTxControl0Reg_SPEC,
8989 crate::common::RW,
8990 >::from_register(self, 0)
8991 }
8992
8993 #[doc = "If set to \'1\', the MPDU octets pass transparently through the MAC in the transmit direction (for debug purpose)."]
8994 #[inline(always)]
8995 pub fn dbgtxtransparentmode(
8996 self,
8997 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxControl0Reg_SPEC, crate::common::RW> {
8998 crate::common::RegisterFieldBool::<0,1,0,FtdfTxControl0Reg_SPEC,crate::common::RW>::from_register(self,0)
8999 }
9000}
9001impl ::core::default::Default for FtdfTxControl0Reg {
9002 #[inline(always)]
9003 fn default() -> FtdfTxControl0Reg {
9004 <crate::RegValueT<FtdfTxControl0Reg_SPEC> as RegisterValue<_>>::new(17232)
9005 }
9006}
9007
9008#[doc(hidden)]
9009#[derive(Copy, Clone, Eq, PartialEq)]
9010pub struct FtdfTxFifo00Reg_SPEC;
9011impl crate::sealed::RegSpec for FtdfTxFifo00Reg_SPEC {
9012 type DataType = u32;
9013}
9014
9015#[doc = "Address transmit fifo 0"]
9016pub type FtdfTxFifo00Reg = crate::RegValueT<FtdfTxFifo00Reg_SPEC>;
9017
9018impl FtdfTxFifo00Reg {
9019 #[doc = "Transmit fifo buffer, contains 32 addresses per entry (32b x 32a = 128B). There are 4 entries supported.\nNote that, despite the name, this fifo is NOT retained when the LMAC is put into deep-sleep!"]
9020 #[inline(always)]
9021 pub fn tx_fifo(
9022 self,
9023 ) -> crate::common::RegisterField<
9024 0,
9025 0xffffffff,
9026 1,
9027 0,
9028 u32,
9029 u32,
9030 FtdfTxFifo00Reg_SPEC,
9031 crate::common::RW,
9032 > {
9033 crate::common::RegisterField::<
9034 0,
9035 0xffffffff,
9036 1,
9037 0,
9038 u32,
9039 u32,
9040 FtdfTxFifo00Reg_SPEC,
9041 crate::common::RW,
9042 >::from_register(self, 0)
9043 }
9044}
9045impl ::core::default::Default for FtdfTxFifo00Reg {
9046 #[inline(always)]
9047 fn default() -> FtdfTxFifo00Reg {
9048 <crate::RegValueT<FtdfTxFifo00Reg_SPEC> as RegisterValue<_>>::new(0)
9049 }
9050}
9051
9052#[doc(hidden)]
9053#[derive(Copy, Clone, Eq, PartialEq)]
9054pub struct FtdfTxFifo10Reg_SPEC;
9055impl crate::sealed::RegSpec for FtdfTxFifo10Reg_SPEC {
9056 type DataType = u32;
9057}
9058
9059#[doc = "Address transmit fifo 1"]
9060pub type FtdfTxFifo10Reg = crate::RegValueT<FtdfTxFifo10Reg_SPEC>;
9061
9062impl FtdfTxFifo10Reg {
9063 #[doc = "Transmit fifo buffer, contains 32 addresses per entry (32b x 32a = 128B). There are 4 entries supported.\nNote that, despite the name, this fifo is NOT retained when the LMAC is put into deep-sleep!"]
9064 #[inline(always)]
9065 pub fn tx_fifo(
9066 self,
9067 ) -> crate::common::RegisterField<
9068 0,
9069 0xffffffff,
9070 1,
9071 0,
9072 u32,
9073 u32,
9074 FtdfTxFifo10Reg_SPEC,
9075 crate::common::RW,
9076 > {
9077 crate::common::RegisterField::<
9078 0,
9079 0xffffffff,
9080 1,
9081 0,
9082 u32,
9083 u32,
9084 FtdfTxFifo10Reg_SPEC,
9085 crate::common::RW,
9086 >::from_register(self, 0)
9087 }
9088}
9089impl ::core::default::Default for FtdfTxFifo10Reg {
9090 #[inline(always)]
9091 fn default() -> FtdfTxFifo10Reg {
9092 <crate::RegValueT<FtdfTxFifo10Reg_SPEC> as RegisterValue<_>>::new(0)
9093 }
9094}
9095
9096#[doc(hidden)]
9097#[derive(Copy, Clone, Eq, PartialEq)]
9098pub struct FtdfTxFifo20Reg_SPEC;
9099impl crate::sealed::RegSpec for FtdfTxFifo20Reg_SPEC {
9100 type DataType = u32;
9101}
9102
9103#[doc = "Address transmit fifo 2"]
9104pub type FtdfTxFifo20Reg = crate::RegValueT<FtdfTxFifo20Reg_SPEC>;
9105
9106impl FtdfTxFifo20Reg {
9107 #[doc = "Transmit fifo buffer, contains 32 addresses per entry (32b x 32a = 128B). There are 4 entries supported.\nNote that, despite the name, this fifo is NOT retained when the LMAC is put into deep-sleep!"]
9108 #[inline(always)]
9109 pub fn tx_fifo(
9110 self,
9111 ) -> crate::common::RegisterField<
9112 0,
9113 0xffffffff,
9114 1,
9115 0,
9116 u32,
9117 u32,
9118 FtdfTxFifo20Reg_SPEC,
9119 crate::common::RW,
9120 > {
9121 crate::common::RegisterField::<
9122 0,
9123 0xffffffff,
9124 1,
9125 0,
9126 u32,
9127 u32,
9128 FtdfTxFifo20Reg_SPEC,
9129 crate::common::RW,
9130 >::from_register(self, 0)
9131 }
9132}
9133impl ::core::default::Default for FtdfTxFifo20Reg {
9134 #[inline(always)]
9135 fn default() -> FtdfTxFifo20Reg {
9136 <crate::RegValueT<FtdfTxFifo20Reg_SPEC> as RegisterValue<_>>::new(0)
9137 }
9138}
9139
9140#[doc(hidden)]
9141#[derive(Copy, Clone, Eq, PartialEq)]
9142pub struct FtdfTxFifo30Reg_SPEC;
9143impl crate::sealed::RegSpec for FtdfTxFifo30Reg_SPEC {
9144 type DataType = u32;
9145}
9146
9147#[doc = "Address transmit fifo 3"]
9148pub type FtdfTxFifo30Reg = crate::RegValueT<FtdfTxFifo30Reg_SPEC>;
9149
9150impl FtdfTxFifo30Reg {
9151 #[doc = "Transmit fifo buffer, contains 32 addresses per entry (32b x 32a = 128B). There are 4 entries supported.\nNote that, despite the name, this fifo is NOT retained when the LMAC is put into deep-sleep!"]
9152 #[inline(always)]
9153 pub fn tx_fifo(
9154 self,
9155 ) -> crate::common::RegisterField<
9156 0,
9157 0xffffffff,
9158 1,
9159 0,
9160 u32,
9161 u32,
9162 FtdfTxFifo30Reg_SPEC,
9163 crate::common::RW,
9164 > {
9165 crate::common::RegisterField::<
9166 0,
9167 0xffffffff,
9168 1,
9169 0,
9170 u32,
9171 u32,
9172 FtdfTxFifo30Reg_SPEC,
9173 crate::common::RW,
9174 >::from_register(self, 0)
9175 }
9176}
9177impl ::core::default::Default for FtdfTxFifo30Reg {
9178 #[inline(always)]
9179 fn default() -> FtdfTxFifo30Reg {
9180 <crate::RegValueT<FtdfTxFifo30Reg_SPEC> as RegisterValue<_>>::new(0)
9181 }
9182}
9183
9184#[doc(hidden)]
9185#[derive(Copy, Clone, Eq, PartialEq)]
9186pub struct FtdfTxFlagClearE0Reg_SPEC;
9187impl crate::sealed::RegSpec for FtdfTxFlagClearE0Reg_SPEC {
9188 type DataType = u32;
9189}
9190
9191#[doc = "Clear flag register 0"]
9192pub type FtdfTxFlagClearE0Reg = crate::RegValueT<FtdfTxFlagClearE0Reg_SPEC>;
9193
9194impl FtdfTxFlagClearE0Reg {
9195 #[doc = "Tx meta data per entry: if set to \'1\' the LMAC hardware has cleared the tx_flag_stat status.\nThis event bit contributes to ftdf_ce\\[4\\]."]
9196 #[inline(always)]
9197 pub fn tx_flag_clear_e(
9198 self,
9199 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxFlagClearE0Reg_SPEC, crate::common::RW>
9200 {
9201 crate::common::RegisterFieldBool::<0,1,0,FtdfTxFlagClearE0Reg_SPEC,crate::common::RW>::from_register(self,0)
9202 }
9203}
9204impl ::core::default::Default for FtdfTxFlagClearE0Reg {
9205 #[inline(always)]
9206 fn default() -> FtdfTxFlagClearE0Reg {
9207 <crate::RegValueT<FtdfTxFlagClearE0Reg_SPEC> as RegisterValue<_>>::new(0)
9208 }
9209}
9210
9211#[doc(hidden)]
9212#[derive(Copy, Clone, Eq, PartialEq)]
9213pub struct FtdfTxFlagClearE1Reg_SPEC;
9214impl crate::sealed::RegSpec for FtdfTxFlagClearE1Reg_SPEC {
9215 type DataType = u32;
9216}
9217
9218#[doc = "Clear flag register 1"]
9219pub type FtdfTxFlagClearE1Reg = crate::RegValueT<FtdfTxFlagClearE1Reg_SPEC>;
9220
9221impl FtdfTxFlagClearE1Reg {
9222 #[doc = "Tx meta data per entry: if set to \'1\' the LMAC hardware has cleared the tx_flag_stat status.\nThis event bit contributes to ftdf_ce\\[4\\]."]
9223 #[inline(always)]
9224 pub fn tx_flag_clear_e(
9225 self,
9226 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxFlagClearE1Reg_SPEC, crate::common::RW>
9227 {
9228 crate::common::RegisterFieldBool::<0,1,0,FtdfTxFlagClearE1Reg_SPEC,crate::common::RW>::from_register(self,0)
9229 }
9230}
9231impl ::core::default::Default for FtdfTxFlagClearE1Reg {
9232 #[inline(always)]
9233 fn default() -> FtdfTxFlagClearE1Reg {
9234 <crate::RegValueT<FtdfTxFlagClearE1Reg_SPEC> as RegisterValue<_>>::new(0)
9235 }
9236}
9237
9238#[doc(hidden)]
9239#[derive(Copy, Clone, Eq, PartialEq)]
9240pub struct FtdfTxFlagClearE2Reg_SPEC;
9241impl crate::sealed::RegSpec for FtdfTxFlagClearE2Reg_SPEC {
9242 type DataType = u32;
9243}
9244
9245#[doc = "Clear flag register 2"]
9246pub type FtdfTxFlagClearE2Reg = crate::RegValueT<FtdfTxFlagClearE2Reg_SPEC>;
9247
9248impl FtdfTxFlagClearE2Reg {
9249 #[doc = "Tx meta data per entry: if set to \'1\' the LMAC hardware has cleared the tx_flag_stat status.\nThis event bit contributes to ftdf_ce\\[4\\]."]
9250 #[inline(always)]
9251 pub fn tx_flag_clear_e(
9252 self,
9253 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxFlagClearE2Reg_SPEC, crate::common::RW>
9254 {
9255 crate::common::RegisterFieldBool::<0,1,0,FtdfTxFlagClearE2Reg_SPEC,crate::common::RW>::from_register(self,0)
9256 }
9257}
9258impl ::core::default::Default for FtdfTxFlagClearE2Reg {
9259 #[inline(always)]
9260 fn default() -> FtdfTxFlagClearE2Reg {
9261 <crate::RegValueT<FtdfTxFlagClearE2Reg_SPEC> as RegisterValue<_>>::new(0)
9262 }
9263}
9264
9265#[doc(hidden)]
9266#[derive(Copy, Clone, Eq, PartialEq)]
9267pub struct FtdfTxFlagClearE3Reg_SPEC;
9268impl crate::sealed::RegSpec for FtdfTxFlagClearE3Reg_SPEC {
9269 type DataType = u32;
9270}
9271
9272#[doc = "Clear flag register 3"]
9273pub type FtdfTxFlagClearE3Reg = crate::RegValueT<FtdfTxFlagClearE3Reg_SPEC>;
9274
9275impl FtdfTxFlagClearE3Reg {
9276 #[doc = "Tx meta data per entry: if set to \'1\' the LMAC hardware has cleared the tx_flag_stat status.\nThis event bit contributes to ftdf_ce\\[4\\]."]
9277 #[inline(always)]
9278 pub fn tx_flag_clear_e(
9279 self,
9280 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxFlagClearE3Reg_SPEC, crate::common::RW>
9281 {
9282 crate::common::RegisterFieldBool::<0,1,0,FtdfTxFlagClearE3Reg_SPEC,crate::common::RW>::from_register(self,0)
9283 }
9284}
9285impl ::core::default::Default for FtdfTxFlagClearE3Reg {
9286 #[inline(always)]
9287 fn default() -> FtdfTxFlagClearE3Reg {
9288 <crate::RegValueT<FtdfTxFlagClearE3Reg_SPEC> as RegisterValue<_>>::new(0)
9289 }
9290}
9291
9292#[doc(hidden)]
9293#[derive(Copy, Clone, Eq, PartialEq)]
9294pub struct FtdfTxFlagClearM0Reg_SPEC;
9295impl crate::sealed::RegSpec for FtdfTxFlagClearM0Reg_SPEC {
9296 type DataType = u32;
9297}
9298
9299#[doc = "Mask flag register 0"]
9300pub type FtdfTxFlagClearM0Reg = crate::RegValueT<FtdfTxFlagClearM0Reg_SPEC>;
9301
9302impl FtdfTxFlagClearM0Reg {
9303 #[doc = "Tx meta data per entry: Mask bit for event tx_flag_clear_e.\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
9304 #[inline(always)]
9305 pub fn tx_flag_clear_m(
9306 self,
9307 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxFlagClearM0Reg_SPEC, crate::common::RW>
9308 {
9309 crate::common::RegisterFieldBool::<0,1,0,FtdfTxFlagClearM0Reg_SPEC,crate::common::RW>::from_register(self,0)
9310 }
9311}
9312impl ::core::default::Default for FtdfTxFlagClearM0Reg {
9313 #[inline(always)]
9314 fn default() -> FtdfTxFlagClearM0Reg {
9315 <crate::RegValueT<FtdfTxFlagClearM0Reg_SPEC> as RegisterValue<_>>::new(0)
9316 }
9317}
9318
9319#[doc(hidden)]
9320#[derive(Copy, Clone, Eq, PartialEq)]
9321pub struct FtdfTxFlagClearM1Reg_SPEC;
9322impl crate::sealed::RegSpec for FtdfTxFlagClearM1Reg_SPEC {
9323 type DataType = u32;
9324}
9325
9326#[doc = "Mask flag register 1"]
9327pub type FtdfTxFlagClearM1Reg = crate::RegValueT<FtdfTxFlagClearM1Reg_SPEC>;
9328
9329impl FtdfTxFlagClearM1Reg {
9330 #[doc = "Tx meta data per entry: Mask bit for event tx_flag_clear_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
9331 #[inline(always)]
9332 pub fn tx_flag_clear_m(
9333 self,
9334 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxFlagClearM1Reg_SPEC, crate::common::RW>
9335 {
9336 crate::common::RegisterFieldBool::<0,1,0,FtdfTxFlagClearM1Reg_SPEC,crate::common::RW>::from_register(self,0)
9337 }
9338}
9339impl ::core::default::Default for FtdfTxFlagClearM1Reg {
9340 #[inline(always)]
9341 fn default() -> FtdfTxFlagClearM1Reg {
9342 <crate::RegValueT<FtdfTxFlagClearM1Reg_SPEC> as RegisterValue<_>>::new(0)
9343 }
9344}
9345
9346#[doc(hidden)]
9347#[derive(Copy, Clone, Eq, PartialEq)]
9348pub struct FtdfTxFlagClearM2Reg_SPEC;
9349impl crate::sealed::RegSpec for FtdfTxFlagClearM2Reg_SPEC {
9350 type DataType = u32;
9351}
9352
9353#[doc = "Clear flag register 2"]
9354pub type FtdfTxFlagClearM2Reg = crate::RegValueT<FtdfTxFlagClearM2Reg_SPEC>;
9355
9356impl FtdfTxFlagClearM2Reg {
9357 #[doc = "Tx meta data per entry: Mask bit for event tx_flag_clear_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
9358 #[inline(always)]
9359 pub fn tx_flag_clear_m(
9360 self,
9361 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxFlagClearM2Reg_SPEC, crate::common::RW>
9362 {
9363 crate::common::RegisterFieldBool::<0,1,0,FtdfTxFlagClearM2Reg_SPEC,crate::common::RW>::from_register(self,0)
9364 }
9365}
9366impl ::core::default::Default for FtdfTxFlagClearM2Reg {
9367 #[inline(always)]
9368 fn default() -> FtdfTxFlagClearM2Reg {
9369 <crate::RegValueT<FtdfTxFlagClearM2Reg_SPEC> as RegisterValue<_>>::new(0)
9370 }
9371}
9372
9373#[doc(hidden)]
9374#[derive(Copy, Clone, Eq, PartialEq)]
9375pub struct FtdfTxFlagClearM3Reg_SPEC;
9376impl crate::sealed::RegSpec for FtdfTxFlagClearM3Reg_SPEC {
9377 type DataType = u32;
9378}
9379
9380#[doc = "Clear flag register 3"]
9381pub type FtdfTxFlagClearM3Reg = crate::RegValueT<FtdfTxFlagClearM3Reg_SPEC>;
9382
9383impl FtdfTxFlagClearM3Reg {
9384 #[doc = "Tx meta data per entry: Mask bit for event tx_flag_clear_e\nThe mask bit is masking when cleared to \'0\' (default value) and will enable the contribution to the interrupt when set to \'1\'."]
9385 #[inline(always)]
9386 pub fn tx_flag_clear_m(
9387 self,
9388 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxFlagClearM3Reg_SPEC, crate::common::RW>
9389 {
9390 crate::common::RegisterFieldBool::<0,1,0,FtdfTxFlagClearM3Reg_SPEC,crate::common::RW>::from_register(self,0)
9391 }
9392}
9393impl ::core::default::Default for FtdfTxFlagClearM3Reg {
9394 #[inline(always)]
9395 fn default() -> FtdfTxFlagClearM3Reg {
9396 <crate::RegValueT<FtdfTxFlagClearM3Reg_SPEC> as RegisterValue<_>>::new(0)
9397 }
9398}
9399
9400#[doc(hidden)]
9401#[derive(Copy, Clone, Eq, PartialEq)]
9402pub struct FtdfTxFlagS0Reg_SPEC;
9403impl crate::sealed::RegSpec for FtdfTxFlagS0Reg_SPEC {
9404 type DataType = u32;
9405}
9406
9407#[doc = "Transmit packet ready for transmission register 0"]
9408pub type FtdfTxFlagS0Reg = crate::RegValueT<FtdfTxFlagS0Reg_SPEC>;
9409
9410impl FtdfTxFlagS0Reg {
9411 #[doc = "Tx meta data per entry: if set to \'1\', the packet is ready for transmission"]
9412 #[inline(always)]
9413 pub fn tx_flag_stat(
9414 self,
9415 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxFlagS0Reg_SPEC, crate::common::R> {
9416 crate::common::RegisterFieldBool::<0,1,0,FtdfTxFlagS0Reg_SPEC,crate::common::R>::from_register(self,0)
9417 }
9418}
9419impl ::core::default::Default for FtdfTxFlagS0Reg {
9420 #[inline(always)]
9421 fn default() -> FtdfTxFlagS0Reg {
9422 <crate::RegValueT<FtdfTxFlagS0Reg_SPEC> as RegisterValue<_>>::new(0)
9423 }
9424}
9425
9426#[doc(hidden)]
9427#[derive(Copy, Clone, Eq, PartialEq)]
9428pub struct FtdfTxFlagS1Reg_SPEC;
9429impl crate::sealed::RegSpec for FtdfTxFlagS1Reg_SPEC {
9430 type DataType = u32;
9431}
9432
9433#[doc = "Transmit packet ready for transmission register 1"]
9434pub type FtdfTxFlagS1Reg = crate::RegValueT<FtdfTxFlagS1Reg_SPEC>;
9435
9436impl FtdfTxFlagS1Reg {
9437 #[doc = "Tx meta data per entry: if set to \'1\', the packet is ready for transmission"]
9438 #[inline(always)]
9439 pub fn tx_flag_stat(
9440 self,
9441 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxFlagS1Reg_SPEC, crate::common::R> {
9442 crate::common::RegisterFieldBool::<0,1,0,FtdfTxFlagS1Reg_SPEC,crate::common::R>::from_register(self,0)
9443 }
9444}
9445impl ::core::default::Default for FtdfTxFlagS1Reg {
9446 #[inline(always)]
9447 fn default() -> FtdfTxFlagS1Reg {
9448 <crate::RegValueT<FtdfTxFlagS1Reg_SPEC> as RegisterValue<_>>::new(0)
9449 }
9450}
9451
9452#[doc(hidden)]
9453#[derive(Copy, Clone, Eq, PartialEq)]
9454pub struct FtdfTxFlagS2Reg_SPEC;
9455impl crate::sealed::RegSpec for FtdfTxFlagS2Reg_SPEC {
9456 type DataType = u32;
9457}
9458
9459#[doc = "Transmit packet ready for transmission register 2"]
9460pub type FtdfTxFlagS2Reg = crate::RegValueT<FtdfTxFlagS2Reg_SPEC>;
9461
9462impl FtdfTxFlagS2Reg {
9463 #[doc = "Tx meta data per entry: if set to \'1\', the packet is ready for transmission"]
9464 #[inline(always)]
9465 pub fn tx_flag_stat(
9466 self,
9467 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxFlagS2Reg_SPEC, crate::common::R> {
9468 crate::common::RegisterFieldBool::<0,1,0,FtdfTxFlagS2Reg_SPEC,crate::common::R>::from_register(self,0)
9469 }
9470}
9471impl ::core::default::Default for FtdfTxFlagS2Reg {
9472 #[inline(always)]
9473 fn default() -> FtdfTxFlagS2Reg {
9474 <crate::RegValueT<FtdfTxFlagS2Reg_SPEC> as RegisterValue<_>>::new(0)
9475 }
9476}
9477
9478#[doc(hidden)]
9479#[derive(Copy, Clone, Eq, PartialEq)]
9480pub struct FtdfTxFlagS3Reg_SPEC;
9481impl crate::sealed::RegSpec for FtdfTxFlagS3Reg_SPEC {
9482 type DataType = u32;
9483}
9484
9485#[doc = "Transmit packet ready for transmission register 3"]
9486pub type FtdfTxFlagS3Reg = crate::RegValueT<FtdfTxFlagS3Reg_SPEC>;
9487
9488impl FtdfTxFlagS3Reg {
9489 #[doc = "Tx meta data per entry: if set to \'1\', the packet is ready for transmission"]
9490 #[inline(always)]
9491 pub fn tx_flag_stat(
9492 self,
9493 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxFlagS3Reg_SPEC, crate::common::R> {
9494 crate::common::RegisterFieldBool::<0,1,0,FtdfTxFlagS3Reg_SPEC,crate::common::R>::from_register(self,0)
9495 }
9496}
9497impl ::core::default::Default for FtdfTxFlagS3Reg {
9498 #[inline(always)]
9499 fn default() -> FtdfTxFlagS3Reg {
9500 <crate::RegValueT<FtdfTxFlagS3Reg_SPEC> as RegisterValue<_>>::new(0)
9501 }
9502}
9503
9504#[doc(hidden)]
9505#[derive(Copy, Clone, Eq, PartialEq)]
9506pub struct FtdfTxMetaData00Reg_SPEC;
9507impl crate::sealed::RegSpec for FtdfTxMetaData00Reg_SPEC {
9508 type DataType = u32;
9509}
9510
9511#[doc = "Transmit metadata register 0"]
9512pub type FtdfTxMetaData00Reg = crate::RegValueT<FtdfTxMetaData00Reg_SPEC>;
9513
9514impl FtdfTxMetaData00Reg {
9515 #[doc = "Tx meta data per entry: Indicates whether CRC16 insertion must be enabled or not.\n0 : No hardware inserted CRC16\n1 : Hardware inserts CRC16"]
9516 #[inline(always)]
9517 pub fn crc16_ena(
9518 self,
9519 ) -> crate::common::RegisterFieldBool<30, 1, 0, FtdfTxMetaData00Reg_SPEC, crate::common::RW>
9520 {
9521 crate::common::RegisterFieldBool::<30,1,0,FtdfTxMetaData00Reg_SPEC,crate::common::RW>::from_register(self,0)
9522 }
9523
9524 #[doc = "Tx meta data per entry: \'1\' indicates that an acknowledge is expected from the recipient of this packet."]
9525 #[inline(always)]
9526 pub fn ackrequest(
9527 self,
9528 ) -> crate::common::RegisterFieldBool<28, 1, 0, FtdfTxMetaData00Reg_SPEC, crate::common::RW>
9529 {
9530 crate::common::RegisterFieldBool::<28,1,0,FtdfTxMetaData00Reg_SPEC,crate::common::RW>::from_register(self,0)
9531 }
9532
9533 #[doc = "Tx meta data per entry: \'1\' indicates that a CSMA-CA is required for the transmission of this packet."]
9534 #[inline(always)]
9535 pub fn csmaca_ena(
9536 self,
9537 ) -> crate::common::RegisterFieldBool<26, 1, 0, FtdfTxMetaData00Reg_SPEC, crate::common::RW>
9538 {
9539 crate::common::RegisterFieldBool::<26,1,0,FtdfTxMetaData00Reg_SPEC,crate::common::RW>::from_register(self,0)
9540 }
9541
9542 #[doc = "Tx meta data per entry: the frame type of the data to be transmitted (Data/Cmd/Ack/wakeup frame/etc.)."]
9543 #[inline(always)]
9544 pub fn frametype(
9545 self,
9546 ) -> crate::common::RegisterField<
9547 23,
9548 0x7,
9549 1,
9550 0,
9551 u8,
9552 u8,
9553 FtdfTxMetaData00Reg_SPEC,
9554 crate::common::RW,
9555 > {
9556 crate::common::RegisterField::<
9557 23,
9558 0x7,
9559 1,
9560 0,
9561 u8,
9562 u8,
9563 FtdfTxMetaData00Reg_SPEC,
9564 crate::common::RW,
9565 >::from_register(self, 0)
9566 }
9567
9568 #[doc = "HighSide injection."]
9569 #[inline(always)]
9570 pub fn phyattr_hsi(
9571 self,
9572 ) -> crate::common::RegisterFieldBool<22, 1, 0, FtdfTxMetaData00Reg_SPEC, crate::common::RW>
9573 {
9574 crate::common::RegisterFieldBool::<22,1,0,FtdfTxMetaData00Reg_SPEC,crate::common::RW>::from_register(self,0)
9575 }
9576
9577 #[doc = "Slot-basis signals mapped on GPIO via PPA."]
9578 #[inline(always)]
9579 pub fn phyattr_rf_gpio_pins(
9580 self,
9581 ) -> crate::common::RegisterField<
9582 19,
9583 0x7,
9584 1,
9585 0,
9586 u8,
9587 u8,
9588 FtdfTxMetaData00Reg_SPEC,
9589 crate::common::RW,
9590 > {
9591 crate::common::RegisterField::<
9592 19,
9593 0x7,
9594 1,
9595 0,
9596 u8,
9597 u8,
9598 FtdfTxMetaData00Reg_SPEC,
9599 crate::common::RW,
9600 >::from_register(self, 0)
9601 }
9602
9603 #[doc = "CalCap value."]
9604 #[inline(always)]
9605 pub fn phyattr_calcap(
9606 self,
9607 ) -> crate::common::RegisterField<
9608 15,
9609 0xf,
9610 1,
9611 0,
9612 u8,
9613 u8,
9614 FtdfTxMetaData00Reg_SPEC,
9615 crate::common::RW,
9616 > {
9617 crate::common::RegisterField::<
9618 15,
9619 0xf,
9620 1,
9621 0,
9622 u8,
9623 u8,
9624 FtdfTxMetaData00Reg_SPEC,
9625 crate::common::RW,
9626 >::from_register(self, 0)
9627 }
9628
9629 #[doc = "Channel Number."]
9630 #[inline(always)]
9631 pub fn phyattr_cn(
9632 self,
9633 ) -> crate::common::RegisterField<
9634 11,
9635 0xf,
9636 1,
9637 0,
9638 u8,
9639 u8,
9640 FtdfTxMetaData00Reg_SPEC,
9641 crate::common::RW,
9642 > {
9643 crate::common::RegisterField::<
9644 11,
9645 0xf,
9646 1,
9647 0,
9648 u8,
9649 u8,
9650 FtdfTxMetaData00Reg_SPEC,
9651 crate::common::RW,
9652 >::from_register(self, 0)
9653 }
9654
9655 #[doc = "DEM packet information."]
9656 #[inline(always)]
9657 pub fn phyattr_dem_pti(
9658 self,
9659 ) -> crate::common::RegisterField<
9660 7,
9661 0xf,
9662 1,
9663 0,
9664 u8,
9665 u8,
9666 FtdfTxMetaData00Reg_SPEC,
9667 crate::common::RW,
9668 > {
9669 crate::common::RegisterField::<
9670 7,
9671 0xf,
9672 1,
9673 0,
9674 u8,
9675 u8,
9676 FtdfTxMetaData00Reg_SPEC,
9677 crate::common::RW,
9678 >::from_register(self, 0)
9679 }
9680
9681 #[doc = "Tx meta data per entry: Frame length (in bytes)"]
9682 #[inline(always)]
9683 pub fn frame_length(
9684 self,
9685 ) -> crate::common::RegisterField<
9686 0,
9687 0x7f,
9688 1,
9689 0,
9690 u8,
9691 u8,
9692 FtdfTxMetaData00Reg_SPEC,
9693 crate::common::RW,
9694 > {
9695 crate::common::RegisterField::<
9696 0,
9697 0x7f,
9698 1,
9699 0,
9700 u8,
9701 u8,
9702 FtdfTxMetaData00Reg_SPEC,
9703 crate::common::RW,
9704 >::from_register(self, 0)
9705 }
9706}
9707impl ::core::default::Default for FtdfTxMetaData00Reg {
9708 #[inline(always)]
9709 fn default() -> FtdfTxMetaData00Reg {
9710 <crate::RegValueT<FtdfTxMetaData00Reg_SPEC> as RegisterValue<_>>::new(0)
9711 }
9712}
9713
9714#[doc(hidden)]
9715#[derive(Copy, Clone, Eq, PartialEq)]
9716pub struct FtdfTxMetaData01Reg_SPEC;
9717impl crate::sealed::RegSpec for FtdfTxMetaData01Reg_SPEC {
9718 type DataType = u32;
9719}
9720
9721#[doc = "Transmit metadata register 1"]
9722pub type FtdfTxMetaData01Reg = crate::RegValueT<FtdfTxMetaData01Reg_SPEC>;
9723
9724impl FtdfTxMetaData01Reg {
9725 #[doc = "Tx meta data per entry: Indicates whether CRC16 insertion must be enabled or not.\n0 : No hardware inserted CRC16\n1 : Hardware inserts CRC16"]
9726 #[inline(always)]
9727 pub fn crc16_ena(
9728 self,
9729 ) -> crate::common::RegisterFieldBool<30, 1, 0, FtdfTxMetaData01Reg_SPEC, crate::common::RW>
9730 {
9731 crate::common::RegisterFieldBool::<30,1,0,FtdfTxMetaData01Reg_SPEC,crate::common::RW>::from_register(self,0)
9732 }
9733
9734 #[doc = "Tx meta data per entry: \'1\' indicates that an acknowledge is expected from the recipient of this packet."]
9735 #[inline(always)]
9736 pub fn ackrequest(
9737 self,
9738 ) -> crate::common::RegisterFieldBool<28, 1, 0, FtdfTxMetaData01Reg_SPEC, crate::common::RW>
9739 {
9740 crate::common::RegisterFieldBool::<28,1,0,FtdfTxMetaData01Reg_SPEC,crate::common::RW>::from_register(self,0)
9741 }
9742
9743 #[doc = "Tx meta data per entry: \'1\' indicates that a CSMA-CA is required for the transmission of this packet."]
9744 #[inline(always)]
9745 pub fn csmaca_ena(
9746 self,
9747 ) -> crate::common::RegisterFieldBool<26, 1, 0, FtdfTxMetaData01Reg_SPEC, crate::common::RW>
9748 {
9749 crate::common::RegisterFieldBool::<26,1,0,FtdfTxMetaData01Reg_SPEC,crate::common::RW>::from_register(self,0)
9750 }
9751
9752 #[doc = "Tx meta data per entry: the frame type of the data to be transmitted (Data/Cmd/Ack/wakeup frame/etc.)."]
9753 #[inline(always)]
9754 pub fn frametype(
9755 self,
9756 ) -> crate::common::RegisterField<
9757 23,
9758 0x7,
9759 1,
9760 0,
9761 u8,
9762 u8,
9763 FtdfTxMetaData01Reg_SPEC,
9764 crate::common::RW,
9765 > {
9766 crate::common::RegisterField::<
9767 23,
9768 0x7,
9769 1,
9770 0,
9771 u8,
9772 u8,
9773 FtdfTxMetaData01Reg_SPEC,
9774 crate::common::RW,
9775 >::from_register(self, 0)
9776 }
9777
9778 #[doc = "HighSide injection."]
9779 #[inline(always)]
9780 pub fn phyattr_hsi(
9781 self,
9782 ) -> crate::common::RegisterFieldBool<22, 1, 0, FtdfTxMetaData01Reg_SPEC, crate::common::RW>
9783 {
9784 crate::common::RegisterFieldBool::<22,1,0,FtdfTxMetaData01Reg_SPEC,crate::common::RW>::from_register(self,0)
9785 }
9786
9787 #[doc = "Slot-basis signals mapped on GPIO via PPA."]
9788 #[inline(always)]
9789 pub fn phyattr_rf_gpio_pins(
9790 self,
9791 ) -> crate::common::RegisterField<
9792 19,
9793 0x7,
9794 1,
9795 0,
9796 u8,
9797 u8,
9798 FtdfTxMetaData01Reg_SPEC,
9799 crate::common::RW,
9800 > {
9801 crate::common::RegisterField::<
9802 19,
9803 0x7,
9804 1,
9805 0,
9806 u8,
9807 u8,
9808 FtdfTxMetaData01Reg_SPEC,
9809 crate::common::RW,
9810 >::from_register(self, 0)
9811 }
9812
9813 #[doc = "CalCap value."]
9814 #[inline(always)]
9815 pub fn phyattr_calcap(
9816 self,
9817 ) -> crate::common::RegisterField<
9818 15,
9819 0xf,
9820 1,
9821 0,
9822 u8,
9823 u8,
9824 FtdfTxMetaData01Reg_SPEC,
9825 crate::common::RW,
9826 > {
9827 crate::common::RegisterField::<
9828 15,
9829 0xf,
9830 1,
9831 0,
9832 u8,
9833 u8,
9834 FtdfTxMetaData01Reg_SPEC,
9835 crate::common::RW,
9836 >::from_register(self, 0)
9837 }
9838
9839 #[doc = "Channel Number."]
9840 #[inline(always)]
9841 pub fn phyattr_cn(
9842 self,
9843 ) -> crate::common::RegisterField<
9844 11,
9845 0xf,
9846 1,
9847 0,
9848 u8,
9849 u8,
9850 FtdfTxMetaData01Reg_SPEC,
9851 crate::common::RW,
9852 > {
9853 crate::common::RegisterField::<
9854 11,
9855 0xf,
9856 1,
9857 0,
9858 u8,
9859 u8,
9860 FtdfTxMetaData01Reg_SPEC,
9861 crate::common::RW,
9862 >::from_register(self, 0)
9863 }
9864
9865 #[doc = "DEM packet information."]
9866 #[inline(always)]
9867 pub fn phyattr_dem_pti(
9868 self,
9869 ) -> crate::common::RegisterField<
9870 7,
9871 0xf,
9872 1,
9873 0,
9874 u8,
9875 u8,
9876 FtdfTxMetaData01Reg_SPEC,
9877 crate::common::RW,
9878 > {
9879 crate::common::RegisterField::<
9880 7,
9881 0xf,
9882 1,
9883 0,
9884 u8,
9885 u8,
9886 FtdfTxMetaData01Reg_SPEC,
9887 crate::common::RW,
9888 >::from_register(self, 0)
9889 }
9890
9891 #[doc = "Tx meta data per entry: Frame length (in bytes)"]
9892 #[inline(always)]
9893 pub fn frame_length(
9894 self,
9895 ) -> crate::common::RegisterField<
9896 0,
9897 0x7f,
9898 1,
9899 0,
9900 u8,
9901 u8,
9902 FtdfTxMetaData01Reg_SPEC,
9903 crate::common::RW,
9904 > {
9905 crate::common::RegisterField::<
9906 0,
9907 0x7f,
9908 1,
9909 0,
9910 u8,
9911 u8,
9912 FtdfTxMetaData01Reg_SPEC,
9913 crate::common::RW,
9914 >::from_register(self, 0)
9915 }
9916}
9917impl ::core::default::Default for FtdfTxMetaData01Reg {
9918 #[inline(always)]
9919 fn default() -> FtdfTxMetaData01Reg {
9920 <crate::RegValueT<FtdfTxMetaData01Reg_SPEC> as RegisterValue<_>>::new(0)
9921 }
9922}
9923
9924#[doc(hidden)]
9925#[derive(Copy, Clone, Eq, PartialEq)]
9926pub struct FtdfTxMetaData02Reg_SPEC;
9927impl crate::sealed::RegSpec for FtdfTxMetaData02Reg_SPEC {
9928 type DataType = u32;
9929}
9930
9931#[doc = "Transmit metadata register 2"]
9932pub type FtdfTxMetaData02Reg = crate::RegValueT<FtdfTxMetaData02Reg_SPEC>;
9933
9934impl FtdfTxMetaData02Reg {
9935 #[doc = "Tx meta data per entry: Indicates whether CRC16 insertion must be enabled or not.\n0 : No hardware inserted CRC16\n1 : Hardware inserts CRC16"]
9936 #[inline(always)]
9937 pub fn crc16_ena(
9938 self,
9939 ) -> crate::common::RegisterFieldBool<30, 1, 0, FtdfTxMetaData02Reg_SPEC, crate::common::RW>
9940 {
9941 crate::common::RegisterFieldBool::<30,1,0,FtdfTxMetaData02Reg_SPEC,crate::common::RW>::from_register(self,0)
9942 }
9943
9944 #[doc = "Tx meta data per entry: \'1\' indicates that an acknowledge is expected from the recipient of this packet."]
9945 #[inline(always)]
9946 pub fn ackrequest(
9947 self,
9948 ) -> crate::common::RegisterFieldBool<28, 1, 0, FtdfTxMetaData02Reg_SPEC, crate::common::RW>
9949 {
9950 crate::common::RegisterFieldBool::<28,1,0,FtdfTxMetaData02Reg_SPEC,crate::common::RW>::from_register(self,0)
9951 }
9952
9953 #[doc = "Tx meta data per entry: \'1\' indicates that a CSMA-CA is required for the transmission of this packet."]
9954 #[inline(always)]
9955 pub fn csmaca_ena(
9956 self,
9957 ) -> crate::common::RegisterFieldBool<26, 1, 0, FtdfTxMetaData02Reg_SPEC, crate::common::RW>
9958 {
9959 crate::common::RegisterFieldBool::<26,1,0,FtdfTxMetaData02Reg_SPEC,crate::common::RW>::from_register(self,0)
9960 }
9961
9962 #[doc = "Tx meta data per entry: the frame type of the data to be transmitted (Data/Cmd/Ack/wakeup frame/etc.)."]
9963 #[inline(always)]
9964 pub fn frametype(
9965 self,
9966 ) -> crate::common::RegisterField<
9967 23,
9968 0x7,
9969 1,
9970 0,
9971 u8,
9972 u8,
9973 FtdfTxMetaData02Reg_SPEC,
9974 crate::common::RW,
9975 > {
9976 crate::common::RegisterField::<
9977 23,
9978 0x7,
9979 1,
9980 0,
9981 u8,
9982 u8,
9983 FtdfTxMetaData02Reg_SPEC,
9984 crate::common::RW,
9985 >::from_register(self, 0)
9986 }
9987
9988 #[doc = "HighSide injection."]
9989 #[inline(always)]
9990 pub fn phyattr_hsi(
9991 self,
9992 ) -> crate::common::RegisterFieldBool<22, 1, 0, FtdfTxMetaData02Reg_SPEC, crate::common::RW>
9993 {
9994 crate::common::RegisterFieldBool::<22,1,0,FtdfTxMetaData02Reg_SPEC,crate::common::RW>::from_register(self,0)
9995 }
9996
9997 #[doc = "Slot-basis signals mapped on GPIO via PPA."]
9998 #[inline(always)]
9999 pub fn phyattr_rf_gpio_pins(
10000 self,
10001 ) -> crate::common::RegisterField<
10002 19,
10003 0x7,
10004 1,
10005 0,
10006 u8,
10007 u8,
10008 FtdfTxMetaData02Reg_SPEC,
10009 crate::common::RW,
10010 > {
10011 crate::common::RegisterField::<
10012 19,
10013 0x7,
10014 1,
10015 0,
10016 u8,
10017 u8,
10018 FtdfTxMetaData02Reg_SPEC,
10019 crate::common::RW,
10020 >::from_register(self, 0)
10021 }
10022
10023 #[doc = "CalCap value."]
10024 #[inline(always)]
10025 pub fn phyattr_calcap(
10026 self,
10027 ) -> crate::common::RegisterField<
10028 15,
10029 0xf,
10030 1,
10031 0,
10032 u8,
10033 u8,
10034 FtdfTxMetaData02Reg_SPEC,
10035 crate::common::RW,
10036 > {
10037 crate::common::RegisterField::<
10038 15,
10039 0xf,
10040 1,
10041 0,
10042 u8,
10043 u8,
10044 FtdfTxMetaData02Reg_SPEC,
10045 crate::common::RW,
10046 >::from_register(self, 0)
10047 }
10048
10049 #[doc = "Channel Number."]
10050 #[inline(always)]
10051 pub fn phyattr_cn(
10052 self,
10053 ) -> crate::common::RegisterField<
10054 11,
10055 0xf,
10056 1,
10057 0,
10058 u8,
10059 u8,
10060 FtdfTxMetaData02Reg_SPEC,
10061 crate::common::RW,
10062 > {
10063 crate::common::RegisterField::<
10064 11,
10065 0xf,
10066 1,
10067 0,
10068 u8,
10069 u8,
10070 FtdfTxMetaData02Reg_SPEC,
10071 crate::common::RW,
10072 >::from_register(self, 0)
10073 }
10074
10075 #[doc = "DEM packet information."]
10076 #[inline(always)]
10077 pub fn phyattr_dem_pti(
10078 self,
10079 ) -> crate::common::RegisterField<
10080 7,
10081 0xf,
10082 1,
10083 0,
10084 u8,
10085 u8,
10086 FtdfTxMetaData02Reg_SPEC,
10087 crate::common::RW,
10088 > {
10089 crate::common::RegisterField::<
10090 7,
10091 0xf,
10092 1,
10093 0,
10094 u8,
10095 u8,
10096 FtdfTxMetaData02Reg_SPEC,
10097 crate::common::RW,
10098 >::from_register(self, 0)
10099 }
10100
10101 #[doc = "Tx meta data per entry: Frame length (in bytes)"]
10102 #[inline(always)]
10103 pub fn frame_length(
10104 self,
10105 ) -> crate::common::RegisterField<
10106 0,
10107 0x7f,
10108 1,
10109 0,
10110 u8,
10111 u8,
10112 FtdfTxMetaData02Reg_SPEC,
10113 crate::common::RW,
10114 > {
10115 crate::common::RegisterField::<
10116 0,
10117 0x7f,
10118 1,
10119 0,
10120 u8,
10121 u8,
10122 FtdfTxMetaData02Reg_SPEC,
10123 crate::common::RW,
10124 >::from_register(self, 0)
10125 }
10126}
10127impl ::core::default::Default for FtdfTxMetaData02Reg {
10128 #[inline(always)]
10129 fn default() -> FtdfTxMetaData02Reg {
10130 <crate::RegValueT<FtdfTxMetaData02Reg_SPEC> as RegisterValue<_>>::new(0)
10131 }
10132}
10133
10134#[doc(hidden)]
10135#[derive(Copy, Clone, Eq, PartialEq)]
10136pub struct FtdfTxMetaData03Reg_SPEC;
10137impl crate::sealed::RegSpec for FtdfTxMetaData03Reg_SPEC {
10138 type DataType = u32;
10139}
10140
10141#[doc = "Transmit metadata register 3"]
10142pub type FtdfTxMetaData03Reg = crate::RegValueT<FtdfTxMetaData03Reg_SPEC>;
10143
10144impl FtdfTxMetaData03Reg {
10145 #[doc = "Tx meta data per entry: Indicates whether CRC16 insertion must be enabled or not.\n0 : No hardware inserted CRC16\n1 : Hardware inserts CRC16"]
10146 #[inline(always)]
10147 pub fn crc16_ena(
10148 self,
10149 ) -> crate::common::RegisterFieldBool<30, 1, 0, FtdfTxMetaData03Reg_SPEC, crate::common::RW>
10150 {
10151 crate::common::RegisterFieldBool::<30,1,0,FtdfTxMetaData03Reg_SPEC,crate::common::RW>::from_register(self,0)
10152 }
10153
10154 #[doc = "Tx meta data per entry: \'1\' indicates that an acknowledge is expected from the recipient of this packet."]
10155 #[inline(always)]
10156 pub fn ackrequest(
10157 self,
10158 ) -> crate::common::RegisterFieldBool<28, 1, 0, FtdfTxMetaData03Reg_SPEC, crate::common::RW>
10159 {
10160 crate::common::RegisterFieldBool::<28,1,0,FtdfTxMetaData03Reg_SPEC,crate::common::RW>::from_register(self,0)
10161 }
10162
10163 #[doc = "Tx meta data per entry: \'1\' indicates that a CSMA-CA is required for the transmission of this packet."]
10164 #[inline(always)]
10165 pub fn csmaca_ena(
10166 self,
10167 ) -> crate::common::RegisterFieldBool<26, 1, 0, FtdfTxMetaData03Reg_SPEC, crate::common::RW>
10168 {
10169 crate::common::RegisterFieldBool::<26,1,0,FtdfTxMetaData03Reg_SPEC,crate::common::RW>::from_register(self,0)
10170 }
10171
10172 #[doc = "Tx meta data per entry: the frame type of the data to be transmitted (Data/Cmd/Ack/wakeup frame/etc.)."]
10173 #[inline(always)]
10174 pub fn frametype(
10175 self,
10176 ) -> crate::common::RegisterField<
10177 23,
10178 0x7,
10179 1,
10180 0,
10181 u8,
10182 u8,
10183 FtdfTxMetaData03Reg_SPEC,
10184 crate::common::RW,
10185 > {
10186 crate::common::RegisterField::<
10187 23,
10188 0x7,
10189 1,
10190 0,
10191 u8,
10192 u8,
10193 FtdfTxMetaData03Reg_SPEC,
10194 crate::common::RW,
10195 >::from_register(self, 0)
10196 }
10197
10198 #[doc = "HighSide injection."]
10199 #[inline(always)]
10200 pub fn phyattr_hsi(
10201 self,
10202 ) -> crate::common::RegisterFieldBool<22, 1, 0, FtdfTxMetaData03Reg_SPEC, crate::common::RW>
10203 {
10204 crate::common::RegisterFieldBool::<22,1,0,FtdfTxMetaData03Reg_SPEC,crate::common::RW>::from_register(self,0)
10205 }
10206
10207 #[doc = "Slot-basis signals mapped on GPIO via PPA."]
10208 #[inline(always)]
10209 pub fn phyattr_rf_gpio_pins(
10210 self,
10211 ) -> crate::common::RegisterField<
10212 19,
10213 0x7,
10214 1,
10215 0,
10216 u8,
10217 u8,
10218 FtdfTxMetaData03Reg_SPEC,
10219 crate::common::RW,
10220 > {
10221 crate::common::RegisterField::<
10222 19,
10223 0x7,
10224 1,
10225 0,
10226 u8,
10227 u8,
10228 FtdfTxMetaData03Reg_SPEC,
10229 crate::common::RW,
10230 >::from_register(self, 0)
10231 }
10232
10233 #[doc = "CalCap value."]
10234 #[inline(always)]
10235 pub fn phyattr_calcap(
10236 self,
10237 ) -> crate::common::RegisterField<
10238 15,
10239 0xf,
10240 1,
10241 0,
10242 u8,
10243 u8,
10244 FtdfTxMetaData03Reg_SPEC,
10245 crate::common::RW,
10246 > {
10247 crate::common::RegisterField::<
10248 15,
10249 0xf,
10250 1,
10251 0,
10252 u8,
10253 u8,
10254 FtdfTxMetaData03Reg_SPEC,
10255 crate::common::RW,
10256 >::from_register(self, 0)
10257 }
10258
10259 #[doc = "Channel Number."]
10260 #[inline(always)]
10261 pub fn phyattr_cn(
10262 self,
10263 ) -> crate::common::RegisterField<
10264 11,
10265 0xf,
10266 1,
10267 0,
10268 u8,
10269 u8,
10270 FtdfTxMetaData03Reg_SPEC,
10271 crate::common::RW,
10272 > {
10273 crate::common::RegisterField::<
10274 11,
10275 0xf,
10276 1,
10277 0,
10278 u8,
10279 u8,
10280 FtdfTxMetaData03Reg_SPEC,
10281 crate::common::RW,
10282 >::from_register(self, 0)
10283 }
10284
10285 #[doc = "DEM packet information."]
10286 #[inline(always)]
10287 pub fn phyattr_dem_pti(
10288 self,
10289 ) -> crate::common::RegisterField<
10290 7,
10291 0xf,
10292 1,
10293 0,
10294 u8,
10295 u8,
10296 FtdfTxMetaData03Reg_SPEC,
10297 crate::common::RW,
10298 > {
10299 crate::common::RegisterField::<
10300 7,
10301 0xf,
10302 1,
10303 0,
10304 u8,
10305 u8,
10306 FtdfTxMetaData03Reg_SPEC,
10307 crate::common::RW,
10308 >::from_register(self, 0)
10309 }
10310
10311 #[doc = "Tx meta data per entry: Frame length (in bytes)"]
10312 #[inline(always)]
10313 pub fn frame_length(
10314 self,
10315 ) -> crate::common::RegisterField<
10316 0,
10317 0x7f,
10318 1,
10319 0,
10320 u8,
10321 u8,
10322 FtdfTxMetaData03Reg_SPEC,
10323 crate::common::RW,
10324 > {
10325 crate::common::RegisterField::<
10326 0,
10327 0x7f,
10328 1,
10329 0,
10330 u8,
10331 u8,
10332 FtdfTxMetaData03Reg_SPEC,
10333 crate::common::RW,
10334 >::from_register(self, 0)
10335 }
10336}
10337impl ::core::default::Default for FtdfTxMetaData03Reg {
10338 #[inline(always)]
10339 fn default() -> FtdfTxMetaData03Reg {
10340 <crate::RegValueT<FtdfTxMetaData03Reg_SPEC> as RegisterValue<_>>::new(0)
10341 }
10342}
10343
10344#[doc(hidden)]
10345#[derive(Copy, Clone, Eq, PartialEq)]
10346pub struct FtdfTxMetaData10Reg_SPEC;
10347impl crate::sealed::RegSpec for FtdfTxMetaData10Reg_SPEC {
10348 type DataType = u32;
10349}
10350
10351#[doc = "Transmit metadata register 0"]
10352pub type FtdfTxMetaData10Reg = crate::RegValueT<FtdfTxMetaData10Reg_SPEC>;
10353
10354impl FtdfTxMetaData10Reg {
10355 #[doc = "Tx meta data per entry: Sequence Number of this packet."]
10356 #[inline(always)]
10357 pub fn macsn(
10358 self,
10359 ) -> crate::common::RegisterField<
10360 0,
10361 0xff,
10362 1,
10363 0,
10364 u8,
10365 u8,
10366 FtdfTxMetaData10Reg_SPEC,
10367 crate::common::RW,
10368 > {
10369 crate::common::RegisterField::<
10370 0,
10371 0xff,
10372 1,
10373 0,
10374 u8,
10375 u8,
10376 FtdfTxMetaData10Reg_SPEC,
10377 crate::common::RW,
10378 >::from_register(self, 0)
10379 }
10380}
10381impl ::core::default::Default for FtdfTxMetaData10Reg {
10382 #[inline(always)]
10383 fn default() -> FtdfTxMetaData10Reg {
10384 <crate::RegValueT<FtdfTxMetaData10Reg_SPEC> as RegisterValue<_>>::new(0)
10385 }
10386}
10387
10388#[doc(hidden)]
10389#[derive(Copy, Clone, Eq, PartialEq)]
10390pub struct FtdfTxMetaData11Reg_SPEC;
10391impl crate::sealed::RegSpec for FtdfTxMetaData11Reg_SPEC {
10392 type DataType = u32;
10393}
10394
10395#[doc = "Transmit metadata register 1"]
10396pub type FtdfTxMetaData11Reg = crate::RegValueT<FtdfTxMetaData11Reg_SPEC>;
10397
10398impl FtdfTxMetaData11Reg {
10399 #[doc = "Tx meta data per entry: Sequence Number of this packet."]
10400 #[inline(always)]
10401 pub fn macsn(
10402 self,
10403 ) -> crate::common::RegisterField<
10404 0,
10405 0xff,
10406 1,
10407 0,
10408 u8,
10409 u8,
10410 FtdfTxMetaData11Reg_SPEC,
10411 crate::common::RW,
10412 > {
10413 crate::common::RegisterField::<
10414 0,
10415 0xff,
10416 1,
10417 0,
10418 u8,
10419 u8,
10420 FtdfTxMetaData11Reg_SPEC,
10421 crate::common::RW,
10422 >::from_register(self, 0)
10423 }
10424}
10425impl ::core::default::Default for FtdfTxMetaData11Reg {
10426 #[inline(always)]
10427 fn default() -> FtdfTxMetaData11Reg {
10428 <crate::RegValueT<FtdfTxMetaData11Reg_SPEC> as RegisterValue<_>>::new(0)
10429 }
10430}
10431
10432#[doc(hidden)]
10433#[derive(Copy, Clone, Eq, PartialEq)]
10434pub struct FtdfTxMetaData12Reg_SPEC;
10435impl crate::sealed::RegSpec for FtdfTxMetaData12Reg_SPEC {
10436 type DataType = u32;
10437}
10438
10439#[doc = "Transmit metadata register 2"]
10440pub type FtdfTxMetaData12Reg = crate::RegValueT<FtdfTxMetaData12Reg_SPEC>;
10441
10442impl FtdfTxMetaData12Reg {
10443 #[doc = "Tx meta data per entry: Sequence Number of this packet."]
10444 #[inline(always)]
10445 pub fn macsn(
10446 self,
10447 ) -> crate::common::RegisterField<
10448 0,
10449 0xff,
10450 1,
10451 0,
10452 u8,
10453 u8,
10454 FtdfTxMetaData12Reg_SPEC,
10455 crate::common::RW,
10456 > {
10457 crate::common::RegisterField::<
10458 0,
10459 0xff,
10460 1,
10461 0,
10462 u8,
10463 u8,
10464 FtdfTxMetaData12Reg_SPEC,
10465 crate::common::RW,
10466 >::from_register(self, 0)
10467 }
10468}
10469impl ::core::default::Default for FtdfTxMetaData12Reg {
10470 #[inline(always)]
10471 fn default() -> FtdfTxMetaData12Reg {
10472 <crate::RegValueT<FtdfTxMetaData12Reg_SPEC> as RegisterValue<_>>::new(0)
10473 }
10474}
10475
10476#[doc(hidden)]
10477#[derive(Copy, Clone, Eq, PartialEq)]
10478pub struct FtdfTxMetaData13Reg_SPEC;
10479impl crate::sealed::RegSpec for FtdfTxMetaData13Reg_SPEC {
10480 type DataType = u32;
10481}
10482
10483#[doc = "Transmit metadata register 3"]
10484pub type FtdfTxMetaData13Reg = crate::RegValueT<FtdfTxMetaData13Reg_SPEC>;
10485
10486impl FtdfTxMetaData13Reg {
10487 #[doc = "Tx meta data per entry: Sequence Number of this packet."]
10488 #[inline(always)]
10489 pub fn macsn(
10490 self,
10491 ) -> crate::common::RegisterField<
10492 0,
10493 0xff,
10494 1,
10495 0,
10496 u8,
10497 u8,
10498 FtdfTxMetaData13Reg_SPEC,
10499 crate::common::RW,
10500 > {
10501 crate::common::RegisterField::<
10502 0,
10503 0xff,
10504 1,
10505 0,
10506 u8,
10507 u8,
10508 FtdfTxMetaData13Reg_SPEC,
10509 crate::common::RW,
10510 >::from_register(self, 0)
10511 }
10512}
10513impl ::core::default::Default for FtdfTxMetaData13Reg {
10514 #[inline(always)]
10515 fn default() -> FtdfTxMetaData13Reg {
10516 <crate::RegValueT<FtdfTxMetaData13Reg_SPEC> as RegisterValue<_>>::new(0)
10517 }
10518}
10519
10520#[doc(hidden)]
10521#[derive(Copy, Clone, Eq, PartialEq)]
10522pub struct FtdfTxPriority0Reg_SPEC;
10523impl crate::sealed::RegSpec for FtdfTxPriority0Reg_SPEC {
10524 type DataType = u32;
10525}
10526
10527#[doc = "Transmit priority register 0"]
10528pub type FtdfTxPriority0Reg = crate::RegValueT<FtdfTxPriority0Reg_SPEC>;
10529
10530impl FtdfTxPriority0Reg {
10531 #[doc = "This register has 4 entries, belonging to the entry of the Tx frame to send, to be used during transmitting frames and the CMSA-CA phase before (when requested).\nIn TSCH mode this register shall be used during the time slot in which frames can be transmitted and consequently an Enhanced ACK can be received.\nSince pti_tx belongs to a certain frame to be transmitted, pti_tx can be considered as extra Tx meta data."]
10532 #[inline(always)]
10533 pub fn pti_tx(
10534 self,
10535 ) -> crate::common::RegisterField<
10536 8,
10537 0xf,
10538 1,
10539 0,
10540 u8,
10541 u8,
10542 FtdfTxPriority0Reg_SPEC,
10543 crate::common::RW,
10544 > {
10545 crate::common::RegisterField::<
10546 8,
10547 0xf,
10548 1,
10549 0,
10550 u8,
10551 u8,
10552 FtdfTxPriority0Reg_SPEC,
10553 crate::common::RW,
10554 >::from_register(self, 0)
10555 }
10556
10557 #[doc = "Tx meta data per entry: A basic wake-up frame can be generated by the UMAC in the Tx buffer.\nThe meta data control bit IsWakeUp must be set to indicate that this is a Wake-up frame."]
10558 #[inline(always)]
10559 pub fn iswakeup(
10560 self,
10561 ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfTxPriority0Reg_SPEC, crate::common::RW> {
10562 crate::common::RegisterFieldBool::<4,1,0,FtdfTxPriority0Reg_SPEC,crate::common::RW>::from_register(self,0)
10563 }
10564
10565 #[doc = "Tx meta data per entry: Priority of packet"]
10566 #[inline(always)]
10567 pub fn tx_priority(
10568 self,
10569 ) -> crate::common::RegisterField<
10570 0,
10571 0xf,
10572 1,
10573 0,
10574 u8,
10575 u8,
10576 FtdfTxPriority0Reg_SPEC,
10577 crate::common::RW,
10578 > {
10579 crate::common::RegisterField::<
10580 0,
10581 0xf,
10582 1,
10583 0,
10584 u8,
10585 u8,
10586 FtdfTxPriority0Reg_SPEC,
10587 crate::common::RW,
10588 >::from_register(self, 0)
10589 }
10590}
10591impl ::core::default::Default for FtdfTxPriority0Reg {
10592 #[inline(always)]
10593 fn default() -> FtdfTxPriority0Reg {
10594 <crate::RegValueT<FtdfTxPriority0Reg_SPEC> as RegisterValue<_>>::new(0)
10595 }
10596}
10597
10598#[doc(hidden)]
10599#[derive(Copy, Clone, Eq, PartialEq)]
10600pub struct FtdfTxPriority1Reg_SPEC;
10601impl crate::sealed::RegSpec for FtdfTxPriority1Reg_SPEC {
10602 type DataType = u32;
10603}
10604
10605#[doc = "Transmit priority register 1"]
10606pub type FtdfTxPriority1Reg = crate::RegValueT<FtdfTxPriority1Reg_SPEC>;
10607
10608impl FtdfTxPriority1Reg {
10609 #[doc = "This register has 4 entries, belonging to the entry of the Tx frame to send, to be used during transmitting frames and the CMSA-CA phase before (when requested).\nIn TSCH mode this register shall be used during the time slot in which frames can be transmitted and consequently an Enhanced ACK can be received.\nSince pti_tx belongs to a certain frame to be transmitted, pti_tx can be considered as extra Tx meta data."]
10610 #[inline(always)]
10611 pub fn pti_tx(
10612 self,
10613 ) -> crate::common::RegisterField<
10614 8,
10615 0xf,
10616 1,
10617 0,
10618 u8,
10619 u8,
10620 FtdfTxPriority1Reg_SPEC,
10621 crate::common::RW,
10622 > {
10623 crate::common::RegisterField::<
10624 8,
10625 0xf,
10626 1,
10627 0,
10628 u8,
10629 u8,
10630 FtdfTxPriority1Reg_SPEC,
10631 crate::common::RW,
10632 >::from_register(self, 0)
10633 }
10634
10635 #[doc = "Tx meta data per entry: A basic wake-up frame can be generated by the UMAC in the Tx buffer.\nThe meta data control bit IsWakeUp must be set to indicate that this is a Wake-up frame."]
10636 #[inline(always)]
10637 pub fn iswakeup(
10638 self,
10639 ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfTxPriority1Reg_SPEC, crate::common::RW> {
10640 crate::common::RegisterFieldBool::<4,1,0,FtdfTxPriority1Reg_SPEC,crate::common::RW>::from_register(self,0)
10641 }
10642
10643 #[doc = "Tx meta data per entry: Priority of packet"]
10644 #[inline(always)]
10645 pub fn tx_priority(
10646 self,
10647 ) -> crate::common::RegisterField<
10648 0,
10649 0xf,
10650 1,
10651 0,
10652 u8,
10653 u8,
10654 FtdfTxPriority1Reg_SPEC,
10655 crate::common::RW,
10656 > {
10657 crate::common::RegisterField::<
10658 0,
10659 0xf,
10660 1,
10661 0,
10662 u8,
10663 u8,
10664 FtdfTxPriority1Reg_SPEC,
10665 crate::common::RW,
10666 >::from_register(self, 0)
10667 }
10668}
10669impl ::core::default::Default for FtdfTxPriority1Reg {
10670 #[inline(always)]
10671 fn default() -> FtdfTxPriority1Reg {
10672 <crate::RegValueT<FtdfTxPriority1Reg_SPEC> as RegisterValue<_>>::new(0)
10673 }
10674}
10675
10676#[doc(hidden)]
10677#[derive(Copy, Clone, Eq, PartialEq)]
10678pub struct FtdfTxPriority2Reg_SPEC;
10679impl crate::sealed::RegSpec for FtdfTxPriority2Reg_SPEC {
10680 type DataType = u32;
10681}
10682
10683#[doc = "Transmit priority register 2"]
10684pub type FtdfTxPriority2Reg = crate::RegValueT<FtdfTxPriority2Reg_SPEC>;
10685
10686impl FtdfTxPriority2Reg {
10687 #[doc = "This register has 4 entries, belonging to the entry of the Tx frame to send, to be used during transmitting frames and the CMSA-CA phase before (when requested).\nIn TSCH mode this register shall be used during the time slot in which frames can be transmitted and consequently an Enhanced ACK can be received.\nSince pti_tx belongs to a certain frame to be transmitted, pti_tx can be considered as extra Tx meta data."]
10688 #[inline(always)]
10689 pub fn pti_tx(
10690 self,
10691 ) -> crate::common::RegisterField<
10692 8,
10693 0xf,
10694 1,
10695 0,
10696 u8,
10697 u8,
10698 FtdfTxPriority2Reg_SPEC,
10699 crate::common::RW,
10700 > {
10701 crate::common::RegisterField::<
10702 8,
10703 0xf,
10704 1,
10705 0,
10706 u8,
10707 u8,
10708 FtdfTxPriority2Reg_SPEC,
10709 crate::common::RW,
10710 >::from_register(self, 0)
10711 }
10712
10713 #[doc = "Tx meta data per entry: A basic wake-up frame can be generated by the UMAC in the Tx buffer.\nThe meta data control bit IsWakeUp must be set to indicate that this is a Wake-up frame."]
10714 #[inline(always)]
10715 pub fn iswakeup(
10716 self,
10717 ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfTxPriority2Reg_SPEC, crate::common::RW> {
10718 crate::common::RegisterFieldBool::<4,1,0,FtdfTxPriority2Reg_SPEC,crate::common::RW>::from_register(self,0)
10719 }
10720
10721 #[doc = "Tx meta data per entry: Priority of packet"]
10722 #[inline(always)]
10723 pub fn tx_priority(
10724 self,
10725 ) -> crate::common::RegisterField<
10726 0,
10727 0xf,
10728 1,
10729 0,
10730 u8,
10731 u8,
10732 FtdfTxPriority2Reg_SPEC,
10733 crate::common::RW,
10734 > {
10735 crate::common::RegisterField::<
10736 0,
10737 0xf,
10738 1,
10739 0,
10740 u8,
10741 u8,
10742 FtdfTxPriority2Reg_SPEC,
10743 crate::common::RW,
10744 >::from_register(self, 0)
10745 }
10746}
10747impl ::core::default::Default for FtdfTxPriority2Reg {
10748 #[inline(always)]
10749 fn default() -> FtdfTxPriority2Reg {
10750 <crate::RegValueT<FtdfTxPriority2Reg_SPEC> as RegisterValue<_>>::new(0)
10751 }
10752}
10753
10754#[doc(hidden)]
10755#[derive(Copy, Clone, Eq, PartialEq)]
10756pub struct FtdfTxPriority3Reg_SPEC;
10757impl crate::sealed::RegSpec for FtdfTxPriority3Reg_SPEC {
10758 type DataType = u32;
10759}
10760
10761#[doc = "Transmit priority register 3"]
10762pub type FtdfTxPriority3Reg = crate::RegValueT<FtdfTxPriority3Reg_SPEC>;
10763
10764impl FtdfTxPriority3Reg {
10765 #[doc = "This register has 4 entries, belonging to the entry of the Tx frame to send, to be used during transmitting frames and the CMSA-CA phase before (when requested).\nIn TSCH mode this register shall be used during the time slot in which frames can be transmitted and consequently an Enhanced ACK can be received.\nSince pti_tx belongs to a certain frame to be transmitted, pti_tx can be considered as extra Tx meta data."]
10766 #[inline(always)]
10767 pub fn pti_tx(
10768 self,
10769 ) -> crate::common::RegisterField<
10770 8,
10771 0xf,
10772 1,
10773 0,
10774 u8,
10775 u8,
10776 FtdfTxPriority3Reg_SPEC,
10777 crate::common::RW,
10778 > {
10779 crate::common::RegisterField::<
10780 8,
10781 0xf,
10782 1,
10783 0,
10784 u8,
10785 u8,
10786 FtdfTxPriority3Reg_SPEC,
10787 crate::common::RW,
10788 >::from_register(self, 0)
10789 }
10790
10791 #[doc = "Tx meta data per entry: A basic wake-up frame can be generated by the UMAC in the Tx buffer.\nThe meta data control bit IsWakeUp must be set to indicate that this is a Wake-up frame."]
10792 #[inline(always)]
10793 pub fn iswakeup(
10794 self,
10795 ) -> crate::common::RegisterFieldBool<4, 1, 0, FtdfTxPriority3Reg_SPEC, crate::common::RW> {
10796 crate::common::RegisterFieldBool::<4,1,0,FtdfTxPriority3Reg_SPEC,crate::common::RW>::from_register(self,0)
10797 }
10798
10799 #[doc = "Tx meta data per entry: Priority of packet"]
10800 #[inline(always)]
10801 pub fn tx_priority(
10802 self,
10803 ) -> crate::common::RegisterField<
10804 0,
10805 0xf,
10806 1,
10807 0,
10808 u8,
10809 u8,
10810 FtdfTxPriority3Reg_SPEC,
10811 crate::common::RW,
10812 > {
10813 crate::common::RegisterField::<
10814 0,
10815 0xf,
10816 1,
10817 0,
10818 u8,
10819 u8,
10820 FtdfTxPriority3Reg_SPEC,
10821 crate::common::RW,
10822 >::from_register(self, 0)
10823 }
10824}
10825impl ::core::default::Default for FtdfTxPriority3Reg {
10826 #[inline(always)]
10827 fn default() -> FtdfTxPriority3Reg {
10828 <crate::RegValueT<FtdfTxPriority3Reg_SPEC> as RegisterValue<_>>::new(0)
10829 }
10830}
10831
10832#[doc(hidden)]
10833#[derive(Copy, Clone, Eq, PartialEq)]
10834pub struct FtdfTxReturnStatus00Reg_SPEC;
10835impl crate::sealed::RegSpec for FtdfTxReturnStatus00Reg_SPEC {
10836 type DataType = u32;
10837}
10838
10839#[doc = "Transmit status register 0"]
10840pub type FtdfTxReturnStatus00Reg = crate::RegValueT<FtdfTxReturnStatus00Reg_SPEC>;
10841
10842impl FtdfTxReturnStatus00Reg {
10843 #[doc = "Tx return status per entry: Transmit Timestamp\nThe Timestamp of the transmitted packet."]
10844 #[inline(always)]
10845 pub fn txtimestamp(
10846 self,
10847 ) -> crate::common::RegisterField<
10848 0,
10849 0xffffffff,
10850 1,
10851 0,
10852 u32,
10853 u32,
10854 FtdfTxReturnStatus00Reg_SPEC,
10855 crate::common::R,
10856 > {
10857 crate::common::RegisterField::<
10858 0,
10859 0xffffffff,
10860 1,
10861 0,
10862 u32,
10863 u32,
10864 FtdfTxReturnStatus00Reg_SPEC,
10865 crate::common::R,
10866 >::from_register(self, 0)
10867 }
10868}
10869impl ::core::default::Default for FtdfTxReturnStatus00Reg {
10870 #[inline(always)]
10871 fn default() -> FtdfTxReturnStatus00Reg {
10872 <crate::RegValueT<FtdfTxReturnStatus00Reg_SPEC> as RegisterValue<_>>::new(0)
10873 }
10874}
10875
10876#[doc(hidden)]
10877#[derive(Copy, Clone, Eq, PartialEq)]
10878pub struct FtdfTxReturnStatus01Reg_SPEC;
10879impl crate::sealed::RegSpec for FtdfTxReturnStatus01Reg_SPEC {
10880 type DataType = u32;
10881}
10882
10883#[doc = "Transmit status register 1"]
10884pub type FtdfTxReturnStatus01Reg = crate::RegValueT<FtdfTxReturnStatus01Reg_SPEC>;
10885
10886impl FtdfTxReturnStatus01Reg {
10887 #[doc = "Tx return status per entry: Transmit Timestamp\nThe Timestamp of the transmitted packet."]
10888 #[inline(always)]
10889 pub fn txtimestamp(
10890 self,
10891 ) -> crate::common::RegisterField<
10892 0,
10893 0xffffffff,
10894 1,
10895 0,
10896 u32,
10897 u32,
10898 FtdfTxReturnStatus01Reg_SPEC,
10899 crate::common::R,
10900 > {
10901 crate::common::RegisterField::<
10902 0,
10903 0xffffffff,
10904 1,
10905 0,
10906 u32,
10907 u32,
10908 FtdfTxReturnStatus01Reg_SPEC,
10909 crate::common::R,
10910 >::from_register(self, 0)
10911 }
10912}
10913impl ::core::default::Default for FtdfTxReturnStatus01Reg {
10914 #[inline(always)]
10915 fn default() -> FtdfTxReturnStatus01Reg {
10916 <crate::RegValueT<FtdfTxReturnStatus01Reg_SPEC> as RegisterValue<_>>::new(0)
10917 }
10918}
10919
10920#[doc(hidden)]
10921#[derive(Copy, Clone, Eq, PartialEq)]
10922pub struct FtdfTxReturnStatus02Reg_SPEC;
10923impl crate::sealed::RegSpec for FtdfTxReturnStatus02Reg_SPEC {
10924 type DataType = u32;
10925}
10926
10927#[doc = "Transmit status register 2"]
10928pub type FtdfTxReturnStatus02Reg = crate::RegValueT<FtdfTxReturnStatus02Reg_SPEC>;
10929
10930impl FtdfTxReturnStatus02Reg {
10931 #[doc = "Tx return status per entry: Transmit Timestamp\nThe Timestamp of the transmitted packet."]
10932 #[inline(always)]
10933 pub fn txtimestamp(
10934 self,
10935 ) -> crate::common::RegisterField<
10936 0,
10937 0xffffffff,
10938 1,
10939 0,
10940 u32,
10941 u32,
10942 FtdfTxReturnStatus02Reg_SPEC,
10943 crate::common::R,
10944 > {
10945 crate::common::RegisterField::<
10946 0,
10947 0xffffffff,
10948 1,
10949 0,
10950 u32,
10951 u32,
10952 FtdfTxReturnStatus02Reg_SPEC,
10953 crate::common::R,
10954 >::from_register(self, 0)
10955 }
10956}
10957impl ::core::default::Default for FtdfTxReturnStatus02Reg {
10958 #[inline(always)]
10959 fn default() -> FtdfTxReturnStatus02Reg {
10960 <crate::RegValueT<FtdfTxReturnStatus02Reg_SPEC> as RegisterValue<_>>::new(0)
10961 }
10962}
10963
10964#[doc(hidden)]
10965#[derive(Copy, Clone, Eq, PartialEq)]
10966pub struct FtdfTxReturnStatus03Reg_SPEC;
10967impl crate::sealed::RegSpec for FtdfTxReturnStatus03Reg_SPEC {
10968 type DataType = u32;
10969}
10970
10971#[doc = "Transmit status register 3"]
10972pub type FtdfTxReturnStatus03Reg = crate::RegValueT<FtdfTxReturnStatus03Reg_SPEC>;
10973
10974impl FtdfTxReturnStatus03Reg {
10975 #[doc = "Tx return status per entry: Transmit Timestamp\nThe Timestamp of the transmitted packet."]
10976 #[inline(always)]
10977 pub fn txtimestamp(
10978 self,
10979 ) -> crate::common::RegisterField<
10980 0,
10981 0xffffffff,
10982 1,
10983 0,
10984 u32,
10985 u32,
10986 FtdfTxReturnStatus03Reg_SPEC,
10987 crate::common::R,
10988 > {
10989 crate::common::RegisterField::<
10990 0,
10991 0xffffffff,
10992 1,
10993 0,
10994 u32,
10995 u32,
10996 FtdfTxReturnStatus03Reg_SPEC,
10997 crate::common::R,
10998 >::from_register(self, 0)
10999 }
11000}
11001impl ::core::default::Default for FtdfTxReturnStatus03Reg {
11002 #[inline(always)]
11003 fn default() -> FtdfTxReturnStatus03Reg {
11004 <crate::RegValueT<FtdfTxReturnStatus03Reg_SPEC> as RegisterValue<_>>::new(0)
11005 }
11006}
11007
11008#[doc(hidden)]
11009#[derive(Copy, Clone, Eq, PartialEq)]
11010pub struct FtdfTxReturnStatus10Reg_SPEC;
11011impl crate::sealed::RegSpec for FtdfTxReturnStatus10Reg_SPEC {
11012 type DataType = u32;
11013}
11014
11015#[doc = "Transmit status register 0"]
11016pub type FtdfTxReturnStatus10Reg = crate::RegValueT<FtdfTxReturnStatus10Reg_SPEC>;
11017
11018impl FtdfTxReturnStatus10Reg {
11019 #[doc = "Tx return status per entry: Number of CSMA-CA retries before this frame has been transmitted"]
11020 #[inline(always)]
11021 pub fn csmacanrretries(
11022 self,
11023 ) -> crate::common::RegisterField<
11024 2,
11025 0x7,
11026 1,
11027 0,
11028 u8,
11029 u8,
11030 FtdfTxReturnStatus10Reg_SPEC,
11031 crate::common::R,
11032 > {
11033 crate::common::RegisterField::<
11034 2,
11035 0x7,
11036 1,
11037 0,
11038 u8,
11039 u8,
11040 FtdfTxReturnStatus10Reg_SPEC,
11041 crate::common::R,
11042 >::from_register(self, 0)
11043 }
11044
11045 #[doc = "Tx return status per entry: CSMA-CA status\n0 : SUCCESS\n1 : FAIL"]
11046 #[inline(always)]
11047 pub fn csmacafail(
11048 self,
11049 ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfTxReturnStatus10Reg_SPEC, crate::common::R>
11050 {
11051 crate::common::RegisterFieldBool::<1,1,0,FtdfTxReturnStatus10Reg_SPEC,crate::common::R>::from_register(self,0)
11052 }
11053
11054 #[doc = "Tx return status per entry: Acknowledgement status\n0 : SUCCESS\n1 : FAIL"]
11055 #[inline(always)]
11056 pub fn ackfail(
11057 self,
11058 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxReturnStatus10Reg_SPEC, crate::common::R>
11059 {
11060 crate::common::RegisterFieldBool::<0,1,0,FtdfTxReturnStatus10Reg_SPEC,crate::common::R>::from_register(self,0)
11061 }
11062}
11063impl ::core::default::Default for FtdfTxReturnStatus10Reg {
11064 #[inline(always)]
11065 fn default() -> FtdfTxReturnStatus10Reg {
11066 <crate::RegValueT<FtdfTxReturnStatus10Reg_SPEC> as RegisterValue<_>>::new(0)
11067 }
11068}
11069
11070#[doc(hidden)]
11071#[derive(Copy, Clone, Eq, PartialEq)]
11072pub struct FtdfTxReturnStatus11Reg_SPEC;
11073impl crate::sealed::RegSpec for FtdfTxReturnStatus11Reg_SPEC {
11074 type DataType = u32;
11075}
11076
11077#[doc = "Transmit status register 1"]
11078pub type FtdfTxReturnStatus11Reg = crate::RegValueT<FtdfTxReturnStatus11Reg_SPEC>;
11079
11080impl FtdfTxReturnStatus11Reg {
11081 #[doc = "Tx return status per entry: Number of CSMA-CA retries before this frame has been transmitted"]
11082 #[inline(always)]
11083 pub fn csmacanrretries(
11084 self,
11085 ) -> crate::common::RegisterField<
11086 2,
11087 0x7,
11088 1,
11089 0,
11090 u8,
11091 u8,
11092 FtdfTxReturnStatus11Reg_SPEC,
11093 crate::common::R,
11094 > {
11095 crate::common::RegisterField::<
11096 2,
11097 0x7,
11098 1,
11099 0,
11100 u8,
11101 u8,
11102 FtdfTxReturnStatus11Reg_SPEC,
11103 crate::common::R,
11104 >::from_register(self, 0)
11105 }
11106
11107 #[doc = "Tx return status per entry: CSMA-CA status\n0 : SUCCESS\n1 : FAIL"]
11108 #[inline(always)]
11109 pub fn csmacafail(
11110 self,
11111 ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfTxReturnStatus11Reg_SPEC, crate::common::R>
11112 {
11113 crate::common::RegisterFieldBool::<1,1,0,FtdfTxReturnStatus11Reg_SPEC,crate::common::R>::from_register(self,0)
11114 }
11115
11116 #[doc = "Tx return status per entry: Acknowledgement status\n0 : SUCCESS\n1 : FAIL"]
11117 #[inline(always)]
11118 pub fn ackfail(
11119 self,
11120 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxReturnStatus11Reg_SPEC, crate::common::R>
11121 {
11122 crate::common::RegisterFieldBool::<0,1,0,FtdfTxReturnStatus11Reg_SPEC,crate::common::R>::from_register(self,0)
11123 }
11124}
11125impl ::core::default::Default for FtdfTxReturnStatus11Reg {
11126 #[inline(always)]
11127 fn default() -> FtdfTxReturnStatus11Reg {
11128 <crate::RegValueT<FtdfTxReturnStatus11Reg_SPEC> as RegisterValue<_>>::new(0)
11129 }
11130}
11131
11132#[doc(hidden)]
11133#[derive(Copy, Clone, Eq, PartialEq)]
11134pub struct FtdfTxReturnStatus12Reg_SPEC;
11135impl crate::sealed::RegSpec for FtdfTxReturnStatus12Reg_SPEC {
11136 type DataType = u32;
11137}
11138
11139#[doc = "Transmit status register 2"]
11140pub type FtdfTxReturnStatus12Reg = crate::RegValueT<FtdfTxReturnStatus12Reg_SPEC>;
11141
11142impl FtdfTxReturnStatus12Reg {
11143 #[doc = "Tx return status per entry: Number of CSMA-CA retries before this frame has been transmitted"]
11144 #[inline(always)]
11145 pub fn csmacanrretries(
11146 self,
11147 ) -> crate::common::RegisterField<
11148 2,
11149 0x7,
11150 1,
11151 0,
11152 u8,
11153 u8,
11154 FtdfTxReturnStatus12Reg_SPEC,
11155 crate::common::R,
11156 > {
11157 crate::common::RegisterField::<
11158 2,
11159 0x7,
11160 1,
11161 0,
11162 u8,
11163 u8,
11164 FtdfTxReturnStatus12Reg_SPEC,
11165 crate::common::R,
11166 >::from_register(self, 0)
11167 }
11168
11169 #[doc = "Tx return status per entry: CSMA-CA status\n0 : SUCCESS\n1 : FAIL"]
11170 #[inline(always)]
11171 pub fn csmacafail(
11172 self,
11173 ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfTxReturnStatus12Reg_SPEC, crate::common::R>
11174 {
11175 crate::common::RegisterFieldBool::<1,1,0,FtdfTxReturnStatus12Reg_SPEC,crate::common::R>::from_register(self,0)
11176 }
11177
11178 #[doc = "Tx return status per entry: Acknowledgement status\n0 : SUCCESS\n1 : FAIL"]
11179 #[inline(always)]
11180 pub fn ackfail(
11181 self,
11182 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxReturnStatus12Reg_SPEC, crate::common::R>
11183 {
11184 crate::common::RegisterFieldBool::<0,1,0,FtdfTxReturnStatus12Reg_SPEC,crate::common::R>::from_register(self,0)
11185 }
11186}
11187impl ::core::default::Default for FtdfTxReturnStatus12Reg {
11188 #[inline(always)]
11189 fn default() -> FtdfTxReturnStatus12Reg {
11190 <crate::RegValueT<FtdfTxReturnStatus12Reg_SPEC> as RegisterValue<_>>::new(0)
11191 }
11192}
11193
11194#[doc(hidden)]
11195#[derive(Copy, Clone, Eq, PartialEq)]
11196pub struct FtdfTxReturnStatus13Reg_SPEC;
11197impl crate::sealed::RegSpec for FtdfTxReturnStatus13Reg_SPEC {
11198 type DataType = u32;
11199}
11200
11201#[doc = "Transmit status register 3"]
11202pub type FtdfTxReturnStatus13Reg = crate::RegValueT<FtdfTxReturnStatus13Reg_SPEC>;
11203
11204impl FtdfTxReturnStatus13Reg {
11205 #[doc = "Tx return status per entry: Number of CSMA-CA retries before this frame has been transmitted"]
11206 #[inline(always)]
11207 pub fn csmacanrretries(
11208 self,
11209 ) -> crate::common::RegisterField<
11210 2,
11211 0x7,
11212 1,
11213 0,
11214 u8,
11215 u8,
11216 FtdfTxReturnStatus13Reg_SPEC,
11217 crate::common::R,
11218 > {
11219 crate::common::RegisterField::<
11220 2,
11221 0x7,
11222 1,
11223 0,
11224 u8,
11225 u8,
11226 FtdfTxReturnStatus13Reg_SPEC,
11227 crate::common::R,
11228 >::from_register(self, 0)
11229 }
11230
11231 #[doc = "Tx return status per entry: CSMA-CA status\n0 : SUCCESS\n1 : FAIL"]
11232 #[inline(always)]
11233 pub fn csmacafail(
11234 self,
11235 ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfTxReturnStatus13Reg_SPEC, crate::common::R>
11236 {
11237 crate::common::RegisterFieldBool::<1,1,0,FtdfTxReturnStatus13Reg_SPEC,crate::common::R>::from_register(self,0)
11238 }
11239
11240 #[doc = "Tx return status per entry: Acknowledgement status\n0 : SUCCESS\n1 : FAIL"]
11241 #[inline(always)]
11242 pub fn ackfail(
11243 self,
11244 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfTxReturnStatus13Reg_SPEC, crate::common::R>
11245 {
11246 crate::common::RegisterFieldBool::<0,1,0,FtdfTxReturnStatus13Reg_SPEC,crate::common::R>::from_register(self,0)
11247 }
11248}
11249impl ::core::default::Default for FtdfTxReturnStatus13Reg {
11250 #[inline(always)]
11251 fn default() -> FtdfTxReturnStatus13Reg {
11252 <crate::RegValueT<FtdfTxReturnStatus13Reg_SPEC> as RegisterValue<_>>::new(0)
11253 }
11254}
11255
11256#[doc(hidden)]
11257#[derive(Copy, Clone, Eq, PartialEq)]
11258pub struct FtdfTxSetOsReg_SPEC;
11259impl crate::sealed::RegSpec for FtdfTxSetOsReg_SPEC {
11260 type DataType = u32;
11261}
11262
11263#[doc = "One shot register to set flag"]
11264pub type FtdfTxSetOsReg = crate::RegValueT<FtdfTxSetOsReg_SPEC>;
11265
11266impl FtdfTxSetOsReg {
11267 #[doc = "Tx meta data per entry: if set to \'1\', the tx_flag_stat will be set to \'1\'."]
11268 #[inline(always)]
11269 pub fn tx_flag_set(
11270 self,
11271 ) -> crate::common::RegisterField<0, 0xf, 1, 0, u8, u8, FtdfTxSetOsReg_SPEC, crate::common::W>
11272 {
11273 crate::common::RegisterField::<0,0xf,1,0,u8,u8,FtdfTxSetOsReg_SPEC,crate::common::W>::from_register(self,0)
11274 }
11275}
11276impl ::core::default::Default for FtdfTxSetOsReg {
11277 #[inline(always)]
11278 fn default() -> FtdfTxSetOsReg {
11279 <crate::RegValueT<FtdfTxSetOsReg_SPEC> as RegisterValue<_>>::new(0)
11280 }
11281}
11282
11283#[doc(hidden)]
11284#[derive(Copy, Clone, Eq, PartialEq)]
11285pub struct FtdfWakeupControlOsReg_SPEC;
11286impl crate::sealed::RegSpec for FtdfWakeupControlOsReg_SPEC {
11287 type DataType = u32;
11288}
11289
11290pub type FtdfWakeupControlOsReg = crate::RegValueT<FtdfWakeupControlOsReg_SPEC>;
11291
11292impl FtdfWakeupControlOsReg {
11293 #[doc = "If set, WakeupTimerEnableStatus will be cleared."]
11294 #[inline(always)]
11295 pub fn wakeuptimerenable_clear(
11296 self,
11297 ) -> crate::common::RegisterFieldBool<1, 1, 0, FtdfWakeupControlOsReg_SPEC, crate::common::W>
11298 {
11299 crate::common::RegisterFieldBool::<1,1,0,FtdfWakeupControlOsReg_SPEC,crate::common::W>::from_register(self,0)
11300 }
11301
11302 #[doc = "If set, WakeupTimerEnableStatus will be set."]
11303 #[inline(always)]
11304 pub fn wakeuptimerenable_set(
11305 self,
11306 ) -> crate::common::RegisterFieldBool<0, 1, 0, FtdfWakeupControlOsReg_SPEC, crate::common::W>
11307 {
11308 crate::common::RegisterFieldBool::<0,1,0,FtdfWakeupControlOsReg_SPEC,crate::common::W>::from_register(self,0)
11309 }
11310}
11311impl ::core::default::Default for FtdfWakeupControlOsReg {
11312 #[inline(always)]
11313 fn default() -> FtdfWakeupControlOsReg {
11314 <crate::RegValueT<FtdfWakeupControlOsReg_SPEC> as RegisterValue<_>>::new(0)
11315 }
11316}
11317
11318#[doc(hidden)]
11319#[derive(Copy, Clone, Eq, PartialEq)]
11320pub struct FtdfWakeupControlReg_SPEC;
11321impl crate::sealed::RegSpec for FtdfWakeupControlReg_SPEC {
11322 type DataType = u32;
11323}
11324
11325#[doc = "Wakeup timer vcontrol register"]
11326pub type FtdfWakeupControlReg = crate::RegValueT<FtdfWakeupControlReg_SPEC>;
11327
11328impl FtdfWakeupControlReg {
11329 #[doc = "The Control register WakeUp_mode controls the behavior of the Event counter:\n0d = off, 1d = free running (default), 2d = one shot with auto clear, 3d = configurable period (timer\nmode)."]
11330 #[inline(always)]
11331 pub fn wakeup_mode(
11332 self,
11333 ) -> crate::common::RegisterField<
11334 30,
11335 0x3,
11336 1,
11337 0,
11338 u8,
11339 u8,
11340 FtdfWakeupControlReg_SPEC,
11341 crate::common::RW,
11342 > {
11343 crate::common::RegisterField::<
11344 30,
11345 0x3,
11346 1,
11347 0,
11348 u8,
11349 u8,
11350 FtdfWakeupControlReg_SPEC,
11351 crate::common::RW,
11352 >::from_register(self, 0)
11353 }
11354
11355 #[doc = "If set to \'1\', the WakeUpIntThr is enabled to generate an WAKEUP_IRQ interrupt."]
11356 #[inline(always)]
11357 pub fn wakeupenable(
11358 self,
11359 ) -> crate::common::RegisterFieldBool<29, 1, 0, FtdfWakeupControlReg_SPEC, crate::common::RW>
11360 {
11361 crate::common::RegisterFieldBool::<29,1,0,FtdfWakeupControlReg_SPEC,crate::common::RW>::from_register(self,0)
11362 }
11363
11364 #[doc = "Threshold for wake-up interrupt. When WakeUpEnable is set to \'1\' and the Wake-up (event) counter matches this value, the interrupt WAKEUP_IRQ is set to \'1\' for the duration of one LP_CLK period."]
11365 #[inline(always)]
11366 pub fn wakeupintthr(
11367 self,
11368 ) -> crate::common::RegisterField<
11369 0,
11370 0x1ffffff,
11371 1,
11372 0,
11373 u32,
11374 u32,
11375 FtdfWakeupControlReg_SPEC,
11376 crate::common::RW,
11377 > {
11378 crate::common::RegisterField::<
11379 0,
11380 0x1ffffff,
11381 1,
11382 0,
11383 u32,
11384 u32,
11385 FtdfWakeupControlReg_SPEC,
11386 crate::common::RW,
11387 >::from_register(self, 0)
11388 }
11389}
11390impl ::core::default::Default for FtdfWakeupControlReg {
11391 #[inline(always)]
11392 fn default() -> FtdfWakeupControlReg {
11393 <crate::RegValueT<FtdfWakeupControlReg_SPEC> as RegisterValue<_>>::new(1073741824)
11394 }
11395}