xmc4500/port3/
out.rs

1#[doc = "Register `OUT` reader"]
2pub type R = crate::R<OUT_SPEC>;
3#[doc = "Register `OUT` writer"]
4pub type W = crate::W<OUT_SPEC>;
5#[doc = "Port n Output Bit 0\n\nValue on reset: 0"]
6#[derive(Clone, Copy, Debug, PartialEq, Eq)]
7pub enum P0_A {
8    #[doc = "0: The output level of Pn.x is 0."]
9    VALUE1 = 0,
10    #[doc = "1: The output level of Pn.x is 1."]
11    VALUE2 = 1,
12}
13impl From<P0_A> for bool {
14    #[inline(always)]
15    fn from(variant: P0_A) -> Self {
16        variant as u8 != 0
17    }
18}
19#[doc = "Field `P0` reader - Port n Output Bit 0"]
20pub type P0_R = crate::BitReader<P0_A>;
21impl P0_R {
22    #[doc = "Get enumerated values variant"]
23    #[inline(always)]
24    pub const fn variant(&self) -> P0_A {
25        match self.bits {
26            false => P0_A::VALUE1,
27            true => P0_A::VALUE2,
28        }
29    }
30    #[doc = "The output level of Pn.x is 0."]
31    #[inline(always)]
32    pub fn is_value1(&self) -> bool {
33        *self == P0_A::VALUE1
34    }
35    #[doc = "The output level of Pn.x is 1."]
36    #[inline(always)]
37    pub fn is_value2(&self) -> bool {
38        *self == P0_A::VALUE2
39    }
40}
41#[doc = "Field `P0` writer - Port n Output Bit 0"]
42pub type P0_W<'a, REG> = crate::BitWriter<'a, REG, P0_A>;
43impl<'a, REG> P0_W<'a, REG>
44where
45    REG: crate::Writable + crate::RegisterSpec,
46{
47    #[doc = "The output level of Pn.x is 0."]
48    #[inline(always)]
49    pub fn value1(self) -> &'a mut crate::W<REG> {
50        self.variant(P0_A::VALUE1)
51    }
52    #[doc = "The output level of Pn.x is 1."]
53    #[inline(always)]
54    pub fn value2(self) -> &'a mut crate::W<REG> {
55        self.variant(P0_A::VALUE2)
56    }
57}
58#[doc = "Port n Output Bit 1\n\nValue on reset: 0"]
59#[derive(Clone, Copy, Debug, PartialEq, Eq)]
60pub enum P1_A {
61    #[doc = "0: The output level of Pn.x is 0."]
62    VALUE1 = 0,
63    #[doc = "1: The output level of Pn.x is 1."]
64    VALUE2 = 1,
65}
66impl From<P1_A> for bool {
67    #[inline(always)]
68    fn from(variant: P1_A) -> Self {
69        variant as u8 != 0
70    }
71}
72#[doc = "Field `P1` reader - Port n Output Bit 1"]
73pub type P1_R = crate::BitReader<P1_A>;
74impl P1_R {
75    #[doc = "Get enumerated values variant"]
76    #[inline(always)]
77    pub const fn variant(&self) -> P1_A {
78        match self.bits {
79            false => P1_A::VALUE1,
80            true => P1_A::VALUE2,
81        }
82    }
83    #[doc = "The output level of Pn.x is 0."]
84    #[inline(always)]
85    pub fn is_value1(&self) -> bool {
86        *self == P1_A::VALUE1
87    }
88    #[doc = "The output level of Pn.x is 1."]
89    #[inline(always)]
90    pub fn is_value2(&self) -> bool {
91        *self == P1_A::VALUE2
92    }
93}
94#[doc = "Field `P1` writer - Port n Output Bit 1"]
95pub type P1_W<'a, REG> = crate::BitWriter<'a, REG, P1_A>;
96impl<'a, REG> P1_W<'a, REG>
97where
98    REG: crate::Writable + crate::RegisterSpec,
99{
100    #[doc = "The output level of Pn.x is 0."]
101    #[inline(always)]
102    pub fn value1(self) -> &'a mut crate::W<REG> {
103        self.variant(P1_A::VALUE1)
104    }
105    #[doc = "The output level of Pn.x is 1."]
106    #[inline(always)]
107    pub fn value2(self) -> &'a mut crate::W<REG> {
108        self.variant(P1_A::VALUE2)
109    }
110}
111#[doc = "Port n Output Bit 2\n\nValue on reset: 0"]
112#[derive(Clone, Copy, Debug, PartialEq, Eq)]
113pub enum P2_A {
114    #[doc = "0: The output level of Pn.x is 0."]
115    VALUE1 = 0,
116    #[doc = "1: The output level of Pn.x is 1."]
117    VALUE2 = 1,
118}
119impl From<P2_A> for bool {
120    #[inline(always)]
121    fn from(variant: P2_A) -> Self {
122        variant as u8 != 0
123    }
124}
125#[doc = "Field `P2` reader - Port n Output Bit 2"]
126pub type P2_R = crate::BitReader<P2_A>;
127impl P2_R {
128    #[doc = "Get enumerated values variant"]
129    #[inline(always)]
130    pub const fn variant(&self) -> P2_A {
131        match self.bits {
132            false => P2_A::VALUE1,
133            true => P2_A::VALUE2,
134        }
135    }
136    #[doc = "The output level of Pn.x is 0."]
137    #[inline(always)]
138    pub fn is_value1(&self) -> bool {
139        *self == P2_A::VALUE1
140    }
141    #[doc = "The output level of Pn.x is 1."]
142    #[inline(always)]
143    pub fn is_value2(&self) -> bool {
144        *self == P2_A::VALUE2
145    }
146}
147#[doc = "Field `P2` writer - Port n Output Bit 2"]
148pub type P2_W<'a, REG> = crate::BitWriter<'a, REG, P2_A>;
149impl<'a, REG> P2_W<'a, REG>
150where
151    REG: crate::Writable + crate::RegisterSpec,
152{
153    #[doc = "The output level of Pn.x is 0."]
154    #[inline(always)]
155    pub fn value1(self) -> &'a mut crate::W<REG> {
156        self.variant(P2_A::VALUE1)
157    }
158    #[doc = "The output level of Pn.x is 1."]
159    #[inline(always)]
160    pub fn value2(self) -> &'a mut crate::W<REG> {
161        self.variant(P2_A::VALUE2)
162    }
163}
164#[doc = "Port n Output Bit 3\n\nValue on reset: 0"]
165#[derive(Clone, Copy, Debug, PartialEq, Eq)]
166pub enum P3_A {
167    #[doc = "0: The output level of Pn.x is 0."]
168    VALUE1 = 0,
169    #[doc = "1: The output level of Pn.x is 1."]
170    VALUE2 = 1,
171}
172impl From<P3_A> for bool {
173    #[inline(always)]
174    fn from(variant: P3_A) -> Self {
175        variant as u8 != 0
176    }
177}
178#[doc = "Field `P3` reader - Port n Output Bit 3"]
179pub type P3_R = crate::BitReader<P3_A>;
180impl P3_R {
181    #[doc = "Get enumerated values variant"]
182    #[inline(always)]
183    pub const fn variant(&self) -> P3_A {
184        match self.bits {
185            false => P3_A::VALUE1,
186            true => P3_A::VALUE2,
187        }
188    }
189    #[doc = "The output level of Pn.x is 0."]
190    #[inline(always)]
191    pub fn is_value1(&self) -> bool {
192        *self == P3_A::VALUE1
193    }
194    #[doc = "The output level of Pn.x is 1."]
195    #[inline(always)]
196    pub fn is_value2(&self) -> bool {
197        *self == P3_A::VALUE2
198    }
199}
200#[doc = "Field `P3` writer - Port n Output Bit 3"]
201pub type P3_W<'a, REG> = crate::BitWriter<'a, REG, P3_A>;
202impl<'a, REG> P3_W<'a, REG>
203where
204    REG: crate::Writable + crate::RegisterSpec,
205{
206    #[doc = "The output level of Pn.x is 0."]
207    #[inline(always)]
208    pub fn value1(self) -> &'a mut crate::W<REG> {
209        self.variant(P3_A::VALUE1)
210    }
211    #[doc = "The output level of Pn.x is 1."]
212    #[inline(always)]
213    pub fn value2(self) -> &'a mut crate::W<REG> {
214        self.variant(P3_A::VALUE2)
215    }
216}
217#[doc = "Port n Output Bit 4\n\nValue on reset: 0"]
218#[derive(Clone, Copy, Debug, PartialEq, Eq)]
219pub enum P4_A {
220    #[doc = "0: The output level of Pn.x is 0."]
221    VALUE1 = 0,
222    #[doc = "1: The output level of Pn.x is 1."]
223    VALUE2 = 1,
224}
225impl From<P4_A> for bool {
226    #[inline(always)]
227    fn from(variant: P4_A) -> Self {
228        variant as u8 != 0
229    }
230}
231#[doc = "Field `P4` reader - Port n Output Bit 4"]
232pub type P4_R = crate::BitReader<P4_A>;
233impl P4_R {
234    #[doc = "Get enumerated values variant"]
235    #[inline(always)]
236    pub const fn variant(&self) -> P4_A {
237        match self.bits {
238            false => P4_A::VALUE1,
239            true => P4_A::VALUE2,
240        }
241    }
242    #[doc = "The output level of Pn.x is 0."]
243    #[inline(always)]
244    pub fn is_value1(&self) -> bool {
245        *self == P4_A::VALUE1
246    }
247    #[doc = "The output level of Pn.x is 1."]
248    #[inline(always)]
249    pub fn is_value2(&self) -> bool {
250        *self == P4_A::VALUE2
251    }
252}
253#[doc = "Field `P4` writer - Port n Output Bit 4"]
254pub type P4_W<'a, REG> = crate::BitWriter<'a, REG, P4_A>;
255impl<'a, REG> P4_W<'a, REG>
256where
257    REG: crate::Writable + crate::RegisterSpec,
258{
259    #[doc = "The output level of Pn.x is 0."]
260    #[inline(always)]
261    pub fn value1(self) -> &'a mut crate::W<REG> {
262        self.variant(P4_A::VALUE1)
263    }
264    #[doc = "The output level of Pn.x is 1."]
265    #[inline(always)]
266    pub fn value2(self) -> &'a mut crate::W<REG> {
267        self.variant(P4_A::VALUE2)
268    }
269}
270#[doc = "Port n Output Bit 5\n\nValue on reset: 0"]
271#[derive(Clone, Copy, Debug, PartialEq, Eq)]
272pub enum P5_A {
273    #[doc = "0: The output level of Pn.x is 0."]
274    VALUE1 = 0,
275    #[doc = "1: The output level of Pn.x is 1."]
276    VALUE2 = 1,
277}
278impl From<P5_A> for bool {
279    #[inline(always)]
280    fn from(variant: P5_A) -> Self {
281        variant as u8 != 0
282    }
283}
284#[doc = "Field `P5` reader - Port n Output Bit 5"]
285pub type P5_R = crate::BitReader<P5_A>;
286impl P5_R {
287    #[doc = "Get enumerated values variant"]
288    #[inline(always)]
289    pub const fn variant(&self) -> P5_A {
290        match self.bits {
291            false => P5_A::VALUE1,
292            true => P5_A::VALUE2,
293        }
294    }
295    #[doc = "The output level of Pn.x is 0."]
296    #[inline(always)]
297    pub fn is_value1(&self) -> bool {
298        *self == P5_A::VALUE1
299    }
300    #[doc = "The output level of Pn.x is 1."]
301    #[inline(always)]
302    pub fn is_value2(&self) -> bool {
303        *self == P5_A::VALUE2
304    }
305}
306#[doc = "Field `P5` writer - Port n Output Bit 5"]
307pub type P5_W<'a, REG> = crate::BitWriter<'a, REG, P5_A>;
308impl<'a, REG> P5_W<'a, REG>
309where
310    REG: crate::Writable + crate::RegisterSpec,
311{
312    #[doc = "The output level of Pn.x is 0."]
313    #[inline(always)]
314    pub fn value1(self) -> &'a mut crate::W<REG> {
315        self.variant(P5_A::VALUE1)
316    }
317    #[doc = "The output level of Pn.x is 1."]
318    #[inline(always)]
319    pub fn value2(self) -> &'a mut crate::W<REG> {
320        self.variant(P5_A::VALUE2)
321    }
322}
323#[doc = "Port n Output Bit 6\n\nValue on reset: 0"]
324#[derive(Clone, Copy, Debug, PartialEq, Eq)]
325pub enum P6_A {
326    #[doc = "0: The output level of Pn.x is 0."]
327    VALUE1 = 0,
328    #[doc = "1: The output level of Pn.x is 1."]
329    VALUE2 = 1,
330}
331impl From<P6_A> for bool {
332    #[inline(always)]
333    fn from(variant: P6_A) -> Self {
334        variant as u8 != 0
335    }
336}
337#[doc = "Field `P6` reader - Port n Output Bit 6"]
338pub type P6_R = crate::BitReader<P6_A>;
339impl P6_R {
340    #[doc = "Get enumerated values variant"]
341    #[inline(always)]
342    pub const fn variant(&self) -> P6_A {
343        match self.bits {
344            false => P6_A::VALUE1,
345            true => P6_A::VALUE2,
346        }
347    }
348    #[doc = "The output level of Pn.x is 0."]
349    #[inline(always)]
350    pub fn is_value1(&self) -> bool {
351        *self == P6_A::VALUE1
352    }
353    #[doc = "The output level of Pn.x is 1."]
354    #[inline(always)]
355    pub fn is_value2(&self) -> bool {
356        *self == P6_A::VALUE2
357    }
358}
359#[doc = "Field `P6` writer - Port n Output Bit 6"]
360pub type P6_W<'a, REG> = crate::BitWriter<'a, REG, P6_A>;
361impl<'a, REG> P6_W<'a, REG>
362where
363    REG: crate::Writable + crate::RegisterSpec,
364{
365    #[doc = "The output level of Pn.x is 0."]
366    #[inline(always)]
367    pub fn value1(self) -> &'a mut crate::W<REG> {
368        self.variant(P6_A::VALUE1)
369    }
370    #[doc = "The output level of Pn.x is 1."]
371    #[inline(always)]
372    pub fn value2(self) -> &'a mut crate::W<REG> {
373        self.variant(P6_A::VALUE2)
374    }
375}
376#[doc = "Port n Output Bit 7\n\nValue on reset: 0"]
377#[derive(Clone, Copy, Debug, PartialEq, Eq)]
378pub enum P7_A {
379    #[doc = "0: The output level of Pn.x is 0."]
380    VALUE1 = 0,
381    #[doc = "1: The output level of Pn.x is 1."]
382    VALUE2 = 1,
383}
384impl From<P7_A> for bool {
385    #[inline(always)]
386    fn from(variant: P7_A) -> Self {
387        variant as u8 != 0
388    }
389}
390#[doc = "Field `P7` reader - Port n Output Bit 7"]
391pub type P7_R = crate::BitReader<P7_A>;
392impl P7_R {
393    #[doc = "Get enumerated values variant"]
394    #[inline(always)]
395    pub const fn variant(&self) -> P7_A {
396        match self.bits {
397            false => P7_A::VALUE1,
398            true => P7_A::VALUE2,
399        }
400    }
401    #[doc = "The output level of Pn.x is 0."]
402    #[inline(always)]
403    pub fn is_value1(&self) -> bool {
404        *self == P7_A::VALUE1
405    }
406    #[doc = "The output level of Pn.x is 1."]
407    #[inline(always)]
408    pub fn is_value2(&self) -> bool {
409        *self == P7_A::VALUE2
410    }
411}
412#[doc = "Field `P7` writer - Port n Output Bit 7"]
413pub type P7_W<'a, REG> = crate::BitWriter<'a, REG, P7_A>;
414impl<'a, REG> P7_W<'a, REG>
415where
416    REG: crate::Writable + crate::RegisterSpec,
417{
418    #[doc = "The output level of Pn.x is 0."]
419    #[inline(always)]
420    pub fn value1(self) -> &'a mut crate::W<REG> {
421        self.variant(P7_A::VALUE1)
422    }
423    #[doc = "The output level of Pn.x is 1."]
424    #[inline(always)]
425    pub fn value2(self) -> &'a mut crate::W<REG> {
426        self.variant(P7_A::VALUE2)
427    }
428}
429#[doc = "Port n Output Bit 8\n\nValue on reset: 0"]
430#[derive(Clone, Copy, Debug, PartialEq, Eq)]
431pub enum P8_A {
432    #[doc = "0: The output level of Pn.x is 0."]
433    VALUE1 = 0,
434    #[doc = "1: The output level of Pn.x is 1."]
435    VALUE2 = 1,
436}
437impl From<P8_A> for bool {
438    #[inline(always)]
439    fn from(variant: P8_A) -> Self {
440        variant as u8 != 0
441    }
442}
443#[doc = "Field `P8` reader - Port n Output Bit 8"]
444pub type P8_R = crate::BitReader<P8_A>;
445impl P8_R {
446    #[doc = "Get enumerated values variant"]
447    #[inline(always)]
448    pub const fn variant(&self) -> P8_A {
449        match self.bits {
450            false => P8_A::VALUE1,
451            true => P8_A::VALUE2,
452        }
453    }
454    #[doc = "The output level of Pn.x is 0."]
455    #[inline(always)]
456    pub fn is_value1(&self) -> bool {
457        *self == P8_A::VALUE1
458    }
459    #[doc = "The output level of Pn.x is 1."]
460    #[inline(always)]
461    pub fn is_value2(&self) -> bool {
462        *self == P8_A::VALUE2
463    }
464}
465#[doc = "Field `P8` writer - Port n Output Bit 8"]
466pub type P8_W<'a, REG> = crate::BitWriter<'a, REG, P8_A>;
467impl<'a, REG> P8_W<'a, REG>
468where
469    REG: crate::Writable + crate::RegisterSpec,
470{
471    #[doc = "The output level of Pn.x is 0."]
472    #[inline(always)]
473    pub fn value1(self) -> &'a mut crate::W<REG> {
474        self.variant(P8_A::VALUE1)
475    }
476    #[doc = "The output level of Pn.x is 1."]
477    #[inline(always)]
478    pub fn value2(self) -> &'a mut crate::W<REG> {
479        self.variant(P8_A::VALUE2)
480    }
481}
482#[doc = "Port n Output Bit 9\n\nValue on reset: 0"]
483#[derive(Clone, Copy, Debug, PartialEq, Eq)]
484pub enum P9_A {
485    #[doc = "0: The output level of Pn.x is 0."]
486    VALUE1 = 0,
487    #[doc = "1: The output level of Pn.x is 1."]
488    VALUE2 = 1,
489}
490impl From<P9_A> for bool {
491    #[inline(always)]
492    fn from(variant: P9_A) -> Self {
493        variant as u8 != 0
494    }
495}
496#[doc = "Field `P9` reader - Port n Output Bit 9"]
497pub type P9_R = crate::BitReader<P9_A>;
498impl P9_R {
499    #[doc = "Get enumerated values variant"]
500    #[inline(always)]
501    pub const fn variant(&self) -> P9_A {
502        match self.bits {
503            false => P9_A::VALUE1,
504            true => P9_A::VALUE2,
505        }
506    }
507    #[doc = "The output level of Pn.x is 0."]
508    #[inline(always)]
509    pub fn is_value1(&self) -> bool {
510        *self == P9_A::VALUE1
511    }
512    #[doc = "The output level of Pn.x is 1."]
513    #[inline(always)]
514    pub fn is_value2(&self) -> bool {
515        *self == P9_A::VALUE2
516    }
517}
518#[doc = "Field `P9` writer - Port n Output Bit 9"]
519pub type P9_W<'a, REG> = crate::BitWriter<'a, REG, P9_A>;
520impl<'a, REG> P9_W<'a, REG>
521where
522    REG: crate::Writable + crate::RegisterSpec,
523{
524    #[doc = "The output level of Pn.x is 0."]
525    #[inline(always)]
526    pub fn value1(self) -> &'a mut crate::W<REG> {
527        self.variant(P9_A::VALUE1)
528    }
529    #[doc = "The output level of Pn.x is 1."]
530    #[inline(always)]
531    pub fn value2(self) -> &'a mut crate::W<REG> {
532        self.variant(P9_A::VALUE2)
533    }
534}
535#[doc = "Port n Output Bit 10\n\nValue on reset: 0"]
536#[derive(Clone, Copy, Debug, PartialEq, Eq)]
537pub enum P10_A {
538    #[doc = "0: The output level of Pn.x is 0."]
539    VALUE1 = 0,
540    #[doc = "1: The output level of Pn.x is 1."]
541    VALUE2 = 1,
542}
543impl From<P10_A> for bool {
544    #[inline(always)]
545    fn from(variant: P10_A) -> Self {
546        variant as u8 != 0
547    }
548}
549#[doc = "Field `P10` reader - Port n Output Bit 10"]
550pub type P10_R = crate::BitReader<P10_A>;
551impl P10_R {
552    #[doc = "Get enumerated values variant"]
553    #[inline(always)]
554    pub const fn variant(&self) -> P10_A {
555        match self.bits {
556            false => P10_A::VALUE1,
557            true => P10_A::VALUE2,
558        }
559    }
560    #[doc = "The output level of Pn.x is 0."]
561    #[inline(always)]
562    pub fn is_value1(&self) -> bool {
563        *self == P10_A::VALUE1
564    }
565    #[doc = "The output level of Pn.x is 1."]
566    #[inline(always)]
567    pub fn is_value2(&self) -> bool {
568        *self == P10_A::VALUE2
569    }
570}
571#[doc = "Field `P10` writer - Port n Output Bit 10"]
572pub type P10_W<'a, REG> = crate::BitWriter<'a, REG, P10_A>;
573impl<'a, REG> P10_W<'a, REG>
574where
575    REG: crate::Writable + crate::RegisterSpec,
576{
577    #[doc = "The output level of Pn.x is 0."]
578    #[inline(always)]
579    pub fn value1(self) -> &'a mut crate::W<REG> {
580        self.variant(P10_A::VALUE1)
581    }
582    #[doc = "The output level of Pn.x is 1."]
583    #[inline(always)]
584    pub fn value2(self) -> &'a mut crate::W<REG> {
585        self.variant(P10_A::VALUE2)
586    }
587}
588#[doc = "Port n Output Bit 11\n\nValue on reset: 0"]
589#[derive(Clone, Copy, Debug, PartialEq, Eq)]
590pub enum P11_A {
591    #[doc = "0: The output level of Pn.x is 0."]
592    VALUE1 = 0,
593    #[doc = "1: The output level of Pn.x is 1."]
594    VALUE2 = 1,
595}
596impl From<P11_A> for bool {
597    #[inline(always)]
598    fn from(variant: P11_A) -> Self {
599        variant as u8 != 0
600    }
601}
602#[doc = "Field `P11` reader - Port n Output Bit 11"]
603pub type P11_R = crate::BitReader<P11_A>;
604impl P11_R {
605    #[doc = "Get enumerated values variant"]
606    #[inline(always)]
607    pub const fn variant(&self) -> P11_A {
608        match self.bits {
609            false => P11_A::VALUE1,
610            true => P11_A::VALUE2,
611        }
612    }
613    #[doc = "The output level of Pn.x is 0."]
614    #[inline(always)]
615    pub fn is_value1(&self) -> bool {
616        *self == P11_A::VALUE1
617    }
618    #[doc = "The output level of Pn.x is 1."]
619    #[inline(always)]
620    pub fn is_value2(&self) -> bool {
621        *self == P11_A::VALUE2
622    }
623}
624#[doc = "Field `P11` writer - Port n Output Bit 11"]
625pub type P11_W<'a, REG> = crate::BitWriter<'a, REG, P11_A>;
626impl<'a, REG> P11_W<'a, REG>
627where
628    REG: crate::Writable + crate::RegisterSpec,
629{
630    #[doc = "The output level of Pn.x is 0."]
631    #[inline(always)]
632    pub fn value1(self) -> &'a mut crate::W<REG> {
633        self.variant(P11_A::VALUE1)
634    }
635    #[doc = "The output level of Pn.x is 1."]
636    #[inline(always)]
637    pub fn value2(self) -> &'a mut crate::W<REG> {
638        self.variant(P11_A::VALUE2)
639    }
640}
641#[doc = "Port n Output Bit 12\n\nValue on reset: 0"]
642#[derive(Clone, Copy, Debug, PartialEq, Eq)]
643pub enum P12_A {
644    #[doc = "0: The output level of Pn.x is 0."]
645    VALUE1 = 0,
646    #[doc = "1: The output level of Pn.x is 1."]
647    VALUE2 = 1,
648}
649impl From<P12_A> for bool {
650    #[inline(always)]
651    fn from(variant: P12_A) -> Self {
652        variant as u8 != 0
653    }
654}
655#[doc = "Field `P12` reader - Port n Output Bit 12"]
656pub type P12_R = crate::BitReader<P12_A>;
657impl P12_R {
658    #[doc = "Get enumerated values variant"]
659    #[inline(always)]
660    pub const fn variant(&self) -> P12_A {
661        match self.bits {
662            false => P12_A::VALUE1,
663            true => P12_A::VALUE2,
664        }
665    }
666    #[doc = "The output level of Pn.x is 0."]
667    #[inline(always)]
668    pub fn is_value1(&self) -> bool {
669        *self == P12_A::VALUE1
670    }
671    #[doc = "The output level of Pn.x is 1."]
672    #[inline(always)]
673    pub fn is_value2(&self) -> bool {
674        *self == P12_A::VALUE2
675    }
676}
677#[doc = "Field `P12` writer - Port n Output Bit 12"]
678pub type P12_W<'a, REG> = crate::BitWriter<'a, REG, P12_A>;
679impl<'a, REG> P12_W<'a, REG>
680where
681    REG: crate::Writable + crate::RegisterSpec,
682{
683    #[doc = "The output level of Pn.x is 0."]
684    #[inline(always)]
685    pub fn value1(self) -> &'a mut crate::W<REG> {
686        self.variant(P12_A::VALUE1)
687    }
688    #[doc = "The output level of Pn.x is 1."]
689    #[inline(always)]
690    pub fn value2(self) -> &'a mut crate::W<REG> {
691        self.variant(P12_A::VALUE2)
692    }
693}
694#[doc = "Port n Output Bit 13\n\nValue on reset: 0"]
695#[derive(Clone, Copy, Debug, PartialEq, Eq)]
696pub enum P13_A {
697    #[doc = "0: The output level of Pn.x is 0."]
698    VALUE1 = 0,
699    #[doc = "1: The output level of Pn.x is 1."]
700    VALUE2 = 1,
701}
702impl From<P13_A> for bool {
703    #[inline(always)]
704    fn from(variant: P13_A) -> Self {
705        variant as u8 != 0
706    }
707}
708#[doc = "Field `P13` reader - Port n Output Bit 13"]
709pub type P13_R = crate::BitReader<P13_A>;
710impl P13_R {
711    #[doc = "Get enumerated values variant"]
712    #[inline(always)]
713    pub const fn variant(&self) -> P13_A {
714        match self.bits {
715            false => P13_A::VALUE1,
716            true => P13_A::VALUE2,
717        }
718    }
719    #[doc = "The output level of Pn.x is 0."]
720    #[inline(always)]
721    pub fn is_value1(&self) -> bool {
722        *self == P13_A::VALUE1
723    }
724    #[doc = "The output level of Pn.x is 1."]
725    #[inline(always)]
726    pub fn is_value2(&self) -> bool {
727        *self == P13_A::VALUE2
728    }
729}
730#[doc = "Field `P13` writer - Port n Output Bit 13"]
731pub type P13_W<'a, REG> = crate::BitWriter<'a, REG, P13_A>;
732impl<'a, REG> P13_W<'a, REG>
733where
734    REG: crate::Writable + crate::RegisterSpec,
735{
736    #[doc = "The output level of Pn.x is 0."]
737    #[inline(always)]
738    pub fn value1(self) -> &'a mut crate::W<REG> {
739        self.variant(P13_A::VALUE1)
740    }
741    #[doc = "The output level of Pn.x is 1."]
742    #[inline(always)]
743    pub fn value2(self) -> &'a mut crate::W<REG> {
744        self.variant(P13_A::VALUE2)
745    }
746}
747#[doc = "Port n Output Bit 14\n\nValue on reset: 0"]
748#[derive(Clone, Copy, Debug, PartialEq, Eq)]
749pub enum P14_A {
750    #[doc = "0: The output level of Pn.x is 0."]
751    VALUE1 = 0,
752    #[doc = "1: The output level of Pn.x is 1."]
753    VALUE2 = 1,
754}
755impl From<P14_A> for bool {
756    #[inline(always)]
757    fn from(variant: P14_A) -> Self {
758        variant as u8 != 0
759    }
760}
761#[doc = "Field `P14` reader - Port n Output Bit 14"]
762pub type P14_R = crate::BitReader<P14_A>;
763impl P14_R {
764    #[doc = "Get enumerated values variant"]
765    #[inline(always)]
766    pub const fn variant(&self) -> P14_A {
767        match self.bits {
768            false => P14_A::VALUE1,
769            true => P14_A::VALUE2,
770        }
771    }
772    #[doc = "The output level of Pn.x is 0."]
773    #[inline(always)]
774    pub fn is_value1(&self) -> bool {
775        *self == P14_A::VALUE1
776    }
777    #[doc = "The output level of Pn.x is 1."]
778    #[inline(always)]
779    pub fn is_value2(&self) -> bool {
780        *self == P14_A::VALUE2
781    }
782}
783#[doc = "Field `P14` writer - Port n Output Bit 14"]
784pub type P14_W<'a, REG> = crate::BitWriter<'a, REG, P14_A>;
785impl<'a, REG> P14_W<'a, REG>
786where
787    REG: crate::Writable + crate::RegisterSpec,
788{
789    #[doc = "The output level of Pn.x is 0."]
790    #[inline(always)]
791    pub fn value1(self) -> &'a mut crate::W<REG> {
792        self.variant(P14_A::VALUE1)
793    }
794    #[doc = "The output level of Pn.x is 1."]
795    #[inline(always)]
796    pub fn value2(self) -> &'a mut crate::W<REG> {
797        self.variant(P14_A::VALUE2)
798    }
799}
800#[doc = "Port n Output Bit 15\n\nValue on reset: 0"]
801#[derive(Clone, Copy, Debug, PartialEq, Eq)]
802pub enum P15_A {
803    #[doc = "0: The output level of Pn.x is 0."]
804    VALUE1 = 0,
805    #[doc = "1: The output level of Pn.x is 1."]
806    VALUE2 = 1,
807}
808impl From<P15_A> for bool {
809    #[inline(always)]
810    fn from(variant: P15_A) -> Self {
811        variant as u8 != 0
812    }
813}
814#[doc = "Field `P15` reader - Port n Output Bit 15"]
815pub type P15_R = crate::BitReader<P15_A>;
816impl P15_R {
817    #[doc = "Get enumerated values variant"]
818    #[inline(always)]
819    pub const fn variant(&self) -> P15_A {
820        match self.bits {
821            false => P15_A::VALUE1,
822            true => P15_A::VALUE2,
823        }
824    }
825    #[doc = "The output level of Pn.x is 0."]
826    #[inline(always)]
827    pub fn is_value1(&self) -> bool {
828        *self == P15_A::VALUE1
829    }
830    #[doc = "The output level of Pn.x is 1."]
831    #[inline(always)]
832    pub fn is_value2(&self) -> bool {
833        *self == P15_A::VALUE2
834    }
835}
836#[doc = "Field `P15` writer - Port n Output Bit 15"]
837pub type P15_W<'a, REG> = crate::BitWriter<'a, REG, P15_A>;
838impl<'a, REG> P15_W<'a, REG>
839where
840    REG: crate::Writable + crate::RegisterSpec,
841{
842    #[doc = "The output level of Pn.x is 0."]
843    #[inline(always)]
844    pub fn value1(self) -> &'a mut crate::W<REG> {
845        self.variant(P15_A::VALUE1)
846    }
847    #[doc = "The output level of Pn.x is 1."]
848    #[inline(always)]
849    pub fn value2(self) -> &'a mut crate::W<REG> {
850        self.variant(P15_A::VALUE2)
851    }
852}
853impl R {
854    #[doc = "Bit 0 - Port n Output Bit 0"]
855    #[inline(always)]
856    pub fn p0(&self) -> P0_R {
857        P0_R::new((self.bits & 1) != 0)
858    }
859    #[doc = "Bit 1 - Port n Output Bit 1"]
860    #[inline(always)]
861    pub fn p1(&self) -> P1_R {
862        P1_R::new(((self.bits >> 1) & 1) != 0)
863    }
864    #[doc = "Bit 2 - Port n Output Bit 2"]
865    #[inline(always)]
866    pub fn p2(&self) -> P2_R {
867        P2_R::new(((self.bits >> 2) & 1) != 0)
868    }
869    #[doc = "Bit 3 - Port n Output Bit 3"]
870    #[inline(always)]
871    pub fn p3(&self) -> P3_R {
872        P3_R::new(((self.bits >> 3) & 1) != 0)
873    }
874    #[doc = "Bit 4 - Port n Output Bit 4"]
875    #[inline(always)]
876    pub fn p4(&self) -> P4_R {
877        P4_R::new(((self.bits >> 4) & 1) != 0)
878    }
879    #[doc = "Bit 5 - Port n Output Bit 5"]
880    #[inline(always)]
881    pub fn p5(&self) -> P5_R {
882        P5_R::new(((self.bits >> 5) & 1) != 0)
883    }
884    #[doc = "Bit 6 - Port n Output Bit 6"]
885    #[inline(always)]
886    pub fn p6(&self) -> P6_R {
887        P6_R::new(((self.bits >> 6) & 1) != 0)
888    }
889    #[doc = "Bit 7 - Port n Output Bit 7"]
890    #[inline(always)]
891    pub fn p7(&self) -> P7_R {
892        P7_R::new(((self.bits >> 7) & 1) != 0)
893    }
894    #[doc = "Bit 8 - Port n Output Bit 8"]
895    #[inline(always)]
896    pub fn p8(&self) -> P8_R {
897        P8_R::new(((self.bits >> 8) & 1) != 0)
898    }
899    #[doc = "Bit 9 - Port n Output Bit 9"]
900    #[inline(always)]
901    pub fn p9(&self) -> P9_R {
902        P9_R::new(((self.bits >> 9) & 1) != 0)
903    }
904    #[doc = "Bit 10 - Port n Output Bit 10"]
905    #[inline(always)]
906    pub fn p10(&self) -> P10_R {
907        P10_R::new(((self.bits >> 10) & 1) != 0)
908    }
909    #[doc = "Bit 11 - Port n Output Bit 11"]
910    #[inline(always)]
911    pub fn p11(&self) -> P11_R {
912        P11_R::new(((self.bits >> 11) & 1) != 0)
913    }
914    #[doc = "Bit 12 - Port n Output Bit 12"]
915    #[inline(always)]
916    pub fn p12(&self) -> P12_R {
917        P12_R::new(((self.bits >> 12) & 1) != 0)
918    }
919    #[doc = "Bit 13 - Port n Output Bit 13"]
920    #[inline(always)]
921    pub fn p13(&self) -> P13_R {
922        P13_R::new(((self.bits >> 13) & 1) != 0)
923    }
924    #[doc = "Bit 14 - Port n Output Bit 14"]
925    #[inline(always)]
926    pub fn p14(&self) -> P14_R {
927        P14_R::new(((self.bits >> 14) & 1) != 0)
928    }
929    #[doc = "Bit 15 - Port n Output Bit 15"]
930    #[inline(always)]
931    pub fn p15(&self) -> P15_R {
932        P15_R::new(((self.bits >> 15) & 1) != 0)
933    }
934}
935impl W {
936    #[doc = "Bit 0 - Port n Output Bit 0"]
937    #[inline(always)]
938    pub fn p0(&mut self) -> P0_W<OUT_SPEC> {
939        P0_W::new(self, 0)
940    }
941    #[doc = "Bit 1 - Port n Output Bit 1"]
942    #[inline(always)]
943    pub fn p1(&mut self) -> P1_W<OUT_SPEC> {
944        P1_W::new(self, 1)
945    }
946    #[doc = "Bit 2 - Port n Output Bit 2"]
947    #[inline(always)]
948    pub fn p2(&mut self) -> P2_W<OUT_SPEC> {
949        P2_W::new(self, 2)
950    }
951    #[doc = "Bit 3 - Port n Output Bit 3"]
952    #[inline(always)]
953    pub fn p3(&mut self) -> P3_W<OUT_SPEC> {
954        P3_W::new(self, 3)
955    }
956    #[doc = "Bit 4 - Port n Output Bit 4"]
957    #[inline(always)]
958    pub fn p4(&mut self) -> P4_W<OUT_SPEC> {
959        P4_W::new(self, 4)
960    }
961    #[doc = "Bit 5 - Port n Output Bit 5"]
962    #[inline(always)]
963    pub fn p5(&mut self) -> P5_W<OUT_SPEC> {
964        P5_W::new(self, 5)
965    }
966    #[doc = "Bit 6 - Port n Output Bit 6"]
967    #[inline(always)]
968    pub fn p6(&mut self) -> P6_W<OUT_SPEC> {
969        P6_W::new(self, 6)
970    }
971    #[doc = "Bit 7 - Port n Output Bit 7"]
972    #[inline(always)]
973    pub fn p7(&mut self) -> P7_W<OUT_SPEC> {
974        P7_W::new(self, 7)
975    }
976    #[doc = "Bit 8 - Port n Output Bit 8"]
977    #[inline(always)]
978    pub fn p8(&mut self) -> P8_W<OUT_SPEC> {
979        P8_W::new(self, 8)
980    }
981    #[doc = "Bit 9 - Port n Output Bit 9"]
982    #[inline(always)]
983    pub fn p9(&mut self) -> P9_W<OUT_SPEC> {
984        P9_W::new(self, 9)
985    }
986    #[doc = "Bit 10 - Port n Output Bit 10"]
987    #[inline(always)]
988    pub fn p10(&mut self) -> P10_W<OUT_SPEC> {
989        P10_W::new(self, 10)
990    }
991    #[doc = "Bit 11 - Port n Output Bit 11"]
992    #[inline(always)]
993    pub fn p11(&mut self) -> P11_W<OUT_SPEC> {
994        P11_W::new(self, 11)
995    }
996    #[doc = "Bit 12 - Port n Output Bit 12"]
997    #[inline(always)]
998    pub fn p12(&mut self) -> P12_W<OUT_SPEC> {
999        P12_W::new(self, 12)
1000    }
1001    #[doc = "Bit 13 - Port n Output Bit 13"]
1002    #[inline(always)]
1003    pub fn p13(&mut self) -> P13_W<OUT_SPEC> {
1004        P13_W::new(self, 13)
1005    }
1006    #[doc = "Bit 14 - Port n Output Bit 14"]
1007    #[inline(always)]
1008    pub fn p14(&mut self) -> P14_W<OUT_SPEC> {
1009        P14_W::new(self, 14)
1010    }
1011    #[doc = "Bit 15 - Port n Output Bit 15"]
1012    #[inline(always)]
1013    pub fn p15(&mut self) -> P15_W<OUT_SPEC> {
1014        P15_W::new(self, 15)
1015    }
1016}
1017#[doc = "Port 3 Output Register\n\nYou can [`read`](crate::Reg::read) this register and get [`out::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`out::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
1018pub struct OUT_SPEC;
1019impl crate::RegisterSpec for OUT_SPEC {
1020    type Ux = u32;
1021}
1022#[doc = "`read()` method returns [`out::R`](R) reader structure"]
1023impl crate::Readable for OUT_SPEC {}
1024#[doc = "`write(|w| ..)` method takes [`out::W`](W) writer structure"]
1025impl crate::Writable for OUT_SPEC {
1026    type Safety = crate::Unsafe;
1027    const ZERO_TO_MODIFY_FIELDS_BITMAP: u32 = 0;
1028    const ONE_TO_MODIFY_FIELDS_BITMAP: u32 = 0;
1029}
1030#[doc = "`reset()` method sets OUT to value 0"]
1031impl crate::Resettable for OUT_SPEC {
1032    const RESET_VALUE: u32 = 0;
1033}