1#[doc = "Register `CTRL1_PN` reader"]
2pub struct R(crate::R<CTRL1_PN_SPEC>);
3impl core::ops::Deref for R {
4 type Target = crate::R<CTRL1_PN_SPEC>;
5 #[inline(always)]
6 fn deref(&self) -> &Self::Target {
7 &self.0
8 }
9}
10impl From<crate::R<CTRL1_PN_SPEC>> for R {
11 #[inline(always)]
12 fn from(reader: crate::R<CTRL1_PN_SPEC>) -> Self {
13 R(reader)
14 }
15}
16#[doc = "Register `CTRL1_PN` writer"]
17pub struct W(crate::W<CTRL1_PN_SPEC>);
18impl core::ops::Deref for W {
19 type Target = crate::W<CTRL1_PN_SPEC>;
20 #[inline(always)]
21 fn deref(&self) -> &Self::Target {
22 &self.0
23 }
24}
25impl core::ops::DerefMut for W {
26 #[inline(always)]
27 fn deref_mut(&mut self) -> &mut Self::Target {
28 &mut self.0
29 }
30}
31impl From<crate::W<CTRL1_PN_SPEC>> for W {
32 #[inline(always)]
33 fn from(writer: crate::W<CTRL1_PN_SPEC>) -> Self {
34 W(writer)
35 }
36}
37#[doc = "Filtering Combination Selection\n\nValue on reset: 0"]
38#[derive(Clone, Copy, Debug, PartialEq)]
39#[repr(u8)]
40pub enum FCS_A {
41 #[doc = "0: Message ID filtering only"]
42 _00 = 0,
43 #[doc = "1: Message ID filtering and payload filtering"]
44 _01 = 1,
45 #[doc = "2: Message ID filtering occurring a specified number of times."]
46 _10 = 2,
47 #[doc = "3: Message ID filtering and payload filtering a specified number of times"]
48 _11 = 3,
49}
50impl From<FCS_A> for u8 {
51 #[inline(always)]
52 fn from(variant: FCS_A) -> Self {
53 variant as _
54 }
55}
56#[doc = "Field `FCS` reader - Filtering Combination Selection"]
57pub struct FCS_R(crate::FieldReader<u8, FCS_A>);
58impl FCS_R {
59 #[inline(always)]
60 pub(crate) fn new(bits: u8) -> Self {
61 FCS_R(crate::FieldReader::new(bits))
62 }
63 #[doc = r"Get enumerated values variant"]
64 #[inline(always)]
65 pub fn variant(&self) -> FCS_A {
66 match self.bits {
67 0 => FCS_A::_00,
68 1 => FCS_A::_01,
69 2 => FCS_A::_10,
70 3 => FCS_A::_11,
71 _ => unreachable!(),
72 }
73 }
74 #[doc = "Checks if the value of the field is `_00`"]
75 #[inline(always)]
76 pub fn is_00(&self) -> bool {
77 **self == FCS_A::_00
78 }
79 #[doc = "Checks if the value of the field is `_01`"]
80 #[inline(always)]
81 pub fn is_01(&self) -> bool {
82 **self == FCS_A::_01
83 }
84 #[doc = "Checks if the value of the field is `_10`"]
85 #[inline(always)]
86 pub fn is_10(&self) -> bool {
87 **self == FCS_A::_10
88 }
89 #[doc = "Checks if the value of the field is `_11`"]
90 #[inline(always)]
91 pub fn is_11(&self) -> bool {
92 **self == FCS_A::_11
93 }
94}
95impl core::ops::Deref for FCS_R {
96 type Target = crate::FieldReader<u8, FCS_A>;
97 #[inline(always)]
98 fn deref(&self) -> &Self::Target {
99 &self.0
100 }
101}
102#[doc = "Field `FCS` writer - Filtering Combination Selection"]
103pub struct FCS_W<'a> {
104 w: &'a mut W,
105}
106impl<'a> FCS_W<'a> {
107 #[doc = r"Writes `variant` to the field"]
108 #[inline(always)]
109 pub fn variant(self, variant: FCS_A) -> &'a mut W {
110 self.bits(variant.into())
111 }
112 #[doc = "Message ID filtering only"]
113 #[inline(always)]
114 pub fn _00(self) -> &'a mut W {
115 self.variant(FCS_A::_00)
116 }
117 #[doc = "Message ID filtering and payload filtering"]
118 #[inline(always)]
119 pub fn _01(self) -> &'a mut W {
120 self.variant(FCS_A::_01)
121 }
122 #[doc = "Message ID filtering occurring a specified number of times."]
123 #[inline(always)]
124 pub fn _10(self) -> &'a mut W {
125 self.variant(FCS_A::_10)
126 }
127 #[doc = "Message ID filtering and payload filtering a specified number of times"]
128 #[inline(always)]
129 pub fn _11(self) -> &'a mut W {
130 self.variant(FCS_A::_11)
131 }
132 #[doc = r"Writes raw bits to the field"]
133 #[inline(always)]
134 pub fn bits(self, value: u8) -> &'a mut W {
135 self.w.bits = (self.w.bits & !0x03) | (value as u32 & 0x03);
136 self.w
137 }
138}
139#[doc = "ID Filtering Selection\n\nValue on reset: 0"]
140#[derive(Clone, Copy, Debug, PartialEq)]
141#[repr(u8)]
142pub enum IDFS_A {
143 #[doc = "0: Match upon a ID contents against an exact target value"]
144 _00 = 0,
145 #[doc = "1: Match upon a ID value greater than or equal to a specified target value"]
146 _01 = 1,
147 #[doc = "2: Match upon a ID value smaller than or equal to a specified target value"]
148 _10 = 2,
149 #[doc = "3: Match upon a ID value inside a range, greater than or equal to a specified lower limit and smaller than or equal a specified upper limit"]
150 _11 = 3,
151}
152impl From<IDFS_A> for u8 {
153 #[inline(always)]
154 fn from(variant: IDFS_A) -> Self {
155 variant as _
156 }
157}
158#[doc = "Field `IDFS` reader - ID Filtering Selection"]
159pub struct IDFS_R(crate::FieldReader<u8, IDFS_A>);
160impl IDFS_R {
161 #[inline(always)]
162 pub(crate) fn new(bits: u8) -> Self {
163 IDFS_R(crate::FieldReader::new(bits))
164 }
165 #[doc = r"Get enumerated values variant"]
166 #[inline(always)]
167 pub fn variant(&self) -> IDFS_A {
168 match self.bits {
169 0 => IDFS_A::_00,
170 1 => IDFS_A::_01,
171 2 => IDFS_A::_10,
172 3 => IDFS_A::_11,
173 _ => unreachable!(),
174 }
175 }
176 #[doc = "Checks if the value of the field is `_00`"]
177 #[inline(always)]
178 pub fn is_00(&self) -> bool {
179 **self == IDFS_A::_00
180 }
181 #[doc = "Checks if the value of the field is `_01`"]
182 #[inline(always)]
183 pub fn is_01(&self) -> bool {
184 **self == IDFS_A::_01
185 }
186 #[doc = "Checks if the value of the field is `_10`"]
187 #[inline(always)]
188 pub fn is_10(&self) -> bool {
189 **self == IDFS_A::_10
190 }
191 #[doc = "Checks if the value of the field is `_11`"]
192 #[inline(always)]
193 pub fn is_11(&self) -> bool {
194 **self == IDFS_A::_11
195 }
196}
197impl core::ops::Deref for IDFS_R {
198 type Target = crate::FieldReader<u8, IDFS_A>;
199 #[inline(always)]
200 fn deref(&self) -> &Self::Target {
201 &self.0
202 }
203}
204#[doc = "Field `IDFS` writer - ID Filtering Selection"]
205pub struct IDFS_W<'a> {
206 w: &'a mut W,
207}
208impl<'a> IDFS_W<'a> {
209 #[doc = r"Writes `variant` to the field"]
210 #[inline(always)]
211 pub fn variant(self, variant: IDFS_A) -> &'a mut W {
212 self.bits(variant.into())
213 }
214 #[doc = "Match upon a ID contents against an exact target value"]
215 #[inline(always)]
216 pub fn _00(self) -> &'a mut W {
217 self.variant(IDFS_A::_00)
218 }
219 #[doc = "Match upon a ID value greater than or equal to a specified target value"]
220 #[inline(always)]
221 pub fn _01(self) -> &'a mut W {
222 self.variant(IDFS_A::_01)
223 }
224 #[doc = "Match upon a ID value smaller than or equal to a specified target value"]
225 #[inline(always)]
226 pub fn _10(self) -> &'a mut W {
227 self.variant(IDFS_A::_10)
228 }
229 #[doc = "Match upon a ID value inside a range, greater than or equal to a specified lower limit and smaller than or equal a specified upper limit"]
230 #[inline(always)]
231 pub fn _11(self) -> &'a mut W {
232 self.variant(IDFS_A::_11)
233 }
234 #[doc = r"Writes raw bits to the field"]
235 #[inline(always)]
236 pub fn bits(self, value: u8) -> &'a mut W {
237 self.w.bits = (self.w.bits & !(0x03 << 2)) | ((value as u32 & 0x03) << 2);
238 self.w
239 }
240}
241#[doc = "Payload Filtering Selection\n\nValue on reset: 0"]
242#[derive(Clone, Copy, Debug, PartialEq)]
243#[repr(u8)]
244pub enum PLFS_A {
245 #[doc = "0: Match upon a payload contents against an exact target value"]
246 _00 = 0,
247 #[doc = "1: Match upon a payload value greater than or equal to a specified target value"]
248 _01 = 1,
249 #[doc = "2: Match upon a payload value smaller than or equal to a specified target value"]
250 _10 = 2,
251 #[doc = "3: Match upon a payload value inside a range, greater than or equal to a specified lower limit and smaller than or equal a specified upper limit"]
252 _11 = 3,
253}
254impl From<PLFS_A> for u8 {
255 #[inline(always)]
256 fn from(variant: PLFS_A) -> Self {
257 variant as _
258 }
259}
260#[doc = "Field `PLFS` reader - Payload Filtering Selection"]
261pub struct PLFS_R(crate::FieldReader<u8, PLFS_A>);
262impl PLFS_R {
263 #[inline(always)]
264 pub(crate) fn new(bits: u8) -> Self {
265 PLFS_R(crate::FieldReader::new(bits))
266 }
267 #[doc = r"Get enumerated values variant"]
268 #[inline(always)]
269 pub fn variant(&self) -> PLFS_A {
270 match self.bits {
271 0 => PLFS_A::_00,
272 1 => PLFS_A::_01,
273 2 => PLFS_A::_10,
274 3 => PLFS_A::_11,
275 _ => unreachable!(),
276 }
277 }
278 #[doc = "Checks if the value of the field is `_00`"]
279 #[inline(always)]
280 pub fn is_00(&self) -> bool {
281 **self == PLFS_A::_00
282 }
283 #[doc = "Checks if the value of the field is `_01`"]
284 #[inline(always)]
285 pub fn is_01(&self) -> bool {
286 **self == PLFS_A::_01
287 }
288 #[doc = "Checks if the value of the field is `_10`"]
289 #[inline(always)]
290 pub fn is_10(&self) -> bool {
291 **self == PLFS_A::_10
292 }
293 #[doc = "Checks if the value of the field is `_11`"]
294 #[inline(always)]
295 pub fn is_11(&self) -> bool {
296 **self == PLFS_A::_11
297 }
298}
299impl core::ops::Deref for PLFS_R {
300 type Target = crate::FieldReader<u8, PLFS_A>;
301 #[inline(always)]
302 fn deref(&self) -> &Self::Target {
303 &self.0
304 }
305}
306#[doc = "Field `PLFS` writer - Payload Filtering Selection"]
307pub struct PLFS_W<'a> {
308 w: &'a mut W,
309}
310impl<'a> PLFS_W<'a> {
311 #[doc = r"Writes `variant` to the field"]
312 #[inline(always)]
313 pub fn variant(self, variant: PLFS_A) -> &'a mut W {
314 self.bits(variant.into())
315 }
316 #[doc = "Match upon a payload contents against an exact target value"]
317 #[inline(always)]
318 pub fn _00(self) -> &'a mut W {
319 self.variant(PLFS_A::_00)
320 }
321 #[doc = "Match upon a payload value greater than or equal to a specified target value"]
322 #[inline(always)]
323 pub fn _01(self) -> &'a mut W {
324 self.variant(PLFS_A::_01)
325 }
326 #[doc = "Match upon a payload value smaller than or equal to a specified target value"]
327 #[inline(always)]
328 pub fn _10(self) -> &'a mut W {
329 self.variant(PLFS_A::_10)
330 }
331 #[doc = "Match upon a payload value inside a range, greater than or equal to a specified lower limit and smaller than or equal a specified upper limit"]
332 #[inline(always)]
333 pub fn _11(self) -> &'a mut W {
334 self.variant(PLFS_A::_11)
335 }
336 #[doc = r"Writes raw bits to the field"]
337 #[inline(always)]
338 pub fn bits(self, value: u8) -> &'a mut W {
339 self.w.bits = (self.w.bits & !(0x03 << 4)) | ((value as u32 & 0x03) << 4);
340 self.w
341 }
342}
343#[doc = "Number of Messages Matching the Same Filtering Criteria\n\nValue on reset: 1"]
344#[derive(Clone, Copy, Debug, PartialEq)]
345#[repr(u8)]
346pub enum NMATCH_A {
347 #[doc = "1: Received message must match the predefined filtering criteria for ID and/or PL once before generating a wake up event."]
348 _00000001 = 1,
349 #[doc = "2: Received message must match the predefined filtering criteria for ID and/or PL twice before generating a wake up event."]
350 _00000010 = 2,
351 #[doc = "255: Received message must match the predefined filtering criteria for ID and/or PL 255 times before generating a wake up event."]
352 _11111111 = 255,
353}
354impl From<NMATCH_A> for u8 {
355 #[inline(always)]
356 fn from(variant: NMATCH_A) -> Self {
357 variant as _
358 }
359}
360#[doc = "Field `NMATCH` reader - Number of Messages Matching the Same Filtering Criteria"]
361pub struct NMATCH_R(crate::FieldReader<u8, NMATCH_A>);
362impl NMATCH_R {
363 #[inline(always)]
364 pub(crate) fn new(bits: u8) -> Self {
365 NMATCH_R(crate::FieldReader::new(bits))
366 }
367 #[doc = r"Get enumerated values variant"]
368 #[inline(always)]
369 pub fn variant(&self) -> Option<NMATCH_A> {
370 match self.bits {
371 1 => Some(NMATCH_A::_00000001),
372 2 => Some(NMATCH_A::_00000010),
373 255 => Some(NMATCH_A::_11111111),
374 _ => None,
375 }
376 }
377 #[doc = "Checks if the value of the field is `_00000001`"]
378 #[inline(always)]
379 pub fn is_00000001(&self) -> bool {
380 **self == NMATCH_A::_00000001
381 }
382 #[doc = "Checks if the value of the field is `_00000010`"]
383 #[inline(always)]
384 pub fn is_00000010(&self) -> bool {
385 **self == NMATCH_A::_00000010
386 }
387 #[doc = "Checks if the value of the field is `_11111111`"]
388 #[inline(always)]
389 pub fn is_11111111(&self) -> bool {
390 **self == NMATCH_A::_11111111
391 }
392}
393impl core::ops::Deref for NMATCH_R {
394 type Target = crate::FieldReader<u8, NMATCH_A>;
395 #[inline(always)]
396 fn deref(&self) -> &Self::Target {
397 &self.0
398 }
399}
400#[doc = "Field `NMATCH` writer - Number of Messages Matching the Same Filtering Criteria"]
401pub struct NMATCH_W<'a> {
402 w: &'a mut W,
403}
404impl<'a> NMATCH_W<'a> {
405 #[doc = r"Writes `variant` to the field"]
406 #[inline(always)]
407 pub fn variant(self, variant: NMATCH_A) -> &'a mut W {
408 unsafe { self.bits(variant.into()) }
409 }
410 #[doc = "Received message must match the predefined filtering criteria for ID and/or PL once before generating a wake up event."]
411 #[inline(always)]
412 pub fn _00000001(self) -> &'a mut W {
413 self.variant(NMATCH_A::_00000001)
414 }
415 #[doc = "Received message must match the predefined filtering criteria for ID and/or PL twice before generating a wake up event."]
416 #[inline(always)]
417 pub fn _00000010(self) -> &'a mut W {
418 self.variant(NMATCH_A::_00000010)
419 }
420 #[doc = "Received message must match the predefined filtering criteria for ID and/or PL 255 times before generating a wake up event."]
421 #[inline(always)]
422 pub fn _11111111(self) -> &'a mut W {
423 self.variant(NMATCH_A::_11111111)
424 }
425 #[doc = r"Writes raw bits to the field"]
426 #[inline(always)]
427 pub unsafe fn bits(self, value: u8) -> &'a mut W {
428 self.w.bits = (self.w.bits & !(0xff << 8)) | ((value as u32 & 0xff) << 8);
429 self.w
430 }
431}
432#[doc = "Wake Up by Match Flag Mask Bit\n\nValue on reset: 0"]
433#[derive(Clone, Copy, Debug, PartialEq)]
434pub enum WUMF_MSK_A {
435 #[doc = "0: Wake up match event is disabled"]
436 _0 = 0,
437 #[doc = "1: Wake up match event is enabled"]
438 _1 = 1,
439}
440impl From<WUMF_MSK_A> for bool {
441 #[inline(always)]
442 fn from(variant: WUMF_MSK_A) -> Self {
443 variant as u8 != 0
444 }
445}
446#[doc = "Field `WUMF_MSK` reader - Wake Up by Match Flag Mask Bit"]
447pub struct WUMF_MSK_R(crate::FieldReader<bool, WUMF_MSK_A>);
448impl WUMF_MSK_R {
449 #[inline(always)]
450 pub(crate) fn new(bits: bool) -> Self {
451 WUMF_MSK_R(crate::FieldReader::new(bits))
452 }
453 #[doc = r"Get enumerated values variant"]
454 #[inline(always)]
455 pub fn variant(&self) -> WUMF_MSK_A {
456 match self.bits {
457 false => WUMF_MSK_A::_0,
458 true => WUMF_MSK_A::_1,
459 }
460 }
461 #[doc = "Checks if the value of the field is `_0`"]
462 #[inline(always)]
463 pub fn is_0(&self) -> bool {
464 **self == WUMF_MSK_A::_0
465 }
466 #[doc = "Checks if the value of the field is `_1`"]
467 #[inline(always)]
468 pub fn is_1(&self) -> bool {
469 **self == WUMF_MSK_A::_1
470 }
471}
472impl core::ops::Deref for WUMF_MSK_R {
473 type Target = crate::FieldReader<bool, WUMF_MSK_A>;
474 #[inline(always)]
475 fn deref(&self) -> &Self::Target {
476 &self.0
477 }
478}
479#[doc = "Field `WUMF_MSK` writer - Wake Up by Match Flag Mask Bit"]
480pub struct WUMF_MSK_W<'a> {
481 w: &'a mut W,
482}
483impl<'a> WUMF_MSK_W<'a> {
484 #[doc = r"Writes `variant` to the field"]
485 #[inline(always)]
486 pub fn variant(self, variant: WUMF_MSK_A) -> &'a mut W {
487 self.bit(variant.into())
488 }
489 #[doc = "Wake up match event is disabled"]
490 #[inline(always)]
491 pub fn _0(self) -> &'a mut W {
492 self.variant(WUMF_MSK_A::_0)
493 }
494 #[doc = "Wake up match event is enabled"]
495 #[inline(always)]
496 pub fn _1(self) -> &'a mut W {
497 self.variant(WUMF_MSK_A::_1)
498 }
499 #[doc = r"Sets the field bit"]
500 #[inline(always)]
501 pub fn set_bit(self) -> &'a mut W {
502 self.bit(true)
503 }
504 #[doc = r"Clears the field bit"]
505 #[inline(always)]
506 pub fn clear_bit(self) -> &'a mut W {
507 self.bit(false)
508 }
509 #[doc = r"Writes raw bits to the field"]
510 #[inline(always)]
511 pub fn bit(self, value: bool) -> &'a mut W {
512 self.w.bits = (self.w.bits & !(0x01 << 16)) | ((value as u32 & 0x01) << 16);
513 self.w
514 }
515}
516#[doc = "Wake Up by Timeout Flag Mask Bit\n\nValue on reset: 0"]
517#[derive(Clone, Copy, Debug, PartialEq)]
518pub enum WTOF_MSK_A {
519 #[doc = "0: Timeout wake up event is disabled"]
520 _0 = 0,
521 #[doc = "1: Timeout wake up event is enabled"]
522 _1 = 1,
523}
524impl From<WTOF_MSK_A> for bool {
525 #[inline(always)]
526 fn from(variant: WTOF_MSK_A) -> Self {
527 variant as u8 != 0
528 }
529}
530#[doc = "Field `WTOF_MSK` reader - Wake Up by Timeout Flag Mask Bit"]
531pub struct WTOF_MSK_R(crate::FieldReader<bool, WTOF_MSK_A>);
532impl WTOF_MSK_R {
533 #[inline(always)]
534 pub(crate) fn new(bits: bool) -> Self {
535 WTOF_MSK_R(crate::FieldReader::new(bits))
536 }
537 #[doc = r"Get enumerated values variant"]
538 #[inline(always)]
539 pub fn variant(&self) -> WTOF_MSK_A {
540 match self.bits {
541 false => WTOF_MSK_A::_0,
542 true => WTOF_MSK_A::_1,
543 }
544 }
545 #[doc = "Checks if the value of the field is `_0`"]
546 #[inline(always)]
547 pub fn is_0(&self) -> bool {
548 **self == WTOF_MSK_A::_0
549 }
550 #[doc = "Checks if the value of the field is `_1`"]
551 #[inline(always)]
552 pub fn is_1(&self) -> bool {
553 **self == WTOF_MSK_A::_1
554 }
555}
556impl core::ops::Deref for WTOF_MSK_R {
557 type Target = crate::FieldReader<bool, WTOF_MSK_A>;
558 #[inline(always)]
559 fn deref(&self) -> &Self::Target {
560 &self.0
561 }
562}
563#[doc = "Field `WTOF_MSK` writer - Wake Up by Timeout Flag Mask Bit"]
564pub struct WTOF_MSK_W<'a> {
565 w: &'a mut W,
566}
567impl<'a> WTOF_MSK_W<'a> {
568 #[doc = r"Writes `variant` to the field"]
569 #[inline(always)]
570 pub fn variant(self, variant: WTOF_MSK_A) -> &'a mut W {
571 self.bit(variant.into())
572 }
573 #[doc = "Timeout wake up event is disabled"]
574 #[inline(always)]
575 pub fn _0(self) -> &'a mut W {
576 self.variant(WTOF_MSK_A::_0)
577 }
578 #[doc = "Timeout wake up event is enabled"]
579 #[inline(always)]
580 pub fn _1(self) -> &'a mut W {
581 self.variant(WTOF_MSK_A::_1)
582 }
583 #[doc = r"Sets the field bit"]
584 #[inline(always)]
585 pub fn set_bit(self) -> &'a mut W {
586 self.bit(true)
587 }
588 #[doc = r"Clears the field bit"]
589 #[inline(always)]
590 pub fn clear_bit(self) -> &'a mut W {
591 self.bit(false)
592 }
593 #[doc = r"Writes raw bits to the field"]
594 #[inline(always)]
595 pub fn bit(self, value: bool) -> &'a mut W {
596 self.w.bits = (self.w.bits & !(0x01 << 17)) | ((value as u32 & 0x01) << 17);
597 self.w
598 }
599}
600impl R {
601 #[doc = "Bits 0:1 - Filtering Combination Selection"]
602 #[inline(always)]
603 pub fn fcs(&self) -> FCS_R {
604 FCS_R::new((self.bits & 0x03) as u8)
605 }
606 #[doc = "Bits 2:3 - ID Filtering Selection"]
607 #[inline(always)]
608 pub fn idfs(&self) -> IDFS_R {
609 IDFS_R::new(((self.bits >> 2) & 0x03) as u8)
610 }
611 #[doc = "Bits 4:5 - Payload Filtering Selection"]
612 #[inline(always)]
613 pub fn plfs(&self) -> PLFS_R {
614 PLFS_R::new(((self.bits >> 4) & 0x03) as u8)
615 }
616 #[doc = "Bits 8:15 - Number of Messages Matching the Same Filtering Criteria"]
617 #[inline(always)]
618 pub fn nmatch(&self) -> NMATCH_R {
619 NMATCH_R::new(((self.bits >> 8) & 0xff) as u8)
620 }
621 #[doc = "Bit 16 - Wake Up by Match Flag Mask Bit"]
622 #[inline(always)]
623 pub fn wumf_msk(&self) -> WUMF_MSK_R {
624 WUMF_MSK_R::new(((self.bits >> 16) & 0x01) != 0)
625 }
626 #[doc = "Bit 17 - Wake Up by Timeout Flag Mask Bit"]
627 #[inline(always)]
628 pub fn wtof_msk(&self) -> WTOF_MSK_R {
629 WTOF_MSK_R::new(((self.bits >> 17) & 0x01) != 0)
630 }
631}
632impl W {
633 #[doc = "Bits 0:1 - Filtering Combination Selection"]
634 #[inline(always)]
635 pub fn fcs(&mut self) -> FCS_W {
636 FCS_W { w: self }
637 }
638 #[doc = "Bits 2:3 - ID Filtering Selection"]
639 #[inline(always)]
640 pub fn idfs(&mut self) -> IDFS_W {
641 IDFS_W { w: self }
642 }
643 #[doc = "Bits 4:5 - Payload Filtering Selection"]
644 #[inline(always)]
645 pub fn plfs(&mut self) -> PLFS_W {
646 PLFS_W { w: self }
647 }
648 #[doc = "Bits 8:15 - Number of Messages Matching the Same Filtering Criteria"]
649 #[inline(always)]
650 pub fn nmatch(&mut self) -> NMATCH_W {
651 NMATCH_W { w: self }
652 }
653 #[doc = "Bit 16 - Wake Up by Match Flag Mask Bit"]
654 #[inline(always)]
655 pub fn wumf_msk(&mut self) -> WUMF_MSK_W {
656 WUMF_MSK_W { w: self }
657 }
658 #[doc = "Bit 17 - Wake Up by Timeout Flag Mask Bit"]
659 #[inline(always)]
660 pub fn wtof_msk(&mut self) -> WTOF_MSK_W {
661 WTOF_MSK_W { w: self }
662 }
663 #[doc = "Writes raw bits to the register."]
664 #[inline(always)]
665 pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
666 self.0.bits(bits);
667 self
668 }
669}
670#[doc = "Pretended Networking Control 1 Register\n\nThis register you can [`read`](crate::generic::Reg::read), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ctrl1_pn](index.html) module"]
671pub struct CTRL1_PN_SPEC;
672impl crate::RegisterSpec for CTRL1_PN_SPEC {
673 type Ux = u32;
674}
675#[doc = "`read()` method returns [ctrl1_pn::R](R) reader structure"]
676impl crate::Readable for CTRL1_PN_SPEC {
677 type Reader = R;
678}
679#[doc = "`write(|w| ..)` method takes [ctrl1_pn::W](W) writer structure"]
680impl crate::Writable for CTRL1_PN_SPEC {
681 type Writer = W;
682}
683#[doc = "`reset()` method sets CTRL1_PN to value 0x0100"]
684impl crate::Resettable for CTRL1_PN_SPEC {
685 #[inline(always)]
686 fn reset_value() -> Self::Ux {
687 0x0100
688 }
689}