s32k116_pac/can0/
ctrl1_pn.rs

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}