ra8e2_pac/
porta.rs

1/*
2DISCLAIMER
3This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.
4No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all
5applicable laws, including copyright laws.
6THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED
7OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
8NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY
9LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,
10INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR
11ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
12Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability
13of this software. By using this software, you agree to the additional terms and conditions found by accessing the
14following link:
15http://www.renesas.com/disclaimer
16
17*/
18// Generated from SVD 1.00.01, with svd2pac 0.6.0 on Thu, 24 Jul 2025 04:54:26 +0000
19
20#![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"Pmn Pin Function Port A Control Registers Pmn Pin Function Control Register"]
28unsafe impl ::core::marker::Send for super::Porta {}
29unsafe impl ::core::marker::Sync for super::Porta {}
30impl super::Porta {
31    #[allow(unused)]
32    #[inline(always)]
33    pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34        self.ptr
35    }
36
37    #[doc = "Port Control Register 1"]
38    #[inline(always)]
39    pub const fn pcntr1(
40        &self,
41    ) -> &'static crate::common::Reg<self::Pcntr1_SPEC, crate::common::RW> {
42        unsafe {
43            crate::common::Reg::<self::Pcntr1_SPEC, crate::common::RW>::from_ptr(
44                self._svd2pac_as_ptr().add(0usize),
45            )
46        }
47    }
48
49    #[doc = "Port Control Register 1"]
50    #[inline(always)]
51    pub const fn pdr(&self) -> &'static crate::common::Reg<self::Pdr_SPEC, crate::common::RW> {
52        unsafe {
53            crate::common::Reg::<self::Pdr_SPEC, crate::common::RW>::from_ptr(
54                self._svd2pac_as_ptr().add(0usize),
55            )
56        }
57    }
58
59    #[doc = "Port Control Register 1"]
60    #[inline(always)]
61    pub const fn podr(&self) -> &'static crate::common::Reg<self::Podr_SPEC, crate::common::RW> {
62        unsafe {
63            crate::common::Reg::<self::Podr_SPEC, crate::common::RW>::from_ptr(
64                self._svd2pac_as_ptr().add(2usize),
65            )
66        }
67    }
68
69    #[doc = "Port Control Register 2"]
70    #[inline(always)]
71    pub const fn pcntr2(&self) -> &'static crate::common::Reg<self::Pcntr2_SPEC, crate::common::R> {
72        unsafe {
73            crate::common::Reg::<self::Pcntr2_SPEC, crate::common::R>::from_ptr(
74                self._svd2pac_as_ptr().add(4usize),
75            )
76        }
77    }
78
79    #[doc = "Port Control Register 2"]
80    #[inline(always)]
81    pub const fn pidr(&self) -> &'static crate::common::Reg<self::Pidr_SPEC, crate::common::R> {
82        unsafe {
83            crate::common::Reg::<self::Pidr_SPEC, crate::common::R>::from_ptr(
84                self._svd2pac_as_ptr().add(4usize),
85            )
86        }
87    }
88
89    #[doc = "Port Control Register 3"]
90    #[inline(always)]
91    pub const fn pcntr3(&self) -> &'static crate::common::Reg<self::Pcntr3_SPEC, crate::common::W> {
92        unsafe {
93            crate::common::Reg::<self::Pcntr3_SPEC, crate::common::W>::from_ptr(
94                self._svd2pac_as_ptr().add(8usize),
95            )
96        }
97    }
98
99    #[doc = "Port Control Register 3"]
100    #[inline(always)]
101    pub const fn posr(&self) -> &'static crate::common::Reg<self::Posr_SPEC, crate::common::W> {
102        unsafe {
103            crate::common::Reg::<self::Posr_SPEC, crate::common::W>::from_ptr(
104                self._svd2pac_as_ptr().add(8usize),
105            )
106        }
107    }
108
109    #[doc = "Port Control Register 3"]
110    #[inline(always)]
111    pub const fn porr(&self) -> &'static crate::common::Reg<self::Porr_SPEC, crate::common::W> {
112        unsafe {
113            crate::common::Reg::<self::Porr_SPEC, crate::common::W>::from_ptr(
114                self._svd2pac_as_ptr().add(10usize),
115            )
116        }
117    }
118}
119#[doc(hidden)]
120#[derive(Copy, Clone, Eq, PartialEq)]
121pub struct Pcntr1_SPEC;
122impl crate::sealed::RegSpec for Pcntr1_SPEC {
123    type DataType = u32;
124}
125
126#[doc = "Port Control Register 1"]
127pub type Pcntr1 = crate::RegValueT<Pcntr1_SPEC>;
128
129impl Pcntr1 {
130    #[doc = "Pmn Direction"]
131    #[inline(always)]
132    pub fn pdr00(
133        self,
134    ) -> crate::common::RegisterField<
135        0,
136        0x1,
137        1,
138        0,
139        pcntr1::Pdr00,
140        pcntr1::Pdr00,
141        Pcntr1_SPEC,
142        crate::common::RW,
143    > {
144        crate::common::RegisterField::<
145            0,
146            0x1,
147            1,
148            0,
149            pcntr1::Pdr00,
150            pcntr1::Pdr00,
151            Pcntr1_SPEC,
152            crate::common::RW,
153        >::from_register(self, 0)
154    }
155
156    #[doc = "Pmn Direction"]
157    #[inline(always)]
158    pub fn pdr01(
159        self,
160    ) -> crate::common::RegisterField<
161        1,
162        0x1,
163        1,
164        0,
165        pcntr1::Pdr01,
166        pcntr1::Pdr01,
167        Pcntr1_SPEC,
168        crate::common::RW,
169    > {
170        crate::common::RegisterField::<
171            1,
172            0x1,
173            1,
174            0,
175            pcntr1::Pdr01,
176            pcntr1::Pdr01,
177            Pcntr1_SPEC,
178            crate::common::RW,
179        >::from_register(self, 0)
180    }
181
182    #[doc = "Pmn Direction"]
183    #[inline(always)]
184    pub fn pdr02(
185        self,
186    ) -> crate::common::RegisterField<
187        2,
188        0x1,
189        1,
190        0,
191        pcntr1::Pdr02,
192        pcntr1::Pdr02,
193        Pcntr1_SPEC,
194        crate::common::RW,
195    > {
196        crate::common::RegisterField::<
197            2,
198            0x1,
199            1,
200            0,
201            pcntr1::Pdr02,
202            pcntr1::Pdr02,
203            Pcntr1_SPEC,
204            crate::common::RW,
205        >::from_register(self, 0)
206    }
207
208    #[doc = "Pmn Direction"]
209    #[inline(always)]
210    pub fn pdr03(
211        self,
212    ) -> crate::common::RegisterField<
213        3,
214        0x1,
215        1,
216        0,
217        pcntr1::Pdr03,
218        pcntr1::Pdr03,
219        Pcntr1_SPEC,
220        crate::common::RW,
221    > {
222        crate::common::RegisterField::<
223            3,
224            0x1,
225            1,
226            0,
227            pcntr1::Pdr03,
228            pcntr1::Pdr03,
229            Pcntr1_SPEC,
230            crate::common::RW,
231        >::from_register(self, 0)
232    }
233
234    #[doc = "Pmn Direction"]
235    #[inline(always)]
236    pub fn pdr04(
237        self,
238    ) -> crate::common::RegisterField<
239        4,
240        0x1,
241        1,
242        0,
243        pcntr1::Pdr04,
244        pcntr1::Pdr04,
245        Pcntr1_SPEC,
246        crate::common::RW,
247    > {
248        crate::common::RegisterField::<
249            4,
250            0x1,
251            1,
252            0,
253            pcntr1::Pdr04,
254            pcntr1::Pdr04,
255            Pcntr1_SPEC,
256            crate::common::RW,
257        >::from_register(self, 0)
258    }
259
260    #[doc = "Pmn Direction"]
261    #[inline(always)]
262    pub fn pdr05(
263        self,
264    ) -> crate::common::RegisterField<
265        5,
266        0x1,
267        1,
268        0,
269        pcntr1::Pdr05,
270        pcntr1::Pdr05,
271        Pcntr1_SPEC,
272        crate::common::RW,
273    > {
274        crate::common::RegisterField::<
275            5,
276            0x1,
277            1,
278            0,
279            pcntr1::Pdr05,
280            pcntr1::Pdr05,
281            Pcntr1_SPEC,
282            crate::common::RW,
283        >::from_register(self, 0)
284    }
285
286    #[doc = "Pmn Direction"]
287    #[inline(always)]
288    pub fn pdr06(
289        self,
290    ) -> crate::common::RegisterField<
291        6,
292        0x1,
293        1,
294        0,
295        pcntr1::Pdr06,
296        pcntr1::Pdr06,
297        Pcntr1_SPEC,
298        crate::common::RW,
299    > {
300        crate::common::RegisterField::<
301            6,
302            0x1,
303            1,
304            0,
305            pcntr1::Pdr06,
306            pcntr1::Pdr06,
307            Pcntr1_SPEC,
308            crate::common::RW,
309        >::from_register(self, 0)
310    }
311
312    #[doc = "Pmn Direction"]
313    #[inline(always)]
314    pub fn pdr07(
315        self,
316    ) -> crate::common::RegisterField<
317        7,
318        0x1,
319        1,
320        0,
321        pcntr1::Pdr07,
322        pcntr1::Pdr07,
323        Pcntr1_SPEC,
324        crate::common::RW,
325    > {
326        crate::common::RegisterField::<
327            7,
328            0x1,
329            1,
330            0,
331            pcntr1::Pdr07,
332            pcntr1::Pdr07,
333            Pcntr1_SPEC,
334            crate::common::RW,
335        >::from_register(self, 0)
336    }
337
338    #[doc = "Pmn Direction"]
339    #[inline(always)]
340    pub fn pdr08(
341        self,
342    ) -> crate::common::RegisterField<
343        8,
344        0x1,
345        1,
346        0,
347        pcntr1::Pdr08,
348        pcntr1::Pdr08,
349        Pcntr1_SPEC,
350        crate::common::RW,
351    > {
352        crate::common::RegisterField::<
353            8,
354            0x1,
355            1,
356            0,
357            pcntr1::Pdr08,
358            pcntr1::Pdr08,
359            Pcntr1_SPEC,
360            crate::common::RW,
361        >::from_register(self, 0)
362    }
363
364    #[doc = "Pmn Direction"]
365    #[inline(always)]
366    pub fn pdr09(
367        self,
368    ) -> crate::common::RegisterField<
369        9,
370        0x1,
371        1,
372        0,
373        pcntr1::Pdr09,
374        pcntr1::Pdr09,
375        Pcntr1_SPEC,
376        crate::common::RW,
377    > {
378        crate::common::RegisterField::<
379            9,
380            0x1,
381            1,
382            0,
383            pcntr1::Pdr09,
384            pcntr1::Pdr09,
385            Pcntr1_SPEC,
386            crate::common::RW,
387        >::from_register(self, 0)
388    }
389
390    #[doc = "Pmn Direction"]
391    #[inline(always)]
392    pub fn pdr10(
393        self,
394    ) -> crate::common::RegisterField<
395        10,
396        0x1,
397        1,
398        0,
399        pcntr1::Pdr10,
400        pcntr1::Pdr10,
401        Pcntr1_SPEC,
402        crate::common::RW,
403    > {
404        crate::common::RegisterField::<
405            10,
406            0x1,
407            1,
408            0,
409            pcntr1::Pdr10,
410            pcntr1::Pdr10,
411            Pcntr1_SPEC,
412            crate::common::RW,
413        >::from_register(self, 0)
414    }
415
416    #[doc = "Pmn Direction"]
417    #[inline(always)]
418    pub fn pdr11(
419        self,
420    ) -> crate::common::RegisterField<
421        11,
422        0x1,
423        1,
424        0,
425        pcntr1::Pdr11,
426        pcntr1::Pdr11,
427        Pcntr1_SPEC,
428        crate::common::RW,
429    > {
430        crate::common::RegisterField::<
431            11,
432            0x1,
433            1,
434            0,
435            pcntr1::Pdr11,
436            pcntr1::Pdr11,
437            Pcntr1_SPEC,
438            crate::common::RW,
439        >::from_register(self, 0)
440    }
441
442    #[doc = "Pmn Direction"]
443    #[inline(always)]
444    pub fn pdr12(
445        self,
446    ) -> crate::common::RegisterField<
447        12,
448        0x1,
449        1,
450        0,
451        pcntr1::Pdr12,
452        pcntr1::Pdr12,
453        Pcntr1_SPEC,
454        crate::common::RW,
455    > {
456        crate::common::RegisterField::<
457            12,
458            0x1,
459            1,
460            0,
461            pcntr1::Pdr12,
462            pcntr1::Pdr12,
463            Pcntr1_SPEC,
464            crate::common::RW,
465        >::from_register(self, 0)
466    }
467
468    #[doc = "Pmn Direction"]
469    #[inline(always)]
470    pub fn pdr13(
471        self,
472    ) -> crate::common::RegisterField<
473        13,
474        0x1,
475        1,
476        0,
477        pcntr1::Pdr13,
478        pcntr1::Pdr13,
479        Pcntr1_SPEC,
480        crate::common::RW,
481    > {
482        crate::common::RegisterField::<
483            13,
484            0x1,
485            1,
486            0,
487            pcntr1::Pdr13,
488            pcntr1::Pdr13,
489            Pcntr1_SPEC,
490            crate::common::RW,
491        >::from_register(self, 0)
492    }
493
494    #[doc = "Pmn Direction"]
495    #[inline(always)]
496    pub fn pdr14(
497        self,
498    ) -> crate::common::RegisterField<
499        14,
500        0x1,
501        1,
502        0,
503        pcntr1::Pdr14,
504        pcntr1::Pdr14,
505        Pcntr1_SPEC,
506        crate::common::RW,
507    > {
508        crate::common::RegisterField::<
509            14,
510            0x1,
511            1,
512            0,
513            pcntr1::Pdr14,
514            pcntr1::Pdr14,
515            Pcntr1_SPEC,
516            crate::common::RW,
517        >::from_register(self, 0)
518    }
519
520    #[doc = "Pmn Direction"]
521    #[inline(always)]
522    pub fn pdr15(
523        self,
524    ) -> crate::common::RegisterField<
525        15,
526        0x1,
527        1,
528        0,
529        pcntr1::Pdr15,
530        pcntr1::Pdr15,
531        Pcntr1_SPEC,
532        crate::common::RW,
533    > {
534        crate::common::RegisterField::<
535            15,
536            0x1,
537            1,
538            0,
539            pcntr1::Pdr15,
540            pcntr1::Pdr15,
541            Pcntr1_SPEC,
542            crate::common::RW,
543        >::from_register(self, 0)
544    }
545
546    #[doc = "Pmn Output Data"]
547    #[inline(always)]
548    pub fn podr00(
549        self,
550    ) -> crate::common::RegisterField<
551        16,
552        0x1,
553        1,
554        0,
555        pcntr1::Podr00,
556        pcntr1::Podr00,
557        Pcntr1_SPEC,
558        crate::common::RW,
559    > {
560        crate::common::RegisterField::<
561            16,
562            0x1,
563            1,
564            0,
565            pcntr1::Podr00,
566            pcntr1::Podr00,
567            Pcntr1_SPEC,
568            crate::common::RW,
569        >::from_register(self, 0)
570    }
571
572    #[doc = "Pmn Output Data"]
573    #[inline(always)]
574    pub fn podr01(
575        self,
576    ) -> crate::common::RegisterField<
577        17,
578        0x1,
579        1,
580        0,
581        pcntr1::Podr01,
582        pcntr1::Podr01,
583        Pcntr1_SPEC,
584        crate::common::RW,
585    > {
586        crate::common::RegisterField::<
587            17,
588            0x1,
589            1,
590            0,
591            pcntr1::Podr01,
592            pcntr1::Podr01,
593            Pcntr1_SPEC,
594            crate::common::RW,
595        >::from_register(self, 0)
596    }
597
598    #[doc = "Pmn Output Data"]
599    #[inline(always)]
600    pub fn podr02(
601        self,
602    ) -> crate::common::RegisterField<
603        18,
604        0x1,
605        1,
606        0,
607        pcntr1::Podr02,
608        pcntr1::Podr02,
609        Pcntr1_SPEC,
610        crate::common::RW,
611    > {
612        crate::common::RegisterField::<
613            18,
614            0x1,
615            1,
616            0,
617            pcntr1::Podr02,
618            pcntr1::Podr02,
619            Pcntr1_SPEC,
620            crate::common::RW,
621        >::from_register(self, 0)
622    }
623
624    #[doc = "Pmn Output Data"]
625    #[inline(always)]
626    pub fn podr03(
627        self,
628    ) -> crate::common::RegisterField<
629        19,
630        0x1,
631        1,
632        0,
633        pcntr1::Podr03,
634        pcntr1::Podr03,
635        Pcntr1_SPEC,
636        crate::common::RW,
637    > {
638        crate::common::RegisterField::<
639            19,
640            0x1,
641            1,
642            0,
643            pcntr1::Podr03,
644            pcntr1::Podr03,
645            Pcntr1_SPEC,
646            crate::common::RW,
647        >::from_register(self, 0)
648    }
649
650    #[doc = "Pmn Output Data"]
651    #[inline(always)]
652    pub fn podr04(
653        self,
654    ) -> crate::common::RegisterField<
655        20,
656        0x1,
657        1,
658        0,
659        pcntr1::Podr04,
660        pcntr1::Podr04,
661        Pcntr1_SPEC,
662        crate::common::RW,
663    > {
664        crate::common::RegisterField::<
665            20,
666            0x1,
667            1,
668            0,
669            pcntr1::Podr04,
670            pcntr1::Podr04,
671            Pcntr1_SPEC,
672            crate::common::RW,
673        >::from_register(self, 0)
674    }
675
676    #[doc = "Pmn Output Data"]
677    #[inline(always)]
678    pub fn podr05(
679        self,
680    ) -> crate::common::RegisterField<
681        21,
682        0x1,
683        1,
684        0,
685        pcntr1::Podr05,
686        pcntr1::Podr05,
687        Pcntr1_SPEC,
688        crate::common::RW,
689    > {
690        crate::common::RegisterField::<
691            21,
692            0x1,
693            1,
694            0,
695            pcntr1::Podr05,
696            pcntr1::Podr05,
697            Pcntr1_SPEC,
698            crate::common::RW,
699        >::from_register(self, 0)
700    }
701
702    #[doc = "Pmn Output Data"]
703    #[inline(always)]
704    pub fn podr06(
705        self,
706    ) -> crate::common::RegisterField<
707        22,
708        0x1,
709        1,
710        0,
711        pcntr1::Podr06,
712        pcntr1::Podr06,
713        Pcntr1_SPEC,
714        crate::common::RW,
715    > {
716        crate::common::RegisterField::<
717            22,
718            0x1,
719            1,
720            0,
721            pcntr1::Podr06,
722            pcntr1::Podr06,
723            Pcntr1_SPEC,
724            crate::common::RW,
725        >::from_register(self, 0)
726    }
727
728    #[doc = "Pmn Output Data"]
729    #[inline(always)]
730    pub fn podr07(
731        self,
732    ) -> crate::common::RegisterField<
733        23,
734        0x1,
735        1,
736        0,
737        pcntr1::Podr07,
738        pcntr1::Podr07,
739        Pcntr1_SPEC,
740        crate::common::RW,
741    > {
742        crate::common::RegisterField::<
743            23,
744            0x1,
745            1,
746            0,
747            pcntr1::Podr07,
748            pcntr1::Podr07,
749            Pcntr1_SPEC,
750            crate::common::RW,
751        >::from_register(self, 0)
752    }
753
754    #[doc = "Pmn Output Data"]
755    #[inline(always)]
756    pub fn podr08(
757        self,
758    ) -> crate::common::RegisterField<
759        24,
760        0x1,
761        1,
762        0,
763        pcntr1::Podr08,
764        pcntr1::Podr08,
765        Pcntr1_SPEC,
766        crate::common::RW,
767    > {
768        crate::common::RegisterField::<
769            24,
770            0x1,
771            1,
772            0,
773            pcntr1::Podr08,
774            pcntr1::Podr08,
775            Pcntr1_SPEC,
776            crate::common::RW,
777        >::from_register(self, 0)
778    }
779
780    #[doc = "Pmn Output Data"]
781    #[inline(always)]
782    pub fn podr09(
783        self,
784    ) -> crate::common::RegisterField<
785        25,
786        0x1,
787        1,
788        0,
789        pcntr1::Podr09,
790        pcntr1::Podr09,
791        Pcntr1_SPEC,
792        crate::common::RW,
793    > {
794        crate::common::RegisterField::<
795            25,
796            0x1,
797            1,
798            0,
799            pcntr1::Podr09,
800            pcntr1::Podr09,
801            Pcntr1_SPEC,
802            crate::common::RW,
803        >::from_register(self, 0)
804    }
805
806    #[doc = "Pmn Output Data"]
807    #[inline(always)]
808    pub fn podr10(
809        self,
810    ) -> crate::common::RegisterField<
811        26,
812        0x1,
813        1,
814        0,
815        pcntr1::Podr10,
816        pcntr1::Podr10,
817        Pcntr1_SPEC,
818        crate::common::RW,
819    > {
820        crate::common::RegisterField::<
821            26,
822            0x1,
823            1,
824            0,
825            pcntr1::Podr10,
826            pcntr1::Podr10,
827            Pcntr1_SPEC,
828            crate::common::RW,
829        >::from_register(self, 0)
830    }
831
832    #[doc = "Pmn Output Data"]
833    #[inline(always)]
834    pub fn podr11(
835        self,
836    ) -> crate::common::RegisterField<
837        27,
838        0x1,
839        1,
840        0,
841        pcntr1::Podr11,
842        pcntr1::Podr11,
843        Pcntr1_SPEC,
844        crate::common::RW,
845    > {
846        crate::common::RegisterField::<
847            27,
848            0x1,
849            1,
850            0,
851            pcntr1::Podr11,
852            pcntr1::Podr11,
853            Pcntr1_SPEC,
854            crate::common::RW,
855        >::from_register(self, 0)
856    }
857
858    #[doc = "Pmn Output Data"]
859    #[inline(always)]
860    pub fn podr12(
861        self,
862    ) -> crate::common::RegisterField<
863        28,
864        0x1,
865        1,
866        0,
867        pcntr1::Podr12,
868        pcntr1::Podr12,
869        Pcntr1_SPEC,
870        crate::common::RW,
871    > {
872        crate::common::RegisterField::<
873            28,
874            0x1,
875            1,
876            0,
877            pcntr1::Podr12,
878            pcntr1::Podr12,
879            Pcntr1_SPEC,
880            crate::common::RW,
881        >::from_register(self, 0)
882    }
883
884    #[doc = "Pmn Output Data"]
885    #[inline(always)]
886    pub fn podr13(
887        self,
888    ) -> crate::common::RegisterField<
889        29,
890        0x1,
891        1,
892        0,
893        pcntr1::Podr13,
894        pcntr1::Podr13,
895        Pcntr1_SPEC,
896        crate::common::RW,
897    > {
898        crate::common::RegisterField::<
899            29,
900            0x1,
901            1,
902            0,
903            pcntr1::Podr13,
904            pcntr1::Podr13,
905            Pcntr1_SPEC,
906            crate::common::RW,
907        >::from_register(self, 0)
908    }
909
910    #[doc = "Pmn Output Data"]
911    #[inline(always)]
912    pub fn podr14(
913        self,
914    ) -> crate::common::RegisterField<
915        30,
916        0x1,
917        1,
918        0,
919        pcntr1::Podr14,
920        pcntr1::Podr14,
921        Pcntr1_SPEC,
922        crate::common::RW,
923    > {
924        crate::common::RegisterField::<
925            30,
926            0x1,
927            1,
928            0,
929            pcntr1::Podr14,
930            pcntr1::Podr14,
931            Pcntr1_SPEC,
932            crate::common::RW,
933        >::from_register(self, 0)
934    }
935
936    #[doc = "Pmn Output Data"]
937    #[inline(always)]
938    pub fn podr15(
939        self,
940    ) -> crate::common::RegisterField<
941        31,
942        0x1,
943        1,
944        0,
945        pcntr1::Podr15,
946        pcntr1::Podr15,
947        Pcntr1_SPEC,
948        crate::common::RW,
949    > {
950        crate::common::RegisterField::<
951            31,
952            0x1,
953            1,
954            0,
955            pcntr1::Podr15,
956            pcntr1::Podr15,
957            Pcntr1_SPEC,
958            crate::common::RW,
959        >::from_register(self, 0)
960    }
961}
962impl ::core::default::Default for Pcntr1 {
963    #[inline(always)]
964    fn default() -> Pcntr1 {
965        <crate::RegValueT<Pcntr1_SPEC> as RegisterValue<_>>::new(0)
966    }
967}
968pub mod pcntr1 {
969
970    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
971    pub struct Pdr00_SPEC;
972    pub type Pdr00 = crate::EnumBitfieldStruct<u8, Pdr00_SPEC>;
973    impl Pdr00 {
974        #[doc = "Input (functions as an input pin)"]
975        pub const _0: Self = Self::new(0);
976
977        #[doc = "Output (functions as an output pin)"]
978        pub const _1: Self = Self::new(1);
979    }
980    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
981    pub struct Pdr01_SPEC;
982    pub type Pdr01 = crate::EnumBitfieldStruct<u8, Pdr01_SPEC>;
983    impl Pdr01 {
984        #[doc = "Input (functions as an input pin)"]
985        pub const _0: Self = Self::new(0);
986
987        #[doc = "Output (functions as an output pin)"]
988        pub const _1: Self = Self::new(1);
989    }
990    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
991    pub struct Pdr02_SPEC;
992    pub type Pdr02 = crate::EnumBitfieldStruct<u8, Pdr02_SPEC>;
993    impl Pdr02 {
994        #[doc = "Input (functions as an input pin)"]
995        pub const _0: Self = Self::new(0);
996
997        #[doc = "Output (functions as an output pin)"]
998        pub const _1: Self = Self::new(1);
999    }
1000    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1001    pub struct Pdr03_SPEC;
1002    pub type Pdr03 = crate::EnumBitfieldStruct<u8, Pdr03_SPEC>;
1003    impl Pdr03 {
1004        #[doc = "Input (functions as an input pin)"]
1005        pub const _0: Self = Self::new(0);
1006
1007        #[doc = "Output (functions as an output pin)"]
1008        pub const _1: Self = Self::new(1);
1009    }
1010    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1011    pub struct Pdr04_SPEC;
1012    pub type Pdr04 = crate::EnumBitfieldStruct<u8, Pdr04_SPEC>;
1013    impl Pdr04 {
1014        #[doc = "Input (functions as an input pin)"]
1015        pub const _0: Self = Self::new(0);
1016
1017        #[doc = "Output (functions as an output pin)"]
1018        pub const _1: Self = Self::new(1);
1019    }
1020    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1021    pub struct Pdr05_SPEC;
1022    pub type Pdr05 = crate::EnumBitfieldStruct<u8, Pdr05_SPEC>;
1023    impl Pdr05 {
1024        #[doc = "Input (functions as an input pin)"]
1025        pub const _0: Self = Self::new(0);
1026
1027        #[doc = "Output (functions as an output pin)"]
1028        pub const _1: Self = Self::new(1);
1029    }
1030    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1031    pub struct Pdr06_SPEC;
1032    pub type Pdr06 = crate::EnumBitfieldStruct<u8, Pdr06_SPEC>;
1033    impl Pdr06 {
1034        #[doc = "Input (functions as an input pin)"]
1035        pub const _0: Self = Self::new(0);
1036
1037        #[doc = "Output (functions as an output pin)"]
1038        pub const _1: Self = Self::new(1);
1039    }
1040    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1041    pub struct Pdr07_SPEC;
1042    pub type Pdr07 = crate::EnumBitfieldStruct<u8, Pdr07_SPEC>;
1043    impl Pdr07 {
1044        #[doc = "Input (functions as an input pin)"]
1045        pub const _0: Self = Self::new(0);
1046
1047        #[doc = "Output (functions as an output pin)"]
1048        pub const _1: Self = Self::new(1);
1049    }
1050    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1051    pub struct Pdr08_SPEC;
1052    pub type Pdr08 = crate::EnumBitfieldStruct<u8, Pdr08_SPEC>;
1053    impl Pdr08 {
1054        #[doc = "Input (functions as an input pin)"]
1055        pub const _0: Self = Self::new(0);
1056
1057        #[doc = "Output (functions as an output pin)"]
1058        pub const _1: Self = Self::new(1);
1059    }
1060    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1061    pub struct Pdr09_SPEC;
1062    pub type Pdr09 = crate::EnumBitfieldStruct<u8, Pdr09_SPEC>;
1063    impl Pdr09 {
1064        #[doc = "Input (functions as an input pin)"]
1065        pub const _0: Self = Self::new(0);
1066
1067        #[doc = "Output (functions as an output pin)"]
1068        pub const _1: Self = Self::new(1);
1069    }
1070    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1071    pub struct Pdr10_SPEC;
1072    pub type Pdr10 = crate::EnumBitfieldStruct<u8, Pdr10_SPEC>;
1073    impl Pdr10 {
1074        #[doc = "Input (functions as an input pin)"]
1075        pub const _0: Self = Self::new(0);
1076
1077        #[doc = "Output (functions as an output pin)"]
1078        pub const _1: Self = Self::new(1);
1079    }
1080    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1081    pub struct Pdr11_SPEC;
1082    pub type Pdr11 = crate::EnumBitfieldStruct<u8, Pdr11_SPEC>;
1083    impl Pdr11 {
1084        #[doc = "Input (functions as an input pin)"]
1085        pub const _0: Self = Self::new(0);
1086
1087        #[doc = "Output (functions as an output pin)"]
1088        pub const _1: Self = Self::new(1);
1089    }
1090    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1091    pub struct Pdr12_SPEC;
1092    pub type Pdr12 = crate::EnumBitfieldStruct<u8, Pdr12_SPEC>;
1093    impl Pdr12 {
1094        #[doc = "Input (functions as an input pin)"]
1095        pub const _0: Self = Self::new(0);
1096
1097        #[doc = "Output (functions as an output pin)"]
1098        pub const _1: Self = Self::new(1);
1099    }
1100    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1101    pub struct Pdr13_SPEC;
1102    pub type Pdr13 = crate::EnumBitfieldStruct<u8, Pdr13_SPEC>;
1103    impl Pdr13 {
1104        #[doc = "Input (functions as an input pin)"]
1105        pub const _0: Self = Self::new(0);
1106
1107        #[doc = "Output (functions as an output pin)"]
1108        pub const _1: Self = Self::new(1);
1109    }
1110    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1111    pub struct Pdr14_SPEC;
1112    pub type Pdr14 = crate::EnumBitfieldStruct<u8, Pdr14_SPEC>;
1113    impl Pdr14 {
1114        #[doc = "Input (functions as an input pin)"]
1115        pub const _0: Self = Self::new(0);
1116
1117        #[doc = "Output (functions as an output pin)"]
1118        pub const _1: Self = Self::new(1);
1119    }
1120    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1121    pub struct Pdr15_SPEC;
1122    pub type Pdr15 = crate::EnumBitfieldStruct<u8, Pdr15_SPEC>;
1123    impl Pdr15 {
1124        #[doc = "Input (functions as an input pin)"]
1125        pub const _0: Self = Self::new(0);
1126
1127        #[doc = "Output (functions as an output pin)"]
1128        pub const _1: Self = Self::new(1);
1129    }
1130    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1131    pub struct Podr00_SPEC;
1132    pub type Podr00 = crate::EnumBitfieldStruct<u8, Podr00_SPEC>;
1133    impl Podr00 {
1134        #[doc = "Low output"]
1135        pub const _0: Self = Self::new(0);
1136
1137        #[doc = "High output"]
1138        pub const _1: Self = Self::new(1);
1139    }
1140    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1141    pub struct Podr01_SPEC;
1142    pub type Podr01 = crate::EnumBitfieldStruct<u8, Podr01_SPEC>;
1143    impl Podr01 {
1144        #[doc = "Low output"]
1145        pub const _0: Self = Self::new(0);
1146
1147        #[doc = "High output"]
1148        pub const _1: Self = Self::new(1);
1149    }
1150    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1151    pub struct Podr02_SPEC;
1152    pub type Podr02 = crate::EnumBitfieldStruct<u8, Podr02_SPEC>;
1153    impl Podr02 {
1154        #[doc = "Low output"]
1155        pub const _0: Self = Self::new(0);
1156
1157        #[doc = "High output"]
1158        pub const _1: Self = Self::new(1);
1159    }
1160    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1161    pub struct Podr03_SPEC;
1162    pub type Podr03 = crate::EnumBitfieldStruct<u8, Podr03_SPEC>;
1163    impl Podr03 {
1164        #[doc = "Low output"]
1165        pub const _0: Self = Self::new(0);
1166
1167        #[doc = "High output"]
1168        pub const _1: Self = Self::new(1);
1169    }
1170    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1171    pub struct Podr04_SPEC;
1172    pub type Podr04 = crate::EnumBitfieldStruct<u8, Podr04_SPEC>;
1173    impl Podr04 {
1174        #[doc = "Low output"]
1175        pub const _0: Self = Self::new(0);
1176
1177        #[doc = "High output"]
1178        pub const _1: Self = Self::new(1);
1179    }
1180    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1181    pub struct Podr05_SPEC;
1182    pub type Podr05 = crate::EnumBitfieldStruct<u8, Podr05_SPEC>;
1183    impl Podr05 {
1184        #[doc = "Low output"]
1185        pub const _0: Self = Self::new(0);
1186
1187        #[doc = "High output"]
1188        pub const _1: Self = Self::new(1);
1189    }
1190    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1191    pub struct Podr06_SPEC;
1192    pub type Podr06 = crate::EnumBitfieldStruct<u8, Podr06_SPEC>;
1193    impl Podr06 {
1194        #[doc = "Low output"]
1195        pub const _0: Self = Self::new(0);
1196
1197        #[doc = "High output"]
1198        pub const _1: Self = Self::new(1);
1199    }
1200    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1201    pub struct Podr07_SPEC;
1202    pub type Podr07 = crate::EnumBitfieldStruct<u8, Podr07_SPEC>;
1203    impl Podr07 {
1204        #[doc = "Low output"]
1205        pub const _0: Self = Self::new(0);
1206
1207        #[doc = "High output"]
1208        pub const _1: Self = Self::new(1);
1209    }
1210    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1211    pub struct Podr08_SPEC;
1212    pub type Podr08 = crate::EnumBitfieldStruct<u8, Podr08_SPEC>;
1213    impl Podr08 {
1214        #[doc = "Low output"]
1215        pub const _0: Self = Self::new(0);
1216
1217        #[doc = "High output"]
1218        pub const _1: Self = Self::new(1);
1219    }
1220    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1221    pub struct Podr09_SPEC;
1222    pub type Podr09 = crate::EnumBitfieldStruct<u8, Podr09_SPEC>;
1223    impl Podr09 {
1224        #[doc = "Low output"]
1225        pub const _0: Self = Self::new(0);
1226
1227        #[doc = "High output"]
1228        pub const _1: Self = Self::new(1);
1229    }
1230    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1231    pub struct Podr10_SPEC;
1232    pub type Podr10 = crate::EnumBitfieldStruct<u8, Podr10_SPEC>;
1233    impl Podr10 {
1234        #[doc = "Low output"]
1235        pub const _0: Self = Self::new(0);
1236
1237        #[doc = "High output"]
1238        pub const _1: Self = Self::new(1);
1239    }
1240    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1241    pub struct Podr11_SPEC;
1242    pub type Podr11 = crate::EnumBitfieldStruct<u8, Podr11_SPEC>;
1243    impl Podr11 {
1244        #[doc = "Low output"]
1245        pub const _0: Self = Self::new(0);
1246
1247        #[doc = "High output"]
1248        pub const _1: Self = Self::new(1);
1249    }
1250    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1251    pub struct Podr12_SPEC;
1252    pub type Podr12 = crate::EnumBitfieldStruct<u8, Podr12_SPEC>;
1253    impl Podr12 {
1254        #[doc = "Low output"]
1255        pub const _0: Self = Self::new(0);
1256
1257        #[doc = "High output"]
1258        pub const _1: Self = Self::new(1);
1259    }
1260    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1261    pub struct Podr13_SPEC;
1262    pub type Podr13 = crate::EnumBitfieldStruct<u8, Podr13_SPEC>;
1263    impl Podr13 {
1264        #[doc = "Low output"]
1265        pub const _0: Self = Self::new(0);
1266
1267        #[doc = "High output"]
1268        pub const _1: Self = Self::new(1);
1269    }
1270    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1271    pub struct Podr14_SPEC;
1272    pub type Podr14 = crate::EnumBitfieldStruct<u8, Podr14_SPEC>;
1273    impl Podr14 {
1274        #[doc = "Low output"]
1275        pub const _0: Self = Self::new(0);
1276
1277        #[doc = "High output"]
1278        pub const _1: Self = Self::new(1);
1279    }
1280    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1281    pub struct Podr15_SPEC;
1282    pub type Podr15 = crate::EnumBitfieldStruct<u8, Podr15_SPEC>;
1283    impl Podr15 {
1284        #[doc = "Low output"]
1285        pub const _0: Self = Self::new(0);
1286
1287        #[doc = "High output"]
1288        pub const _1: Self = Self::new(1);
1289    }
1290}
1291#[doc(hidden)]
1292#[derive(Copy, Clone, Eq, PartialEq)]
1293pub struct Pdr_SPEC;
1294impl crate::sealed::RegSpec for Pdr_SPEC {
1295    type DataType = u16;
1296}
1297
1298#[doc = "Port Control Register 1"]
1299pub type Pdr = crate::RegValueT<Pdr_SPEC>;
1300
1301impl Pdr {
1302    #[doc = "Pmn Output Data"]
1303    #[inline(always)]
1304    pub fn podr00(
1305        self,
1306    ) -> crate::common::RegisterField<
1307        0,
1308        0x1,
1309        1,
1310        0,
1311        pdr::Podr00,
1312        pdr::Podr00,
1313        Pdr_SPEC,
1314        crate::common::RW,
1315    > {
1316        crate::common::RegisterField::<
1317            0,
1318            0x1,
1319            1,
1320            0,
1321            pdr::Podr00,
1322            pdr::Podr00,
1323            Pdr_SPEC,
1324            crate::common::RW,
1325        >::from_register(self, 0)
1326    }
1327
1328    #[doc = "Pmn Output Data"]
1329    #[inline(always)]
1330    pub fn podr01(
1331        self,
1332    ) -> crate::common::RegisterField<
1333        1,
1334        0x1,
1335        1,
1336        0,
1337        pdr::Podr01,
1338        pdr::Podr01,
1339        Pdr_SPEC,
1340        crate::common::RW,
1341    > {
1342        crate::common::RegisterField::<
1343            1,
1344            0x1,
1345            1,
1346            0,
1347            pdr::Podr01,
1348            pdr::Podr01,
1349            Pdr_SPEC,
1350            crate::common::RW,
1351        >::from_register(self, 0)
1352    }
1353
1354    #[doc = "Pmn Output Data"]
1355    #[inline(always)]
1356    pub fn podr02(
1357        self,
1358    ) -> crate::common::RegisterField<
1359        2,
1360        0x1,
1361        1,
1362        0,
1363        pdr::Podr02,
1364        pdr::Podr02,
1365        Pdr_SPEC,
1366        crate::common::RW,
1367    > {
1368        crate::common::RegisterField::<
1369            2,
1370            0x1,
1371            1,
1372            0,
1373            pdr::Podr02,
1374            pdr::Podr02,
1375            Pdr_SPEC,
1376            crate::common::RW,
1377        >::from_register(self, 0)
1378    }
1379
1380    #[doc = "Pmn Output Data"]
1381    #[inline(always)]
1382    pub fn podr03(
1383        self,
1384    ) -> crate::common::RegisterField<
1385        3,
1386        0x1,
1387        1,
1388        0,
1389        pdr::Podr03,
1390        pdr::Podr03,
1391        Pdr_SPEC,
1392        crate::common::RW,
1393    > {
1394        crate::common::RegisterField::<
1395            3,
1396            0x1,
1397            1,
1398            0,
1399            pdr::Podr03,
1400            pdr::Podr03,
1401            Pdr_SPEC,
1402            crate::common::RW,
1403        >::from_register(self, 0)
1404    }
1405
1406    #[doc = "Pmn Output Data"]
1407    #[inline(always)]
1408    pub fn podr04(
1409        self,
1410    ) -> crate::common::RegisterField<
1411        4,
1412        0x1,
1413        1,
1414        0,
1415        pdr::Podr04,
1416        pdr::Podr04,
1417        Pdr_SPEC,
1418        crate::common::RW,
1419    > {
1420        crate::common::RegisterField::<
1421            4,
1422            0x1,
1423            1,
1424            0,
1425            pdr::Podr04,
1426            pdr::Podr04,
1427            Pdr_SPEC,
1428            crate::common::RW,
1429        >::from_register(self, 0)
1430    }
1431
1432    #[doc = "Pmn Output Data"]
1433    #[inline(always)]
1434    pub fn podr05(
1435        self,
1436    ) -> crate::common::RegisterField<
1437        5,
1438        0x1,
1439        1,
1440        0,
1441        pdr::Podr05,
1442        pdr::Podr05,
1443        Pdr_SPEC,
1444        crate::common::RW,
1445    > {
1446        crate::common::RegisterField::<
1447            5,
1448            0x1,
1449            1,
1450            0,
1451            pdr::Podr05,
1452            pdr::Podr05,
1453            Pdr_SPEC,
1454            crate::common::RW,
1455        >::from_register(self, 0)
1456    }
1457
1458    #[doc = "Pmn Output Data"]
1459    #[inline(always)]
1460    pub fn podr06(
1461        self,
1462    ) -> crate::common::RegisterField<
1463        6,
1464        0x1,
1465        1,
1466        0,
1467        pdr::Podr06,
1468        pdr::Podr06,
1469        Pdr_SPEC,
1470        crate::common::RW,
1471    > {
1472        crate::common::RegisterField::<
1473            6,
1474            0x1,
1475            1,
1476            0,
1477            pdr::Podr06,
1478            pdr::Podr06,
1479            Pdr_SPEC,
1480            crate::common::RW,
1481        >::from_register(self, 0)
1482    }
1483
1484    #[doc = "Pmn Output Data"]
1485    #[inline(always)]
1486    pub fn podr07(
1487        self,
1488    ) -> crate::common::RegisterField<
1489        7,
1490        0x1,
1491        1,
1492        0,
1493        pdr::Podr07,
1494        pdr::Podr07,
1495        Pdr_SPEC,
1496        crate::common::RW,
1497    > {
1498        crate::common::RegisterField::<
1499            7,
1500            0x1,
1501            1,
1502            0,
1503            pdr::Podr07,
1504            pdr::Podr07,
1505            Pdr_SPEC,
1506            crate::common::RW,
1507        >::from_register(self, 0)
1508    }
1509
1510    #[doc = "Pmn Output Data"]
1511    #[inline(always)]
1512    pub fn podr08(
1513        self,
1514    ) -> crate::common::RegisterField<
1515        8,
1516        0x1,
1517        1,
1518        0,
1519        pdr::Podr08,
1520        pdr::Podr08,
1521        Pdr_SPEC,
1522        crate::common::RW,
1523    > {
1524        crate::common::RegisterField::<
1525            8,
1526            0x1,
1527            1,
1528            0,
1529            pdr::Podr08,
1530            pdr::Podr08,
1531            Pdr_SPEC,
1532            crate::common::RW,
1533        >::from_register(self, 0)
1534    }
1535
1536    #[doc = "Pmn Output Data"]
1537    #[inline(always)]
1538    pub fn podr09(
1539        self,
1540    ) -> crate::common::RegisterField<
1541        9,
1542        0x1,
1543        1,
1544        0,
1545        pdr::Podr09,
1546        pdr::Podr09,
1547        Pdr_SPEC,
1548        crate::common::RW,
1549    > {
1550        crate::common::RegisterField::<
1551            9,
1552            0x1,
1553            1,
1554            0,
1555            pdr::Podr09,
1556            pdr::Podr09,
1557            Pdr_SPEC,
1558            crate::common::RW,
1559        >::from_register(self, 0)
1560    }
1561
1562    #[doc = "Pmn Output Data"]
1563    #[inline(always)]
1564    pub fn podr10(
1565        self,
1566    ) -> crate::common::RegisterField<
1567        10,
1568        0x1,
1569        1,
1570        0,
1571        pdr::Podr10,
1572        pdr::Podr10,
1573        Pdr_SPEC,
1574        crate::common::RW,
1575    > {
1576        crate::common::RegisterField::<
1577            10,
1578            0x1,
1579            1,
1580            0,
1581            pdr::Podr10,
1582            pdr::Podr10,
1583            Pdr_SPEC,
1584            crate::common::RW,
1585        >::from_register(self, 0)
1586    }
1587
1588    #[doc = "Pmn Output Data"]
1589    #[inline(always)]
1590    pub fn podr11(
1591        self,
1592    ) -> crate::common::RegisterField<
1593        11,
1594        0x1,
1595        1,
1596        0,
1597        pdr::Podr11,
1598        pdr::Podr11,
1599        Pdr_SPEC,
1600        crate::common::RW,
1601    > {
1602        crate::common::RegisterField::<
1603            11,
1604            0x1,
1605            1,
1606            0,
1607            pdr::Podr11,
1608            pdr::Podr11,
1609            Pdr_SPEC,
1610            crate::common::RW,
1611        >::from_register(self, 0)
1612    }
1613
1614    #[doc = "Pmn Output Data"]
1615    #[inline(always)]
1616    pub fn podr12(
1617        self,
1618    ) -> crate::common::RegisterField<
1619        12,
1620        0x1,
1621        1,
1622        0,
1623        pdr::Podr12,
1624        pdr::Podr12,
1625        Pdr_SPEC,
1626        crate::common::RW,
1627    > {
1628        crate::common::RegisterField::<
1629            12,
1630            0x1,
1631            1,
1632            0,
1633            pdr::Podr12,
1634            pdr::Podr12,
1635            Pdr_SPEC,
1636            crate::common::RW,
1637        >::from_register(self, 0)
1638    }
1639
1640    #[doc = "Pmn Output Data"]
1641    #[inline(always)]
1642    pub fn podr13(
1643        self,
1644    ) -> crate::common::RegisterField<
1645        13,
1646        0x1,
1647        1,
1648        0,
1649        pdr::Podr13,
1650        pdr::Podr13,
1651        Pdr_SPEC,
1652        crate::common::RW,
1653    > {
1654        crate::common::RegisterField::<
1655            13,
1656            0x1,
1657            1,
1658            0,
1659            pdr::Podr13,
1660            pdr::Podr13,
1661            Pdr_SPEC,
1662            crate::common::RW,
1663        >::from_register(self, 0)
1664    }
1665
1666    #[doc = "Pmn Output Data"]
1667    #[inline(always)]
1668    pub fn podr14(
1669        self,
1670    ) -> crate::common::RegisterField<
1671        14,
1672        0x1,
1673        1,
1674        0,
1675        pdr::Podr14,
1676        pdr::Podr14,
1677        Pdr_SPEC,
1678        crate::common::RW,
1679    > {
1680        crate::common::RegisterField::<
1681            14,
1682            0x1,
1683            1,
1684            0,
1685            pdr::Podr14,
1686            pdr::Podr14,
1687            Pdr_SPEC,
1688            crate::common::RW,
1689        >::from_register(self, 0)
1690    }
1691
1692    #[doc = "Pmn Output Data"]
1693    #[inline(always)]
1694    pub fn podr15(
1695        self,
1696    ) -> crate::common::RegisterField<
1697        15,
1698        0x1,
1699        1,
1700        0,
1701        pdr::Podr15,
1702        pdr::Podr15,
1703        Pdr_SPEC,
1704        crate::common::RW,
1705    > {
1706        crate::common::RegisterField::<
1707            15,
1708            0x1,
1709            1,
1710            0,
1711            pdr::Podr15,
1712            pdr::Podr15,
1713            Pdr_SPEC,
1714            crate::common::RW,
1715        >::from_register(self, 0)
1716    }
1717}
1718impl ::core::default::Default for Pdr {
1719    #[inline(always)]
1720    fn default() -> Pdr {
1721        <crate::RegValueT<Pdr_SPEC> as RegisterValue<_>>::new(0)
1722    }
1723}
1724pub mod pdr {
1725
1726    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1727    pub struct Podr00_SPEC;
1728    pub type Podr00 = crate::EnumBitfieldStruct<u8, Podr00_SPEC>;
1729    impl Podr00 {
1730        #[doc = "Low output"]
1731        pub const _0: Self = Self::new(0);
1732
1733        #[doc = "High output"]
1734        pub const _1: Self = Self::new(1);
1735    }
1736    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1737    pub struct Podr01_SPEC;
1738    pub type Podr01 = crate::EnumBitfieldStruct<u8, Podr01_SPEC>;
1739    impl Podr01 {
1740        #[doc = "Low output"]
1741        pub const _0: Self = Self::new(0);
1742
1743        #[doc = "High output"]
1744        pub const _1: Self = Self::new(1);
1745    }
1746    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1747    pub struct Podr02_SPEC;
1748    pub type Podr02 = crate::EnumBitfieldStruct<u8, Podr02_SPEC>;
1749    impl Podr02 {
1750        #[doc = "Low output"]
1751        pub const _0: Self = Self::new(0);
1752
1753        #[doc = "High output"]
1754        pub const _1: Self = Self::new(1);
1755    }
1756    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1757    pub struct Podr03_SPEC;
1758    pub type Podr03 = crate::EnumBitfieldStruct<u8, Podr03_SPEC>;
1759    impl Podr03 {
1760        #[doc = "Low output"]
1761        pub const _0: Self = Self::new(0);
1762
1763        #[doc = "High output"]
1764        pub const _1: Self = Self::new(1);
1765    }
1766    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1767    pub struct Podr04_SPEC;
1768    pub type Podr04 = crate::EnumBitfieldStruct<u8, Podr04_SPEC>;
1769    impl Podr04 {
1770        #[doc = "Low output"]
1771        pub const _0: Self = Self::new(0);
1772
1773        #[doc = "High output"]
1774        pub const _1: Self = Self::new(1);
1775    }
1776    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1777    pub struct Podr05_SPEC;
1778    pub type Podr05 = crate::EnumBitfieldStruct<u8, Podr05_SPEC>;
1779    impl Podr05 {
1780        #[doc = "Low output"]
1781        pub const _0: Self = Self::new(0);
1782
1783        #[doc = "High output"]
1784        pub const _1: Self = Self::new(1);
1785    }
1786    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1787    pub struct Podr06_SPEC;
1788    pub type Podr06 = crate::EnumBitfieldStruct<u8, Podr06_SPEC>;
1789    impl Podr06 {
1790        #[doc = "Low output"]
1791        pub const _0: Self = Self::new(0);
1792
1793        #[doc = "High output"]
1794        pub const _1: Self = Self::new(1);
1795    }
1796    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1797    pub struct Podr07_SPEC;
1798    pub type Podr07 = crate::EnumBitfieldStruct<u8, Podr07_SPEC>;
1799    impl Podr07 {
1800        #[doc = "Low output"]
1801        pub const _0: Self = Self::new(0);
1802
1803        #[doc = "High output"]
1804        pub const _1: Self = Self::new(1);
1805    }
1806    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1807    pub struct Podr08_SPEC;
1808    pub type Podr08 = crate::EnumBitfieldStruct<u8, Podr08_SPEC>;
1809    impl Podr08 {
1810        #[doc = "Low output"]
1811        pub const _0: Self = Self::new(0);
1812
1813        #[doc = "High output"]
1814        pub const _1: Self = Self::new(1);
1815    }
1816    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1817    pub struct Podr09_SPEC;
1818    pub type Podr09 = crate::EnumBitfieldStruct<u8, Podr09_SPEC>;
1819    impl Podr09 {
1820        #[doc = "Low output"]
1821        pub const _0: Self = Self::new(0);
1822
1823        #[doc = "High output"]
1824        pub const _1: Self = Self::new(1);
1825    }
1826    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1827    pub struct Podr10_SPEC;
1828    pub type Podr10 = crate::EnumBitfieldStruct<u8, Podr10_SPEC>;
1829    impl Podr10 {
1830        #[doc = "Low output"]
1831        pub const _0: Self = Self::new(0);
1832
1833        #[doc = "High output"]
1834        pub const _1: Self = Self::new(1);
1835    }
1836    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1837    pub struct Podr11_SPEC;
1838    pub type Podr11 = crate::EnumBitfieldStruct<u8, Podr11_SPEC>;
1839    impl Podr11 {
1840        #[doc = "Low output"]
1841        pub const _0: Self = Self::new(0);
1842
1843        #[doc = "High output"]
1844        pub const _1: Self = Self::new(1);
1845    }
1846    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1847    pub struct Podr12_SPEC;
1848    pub type Podr12 = crate::EnumBitfieldStruct<u8, Podr12_SPEC>;
1849    impl Podr12 {
1850        #[doc = "Low output"]
1851        pub const _0: Self = Self::new(0);
1852
1853        #[doc = "High output"]
1854        pub const _1: Self = Self::new(1);
1855    }
1856    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1857    pub struct Podr13_SPEC;
1858    pub type Podr13 = crate::EnumBitfieldStruct<u8, Podr13_SPEC>;
1859    impl Podr13 {
1860        #[doc = "Low output"]
1861        pub const _0: Self = Self::new(0);
1862
1863        #[doc = "High output"]
1864        pub const _1: Self = Self::new(1);
1865    }
1866    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1867    pub struct Podr14_SPEC;
1868    pub type Podr14 = crate::EnumBitfieldStruct<u8, Podr14_SPEC>;
1869    impl Podr14 {
1870        #[doc = "Low output"]
1871        pub const _0: Self = Self::new(0);
1872
1873        #[doc = "High output"]
1874        pub const _1: Self = Self::new(1);
1875    }
1876    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
1877    pub struct Podr15_SPEC;
1878    pub type Podr15 = crate::EnumBitfieldStruct<u8, Podr15_SPEC>;
1879    impl Podr15 {
1880        #[doc = "Low output"]
1881        pub const _0: Self = Self::new(0);
1882
1883        #[doc = "High output"]
1884        pub const _1: Self = Self::new(1);
1885    }
1886}
1887#[doc(hidden)]
1888#[derive(Copy, Clone, Eq, PartialEq)]
1889pub struct Podr_SPEC;
1890impl crate::sealed::RegSpec for Podr_SPEC {
1891    type DataType = u16;
1892}
1893
1894#[doc = "Port Control Register 1"]
1895pub type Podr = crate::RegValueT<Podr_SPEC>;
1896
1897impl Podr {
1898    #[doc = "Pmn Direction"]
1899    #[inline(always)]
1900    pub fn pdr00(
1901        self,
1902    ) -> crate::common::RegisterField<
1903        0,
1904        0x1,
1905        1,
1906        0,
1907        podr::Pdr00,
1908        podr::Pdr00,
1909        Podr_SPEC,
1910        crate::common::RW,
1911    > {
1912        crate::common::RegisterField::<
1913            0,
1914            0x1,
1915            1,
1916            0,
1917            podr::Pdr00,
1918            podr::Pdr00,
1919            Podr_SPEC,
1920            crate::common::RW,
1921        >::from_register(self, 0)
1922    }
1923
1924    #[doc = "Pmn Direction"]
1925    #[inline(always)]
1926    pub fn pdr01(
1927        self,
1928    ) -> crate::common::RegisterField<
1929        1,
1930        0x1,
1931        1,
1932        0,
1933        podr::Pdr01,
1934        podr::Pdr01,
1935        Podr_SPEC,
1936        crate::common::RW,
1937    > {
1938        crate::common::RegisterField::<
1939            1,
1940            0x1,
1941            1,
1942            0,
1943            podr::Pdr01,
1944            podr::Pdr01,
1945            Podr_SPEC,
1946            crate::common::RW,
1947        >::from_register(self, 0)
1948    }
1949
1950    #[doc = "Pmn Direction"]
1951    #[inline(always)]
1952    pub fn pdr02(
1953        self,
1954    ) -> crate::common::RegisterField<
1955        2,
1956        0x1,
1957        1,
1958        0,
1959        podr::Pdr02,
1960        podr::Pdr02,
1961        Podr_SPEC,
1962        crate::common::RW,
1963    > {
1964        crate::common::RegisterField::<
1965            2,
1966            0x1,
1967            1,
1968            0,
1969            podr::Pdr02,
1970            podr::Pdr02,
1971            Podr_SPEC,
1972            crate::common::RW,
1973        >::from_register(self, 0)
1974    }
1975
1976    #[doc = "Pmn Direction"]
1977    #[inline(always)]
1978    pub fn pdr03(
1979        self,
1980    ) -> crate::common::RegisterField<
1981        3,
1982        0x1,
1983        1,
1984        0,
1985        podr::Pdr03,
1986        podr::Pdr03,
1987        Podr_SPEC,
1988        crate::common::RW,
1989    > {
1990        crate::common::RegisterField::<
1991            3,
1992            0x1,
1993            1,
1994            0,
1995            podr::Pdr03,
1996            podr::Pdr03,
1997            Podr_SPEC,
1998            crate::common::RW,
1999        >::from_register(self, 0)
2000    }
2001
2002    #[doc = "Pmn Direction"]
2003    #[inline(always)]
2004    pub fn pdr04(
2005        self,
2006    ) -> crate::common::RegisterField<
2007        4,
2008        0x1,
2009        1,
2010        0,
2011        podr::Pdr04,
2012        podr::Pdr04,
2013        Podr_SPEC,
2014        crate::common::RW,
2015    > {
2016        crate::common::RegisterField::<
2017            4,
2018            0x1,
2019            1,
2020            0,
2021            podr::Pdr04,
2022            podr::Pdr04,
2023            Podr_SPEC,
2024            crate::common::RW,
2025        >::from_register(self, 0)
2026    }
2027
2028    #[doc = "Pmn Direction"]
2029    #[inline(always)]
2030    pub fn pdr05(
2031        self,
2032    ) -> crate::common::RegisterField<
2033        5,
2034        0x1,
2035        1,
2036        0,
2037        podr::Pdr05,
2038        podr::Pdr05,
2039        Podr_SPEC,
2040        crate::common::RW,
2041    > {
2042        crate::common::RegisterField::<
2043            5,
2044            0x1,
2045            1,
2046            0,
2047            podr::Pdr05,
2048            podr::Pdr05,
2049            Podr_SPEC,
2050            crate::common::RW,
2051        >::from_register(self, 0)
2052    }
2053
2054    #[doc = "Pmn Direction"]
2055    #[inline(always)]
2056    pub fn pdr06(
2057        self,
2058    ) -> crate::common::RegisterField<
2059        6,
2060        0x1,
2061        1,
2062        0,
2063        podr::Pdr06,
2064        podr::Pdr06,
2065        Podr_SPEC,
2066        crate::common::RW,
2067    > {
2068        crate::common::RegisterField::<
2069            6,
2070            0x1,
2071            1,
2072            0,
2073            podr::Pdr06,
2074            podr::Pdr06,
2075            Podr_SPEC,
2076            crate::common::RW,
2077        >::from_register(self, 0)
2078    }
2079
2080    #[doc = "Pmn Direction"]
2081    #[inline(always)]
2082    pub fn pdr07(
2083        self,
2084    ) -> crate::common::RegisterField<
2085        7,
2086        0x1,
2087        1,
2088        0,
2089        podr::Pdr07,
2090        podr::Pdr07,
2091        Podr_SPEC,
2092        crate::common::RW,
2093    > {
2094        crate::common::RegisterField::<
2095            7,
2096            0x1,
2097            1,
2098            0,
2099            podr::Pdr07,
2100            podr::Pdr07,
2101            Podr_SPEC,
2102            crate::common::RW,
2103        >::from_register(self, 0)
2104    }
2105
2106    #[doc = "Pmn Direction"]
2107    #[inline(always)]
2108    pub fn pdr08(
2109        self,
2110    ) -> crate::common::RegisterField<
2111        8,
2112        0x1,
2113        1,
2114        0,
2115        podr::Pdr08,
2116        podr::Pdr08,
2117        Podr_SPEC,
2118        crate::common::RW,
2119    > {
2120        crate::common::RegisterField::<
2121            8,
2122            0x1,
2123            1,
2124            0,
2125            podr::Pdr08,
2126            podr::Pdr08,
2127            Podr_SPEC,
2128            crate::common::RW,
2129        >::from_register(self, 0)
2130    }
2131
2132    #[doc = "Pmn Direction"]
2133    #[inline(always)]
2134    pub fn pdr09(
2135        self,
2136    ) -> crate::common::RegisterField<
2137        9,
2138        0x1,
2139        1,
2140        0,
2141        podr::Pdr09,
2142        podr::Pdr09,
2143        Podr_SPEC,
2144        crate::common::RW,
2145    > {
2146        crate::common::RegisterField::<
2147            9,
2148            0x1,
2149            1,
2150            0,
2151            podr::Pdr09,
2152            podr::Pdr09,
2153            Podr_SPEC,
2154            crate::common::RW,
2155        >::from_register(self, 0)
2156    }
2157
2158    #[doc = "Pmn Direction"]
2159    #[inline(always)]
2160    pub fn pdr10(
2161        self,
2162    ) -> crate::common::RegisterField<
2163        10,
2164        0x1,
2165        1,
2166        0,
2167        podr::Pdr10,
2168        podr::Pdr10,
2169        Podr_SPEC,
2170        crate::common::RW,
2171    > {
2172        crate::common::RegisterField::<
2173            10,
2174            0x1,
2175            1,
2176            0,
2177            podr::Pdr10,
2178            podr::Pdr10,
2179            Podr_SPEC,
2180            crate::common::RW,
2181        >::from_register(self, 0)
2182    }
2183
2184    #[doc = "Pmn Direction"]
2185    #[inline(always)]
2186    pub fn pdr11(
2187        self,
2188    ) -> crate::common::RegisterField<
2189        11,
2190        0x1,
2191        1,
2192        0,
2193        podr::Pdr11,
2194        podr::Pdr11,
2195        Podr_SPEC,
2196        crate::common::RW,
2197    > {
2198        crate::common::RegisterField::<
2199            11,
2200            0x1,
2201            1,
2202            0,
2203            podr::Pdr11,
2204            podr::Pdr11,
2205            Podr_SPEC,
2206            crate::common::RW,
2207        >::from_register(self, 0)
2208    }
2209
2210    #[doc = "Pmn Direction"]
2211    #[inline(always)]
2212    pub fn pdr12(
2213        self,
2214    ) -> crate::common::RegisterField<
2215        12,
2216        0x1,
2217        1,
2218        0,
2219        podr::Pdr12,
2220        podr::Pdr12,
2221        Podr_SPEC,
2222        crate::common::RW,
2223    > {
2224        crate::common::RegisterField::<
2225            12,
2226            0x1,
2227            1,
2228            0,
2229            podr::Pdr12,
2230            podr::Pdr12,
2231            Podr_SPEC,
2232            crate::common::RW,
2233        >::from_register(self, 0)
2234    }
2235
2236    #[doc = "Pmn Direction"]
2237    #[inline(always)]
2238    pub fn pdr13(
2239        self,
2240    ) -> crate::common::RegisterField<
2241        13,
2242        0x1,
2243        1,
2244        0,
2245        podr::Pdr13,
2246        podr::Pdr13,
2247        Podr_SPEC,
2248        crate::common::RW,
2249    > {
2250        crate::common::RegisterField::<
2251            13,
2252            0x1,
2253            1,
2254            0,
2255            podr::Pdr13,
2256            podr::Pdr13,
2257            Podr_SPEC,
2258            crate::common::RW,
2259        >::from_register(self, 0)
2260    }
2261
2262    #[doc = "Pmn Direction"]
2263    #[inline(always)]
2264    pub fn pdr14(
2265        self,
2266    ) -> crate::common::RegisterField<
2267        14,
2268        0x1,
2269        1,
2270        0,
2271        podr::Pdr14,
2272        podr::Pdr14,
2273        Podr_SPEC,
2274        crate::common::RW,
2275    > {
2276        crate::common::RegisterField::<
2277            14,
2278            0x1,
2279            1,
2280            0,
2281            podr::Pdr14,
2282            podr::Pdr14,
2283            Podr_SPEC,
2284            crate::common::RW,
2285        >::from_register(self, 0)
2286    }
2287
2288    #[doc = "Pmn Direction"]
2289    #[inline(always)]
2290    pub fn pdr15(
2291        self,
2292    ) -> crate::common::RegisterField<
2293        15,
2294        0x1,
2295        1,
2296        0,
2297        podr::Pdr15,
2298        podr::Pdr15,
2299        Podr_SPEC,
2300        crate::common::RW,
2301    > {
2302        crate::common::RegisterField::<
2303            15,
2304            0x1,
2305            1,
2306            0,
2307            podr::Pdr15,
2308            podr::Pdr15,
2309            Podr_SPEC,
2310            crate::common::RW,
2311        >::from_register(self, 0)
2312    }
2313}
2314impl ::core::default::Default for Podr {
2315    #[inline(always)]
2316    fn default() -> Podr {
2317        <crate::RegValueT<Podr_SPEC> as RegisterValue<_>>::new(0)
2318    }
2319}
2320pub mod podr {
2321
2322    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2323    pub struct Pdr00_SPEC;
2324    pub type Pdr00 = crate::EnumBitfieldStruct<u8, Pdr00_SPEC>;
2325    impl Pdr00 {
2326        #[doc = "Input (functions as an input pin)"]
2327        pub const _0: Self = Self::new(0);
2328
2329        #[doc = "Output (functions as an output pin)"]
2330        pub const _1: Self = Self::new(1);
2331    }
2332    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2333    pub struct Pdr01_SPEC;
2334    pub type Pdr01 = crate::EnumBitfieldStruct<u8, Pdr01_SPEC>;
2335    impl Pdr01 {
2336        #[doc = "Input (functions as an input pin)"]
2337        pub const _0: Self = Self::new(0);
2338
2339        #[doc = "Output (functions as an output pin)"]
2340        pub const _1: Self = Self::new(1);
2341    }
2342    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2343    pub struct Pdr02_SPEC;
2344    pub type Pdr02 = crate::EnumBitfieldStruct<u8, Pdr02_SPEC>;
2345    impl Pdr02 {
2346        #[doc = "Input (functions as an input pin)"]
2347        pub const _0: Self = Self::new(0);
2348
2349        #[doc = "Output (functions as an output pin)"]
2350        pub const _1: Self = Self::new(1);
2351    }
2352    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2353    pub struct Pdr03_SPEC;
2354    pub type Pdr03 = crate::EnumBitfieldStruct<u8, Pdr03_SPEC>;
2355    impl Pdr03 {
2356        #[doc = "Input (functions as an input pin)"]
2357        pub const _0: Self = Self::new(0);
2358
2359        #[doc = "Output (functions as an output pin)"]
2360        pub const _1: Self = Self::new(1);
2361    }
2362    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2363    pub struct Pdr04_SPEC;
2364    pub type Pdr04 = crate::EnumBitfieldStruct<u8, Pdr04_SPEC>;
2365    impl Pdr04 {
2366        #[doc = "Input (functions as an input pin)"]
2367        pub const _0: Self = Self::new(0);
2368
2369        #[doc = "Output (functions as an output pin)"]
2370        pub const _1: Self = Self::new(1);
2371    }
2372    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2373    pub struct Pdr05_SPEC;
2374    pub type Pdr05 = crate::EnumBitfieldStruct<u8, Pdr05_SPEC>;
2375    impl Pdr05 {
2376        #[doc = "Input (functions as an input pin)"]
2377        pub const _0: Self = Self::new(0);
2378
2379        #[doc = "Output (functions as an output pin)"]
2380        pub const _1: Self = Self::new(1);
2381    }
2382    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2383    pub struct Pdr06_SPEC;
2384    pub type Pdr06 = crate::EnumBitfieldStruct<u8, Pdr06_SPEC>;
2385    impl Pdr06 {
2386        #[doc = "Input (functions as an input pin)"]
2387        pub const _0: Self = Self::new(0);
2388
2389        #[doc = "Output (functions as an output pin)"]
2390        pub const _1: Self = Self::new(1);
2391    }
2392    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2393    pub struct Pdr07_SPEC;
2394    pub type Pdr07 = crate::EnumBitfieldStruct<u8, Pdr07_SPEC>;
2395    impl Pdr07 {
2396        #[doc = "Input (functions as an input pin)"]
2397        pub const _0: Self = Self::new(0);
2398
2399        #[doc = "Output (functions as an output pin)"]
2400        pub const _1: Self = Self::new(1);
2401    }
2402    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2403    pub struct Pdr08_SPEC;
2404    pub type Pdr08 = crate::EnumBitfieldStruct<u8, Pdr08_SPEC>;
2405    impl Pdr08 {
2406        #[doc = "Input (functions as an input pin)"]
2407        pub const _0: Self = Self::new(0);
2408
2409        #[doc = "Output (functions as an output pin)"]
2410        pub const _1: Self = Self::new(1);
2411    }
2412    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2413    pub struct Pdr09_SPEC;
2414    pub type Pdr09 = crate::EnumBitfieldStruct<u8, Pdr09_SPEC>;
2415    impl Pdr09 {
2416        #[doc = "Input (functions as an input pin)"]
2417        pub const _0: Self = Self::new(0);
2418
2419        #[doc = "Output (functions as an output pin)"]
2420        pub const _1: Self = Self::new(1);
2421    }
2422    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2423    pub struct Pdr10_SPEC;
2424    pub type Pdr10 = crate::EnumBitfieldStruct<u8, Pdr10_SPEC>;
2425    impl Pdr10 {
2426        #[doc = "Input (functions as an input pin)"]
2427        pub const _0: Self = Self::new(0);
2428
2429        #[doc = "Output (functions as an output pin)"]
2430        pub const _1: Self = Self::new(1);
2431    }
2432    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2433    pub struct Pdr11_SPEC;
2434    pub type Pdr11 = crate::EnumBitfieldStruct<u8, Pdr11_SPEC>;
2435    impl Pdr11 {
2436        #[doc = "Input (functions as an input pin)"]
2437        pub const _0: Self = Self::new(0);
2438
2439        #[doc = "Output (functions as an output pin)"]
2440        pub const _1: Self = Self::new(1);
2441    }
2442    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2443    pub struct Pdr12_SPEC;
2444    pub type Pdr12 = crate::EnumBitfieldStruct<u8, Pdr12_SPEC>;
2445    impl Pdr12 {
2446        #[doc = "Input (functions as an input pin)"]
2447        pub const _0: Self = Self::new(0);
2448
2449        #[doc = "Output (functions as an output pin)"]
2450        pub const _1: Self = Self::new(1);
2451    }
2452    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2453    pub struct Pdr13_SPEC;
2454    pub type Pdr13 = crate::EnumBitfieldStruct<u8, Pdr13_SPEC>;
2455    impl Pdr13 {
2456        #[doc = "Input (functions as an input pin)"]
2457        pub const _0: Self = Self::new(0);
2458
2459        #[doc = "Output (functions as an output pin)"]
2460        pub const _1: Self = Self::new(1);
2461    }
2462    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2463    pub struct Pdr14_SPEC;
2464    pub type Pdr14 = crate::EnumBitfieldStruct<u8, Pdr14_SPEC>;
2465    impl Pdr14 {
2466        #[doc = "Input (functions as an input pin)"]
2467        pub const _0: Self = Self::new(0);
2468
2469        #[doc = "Output (functions as an output pin)"]
2470        pub const _1: Self = Self::new(1);
2471    }
2472    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2473    pub struct Pdr15_SPEC;
2474    pub type Pdr15 = crate::EnumBitfieldStruct<u8, Pdr15_SPEC>;
2475    impl Pdr15 {
2476        #[doc = "Input (functions as an input pin)"]
2477        pub const _0: Self = Self::new(0);
2478
2479        #[doc = "Output (functions as an output pin)"]
2480        pub const _1: Self = Self::new(1);
2481    }
2482}
2483#[doc(hidden)]
2484#[derive(Copy, Clone, Eq, PartialEq)]
2485pub struct Pcntr2_SPEC;
2486impl crate::sealed::RegSpec for Pcntr2_SPEC {
2487    type DataType = u32;
2488}
2489
2490#[doc = "Port Control Register 2"]
2491pub type Pcntr2 = crate::RegValueT<Pcntr2_SPEC>;
2492
2493impl Pcntr2 {
2494    #[doc = "Pmn State"]
2495    #[inline(always)]
2496    pub fn pidr00(
2497        self,
2498    ) -> crate::common::RegisterField<
2499        0,
2500        0x1,
2501        1,
2502        0,
2503        pcntr2::Pidr00,
2504        pcntr2::Pidr00,
2505        Pcntr2_SPEC,
2506        crate::common::R,
2507    > {
2508        crate::common::RegisterField::<
2509            0,
2510            0x1,
2511            1,
2512            0,
2513            pcntr2::Pidr00,
2514            pcntr2::Pidr00,
2515            Pcntr2_SPEC,
2516            crate::common::R,
2517        >::from_register(self, 0)
2518    }
2519
2520    #[doc = "Pmn State"]
2521    #[inline(always)]
2522    pub fn pidr01(
2523        self,
2524    ) -> crate::common::RegisterField<
2525        1,
2526        0x1,
2527        1,
2528        0,
2529        pcntr2::Pidr01,
2530        pcntr2::Pidr01,
2531        Pcntr2_SPEC,
2532        crate::common::R,
2533    > {
2534        crate::common::RegisterField::<
2535            1,
2536            0x1,
2537            1,
2538            0,
2539            pcntr2::Pidr01,
2540            pcntr2::Pidr01,
2541            Pcntr2_SPEC,
2542            crate::common::R,
2543        >::from_register(self, 0)
2544    }
2545
2546    #[doc = "Pmn State"]
2547    #[inline(always)]
2548    pub fn pidr02(
2549        self,
2550    ) -> crate::common::RegisterField<
2551        2,
2552        0x1,
2553        1,
2554        0,
2555        pcntr2::Pidr02,
2556        pcntr2::Pidr02,
2557        Pcntr2_SPEC,
2558        crate::common::R,
2559    > {
2560        crate::common::RegisterField::<
2561            2,
2562            0x1,
2563            1,
2564            0,
2565            pcntr2::Pidr02,
2566            pcntr2::Pidr02,
2567            Pcntr2_SPEC,
2568            crate::common::R,
2569        >::from_register(self, 0)
2570    }
2571
2572    #[doc = "Pmn State"]
2573    #[inline(always)]
2574    pub fn pidr03(
2575        self,
2576    ) -> crate::common::RegisterField<
2577        3,
2578        0x1,
2579        1,
2580        0,
2581        pcntr2::Pidr03,
2582        pcntr2::Pidr03,
2583        Pcntr2_SPEC,
2584        crate::common::R,
2585    > {
2586        crate::common::RegisterField::<
2587            3,
2588            0x1,
2589            1,
2590            0,
2591            pcntr2::Pidr03,
2592            pcntr2::Pidr03,
2593            Pcntr2_SPEC,
2594            crate::common::R,
2595        >::from_register(self, 0)
2596    }
2597
2598    #[doc = "Pmn State"]
2599    #[inline(always)]
2600    pub fn pidr04(
2601        self,
2602    ) -> crate::common::RegisterField<
2603        4,
2604        0x1,
2605        1,
2606        0,
2607        pcntr2::Pidr04,
2608        pcntr2::Pidr04,
2609        Pcntr2_SPEC,
2610        crate::common::R,
2611    > {
2612        crate::common::RegisterField::<
2613            4,
2614            0x1,
2615            1,
2616            0,
2617            pcntr2::Pidr04,
2618            pcntr2::Pidr04,
2619            Pcntr2_SPEC,
2620            crate::common::R,
2621        >::from_register(self, 0)
2622    }
2623
2624    #[doc = "Pmn State"]
2625    #[inline(always)]
2626    pub fn pidr05(
2627        self,
2628    ) -> crate::common::RegisterField<
2629        5,
2630        0x1,
2631        1,
2632        0,
2633        pcntr2::Pidr05,
2634        pcntr2::Pidr05,
2635        Pcntr2_SPEC,
2636        crate::common::R,
2637    > {
2638        crate::common::RegisterField::<
2639            5,
2640            0x1,
2641            1,
2642            0,
2643            pcntr2::Pidr05,
2644            pcntr2::Pidr05,
2645            Pcntr2_SPEC,
2646            crate::common::R,
2647        >::from_register(self, 0)
2648    }
2649
2650    #[doc = "Pmn State"]
2651    #[inline(always)]
2652    pub fn pidr06(
2653        self,
2654    ) -> crate::common::RegisterField<
2655        6,
2656        0x1,
2657        1,
2658        0,
2659        pcntr2::Pidr06,
2660        pcntr2::Pidr06,
2661        Pcntr2_SPEC,
2662        crate::common::R,
2663    > {
2664        crate::common::RegisterField::<
2665            6,
2666            0x1,
2667            1,
2668            0,
2669            pcntr2::Pidr06,
2670            pcntr2::Pidr06,
2671            Pcntr2_SPEC,
2672            crate::common::R,
2673        >::from_register(self, 0)
2674    }
2675
2676    #[doc = "Pmn State"]
2677    #[inline(always)]
2678    pub fn pidr07(
2679        self,
2680    ) -> crate::common::RegisterField<
2681        7,
2682        0x1,
2683        1,
2684        0,
2685        pcntr2::Pidr07,
2686        pcntr2::Pidr07,
2687        Pcntr2_SPEC,
2688        crate::common::R,
2689    > {
2690        crate::common::RegisterField::<
2691            7,
2692            0x1,
2693            1,
2694            0,
2695            pcntr2::Pidr07,
2696            pcntr2::Pidr07,
2697            Pcntr2_SPEC,
2698            crate::common::R,
2699        >::from_register(self, 0)
2700    }
2701
2702    #[doc = "Pmn State"]
2703    #[inline(always)]
2704    pub fn pidr08(
2705        self,
2706    ) -> crate::common::RegisterField<
2707        8,
2708        0x1,
2709        1,
2710        0,
2711        pcntr2::Pidr08,
2712        pcntr2::Pidr08,
2713        Pcntr2_SPEC,
2714        crate::common::R,
2715    > {
2716        crate::common::RegisterField::<
2717            8,
2718            0x1,
2719            1,
2720            0,
2721            pcntr2::Pidr08,
2722            pcntr2::Pidr08,
2723            Pcntr2_SPEC,
2724            crate::common::R,
2725        >::from_register(self, 0)
2726    }
2727
2728    #[doc = "Pmn State"]
2729    #[inline(always)]
2730    pub fn pidr09(
2731        self,
2732    ) -> crate::common::RegisterField<
2733        9,
2734        0x1,
2735        1,
2736        0,
2737        pcntr2::Pidr09,
2738        pcntr2::Pidr09,
2739        Pcntr2_SPEC,
2740        crate::common::R,
2741    > {
2742        crate::common::RegisterField::<
2743            9,
2744            0x1,
2745            1,
2746            0,
2747            pcntr2::Pidr09,
2748            pcntr2::Pidr09,
2749            Pcntr2_SPEC,
2750            crate::common::R,
2751        >::from_register(self, 0)
2752    }
2753
2754    #[doc = "Pmn State"]
2755    #[inline(always)]
2756    pub fn pidr10(
2757        self,
2758    ) -> crate::common::RegisterField<
2759        10,
2760        0x1,
2761        1,
2762        0,
2763        pcntr2::Pidr10,
2764        pcntr2::Pidr10,
2765        Pcntr2_SPEC,
2766        crate::common::R,
2767    > {
2768        crate::common::RegisterField::<
2769            10,
2770            0x1,
2771            1,
2772            0,
2773            pcntr2::Pidr10,
2774            pcntr2::Pidr10,
2775            Pcntr2_SPEC,
2776            crate::common::R,
2777        >::from_register(self, 0)
2778    }
2779
2780    #[doc = "Pmn State"]
2781    #[inline(always)]
2782    pub fn pidr11(
2783        self,
2784    ) -> crate::common::RegisterField<
2785        11,
2786        0x1,
2787        1,
2788        0,
2789        pcntr2::Pidr11,
2790        pcntr2::Pidr11,
2791        Pcntr2_SPEC,
2792        crate::common::R,
2793    > {
2794        crate::common::RegisterField::<
2795            11,
2796            0x1,
2797            1,
2798            0,
2799            pcntr2::Pidr11,
2800            pcntr2::Pidr11,
2801            Pcntr2_SPEC,
2802            crate::common::R,
2803        >::from_register(self, 0)
2804    }
2805
2806    #[doc = "Pmn State"]
2807    #[inline(always)]
2808    pub fn pidr12(
2809        self,
2810    ) -> crate::common::RegisterField<
2811        12,
2812        0x1,
2813        1,
2814        0,
2815        pcntr2::Pidr12,
2816        pcntr2::Pidr12,
2817        Pcntr2_SPEC,
2818        crate::common::R,
2819    > {
2820        crate::common::RegisterField::<
2821            12,
2822            0x1,
2823            1,
2824            0,
2825            pcntr2::Pidr12,
2826            pcntr2::Pidr12,
2827            Pcntr2_SPEC,
2828            crate::common::R,
2829        >::from_register(self, 0)
2830    }
2831
2832    #[doc = "Pmn State"]
2833    #[inline(always)]
2834    pub fn pidr13(
2835        self,
2836    ) -> crate::common::RegisterField<
2837        13,
2838        0x1,
2839        1,
2840        0,
2841        pcntr2::Pidr13,
2842        pcntr2::Pidr13,
2843        Pcntr2_SPEC,
2844        crate::common::R,
2845    > {
2846        crate::common::RegisterField::<
2847            13,
2848            0x1,
2849            1,
2850            0,
2851            pcntr2::Pidr13,
2852            pcntr2::Pidr13,
2853            Pcntr2_SPEC,
2854            crate::common::R,
2855        >::from_register(self, 0)
2856    }
2857
2858    #[doc = "Pmn State"]
2859    #[inline(always)]
2860    pub fn pidr14(
2861        self,
2862    ) -> crate::common::RegisterField<
2863        14,
2864        0x1,
2865        1,
2866        0,
2867        pcntr2::Pidr14,
2868        pcntr2::Pidr14,
2869        Pcntr2_SPEC,
2870        crate::common::R,
2871    > {
2872        crate::common::RegisterField::<
2873            14,
2874            0x1,
2875            1,
2876            0,
2877            pcntr2::Pidr14,
2878            pcntr2::Pidr14,
2879            Pcntr2_SPEC,
2880            crate::common::R,
2881        >::from_register(self, 0)
2882    }
2883
2884    #[doc = "Pmn State"]
2885    #[inline(always)]
2886    pub fn pidr15(
2887        self,
2888    ) -> crate::common::RegisterField<
2889        15,
2890        0x1,
2891        1,
2892        0,
2893        pcntr2::Pidr15,
2894        pcntr2::Pidr15,
2895        Pcntr2_SPEC,
2896        crate::common::R,
2897    > {
2898        crate::common::RegisterField::<
2899            15,
2900            0x1,
2901            1,
2902            0,
2903            pcntr2::Pidr15,
2904            pcntr2::Pidr15,
2905            Pcntr2_SPEC,
2906            crate::common::R,
2907        >::from_register(self, 0)
2908    }
2909}
2910impl ::core::default::Default for Pcntr2 {
2911    #[inline(always)]
2912    fn default() -> Pcntr2 {
2913        <crate::RegValueT<Pcntr2_SPEC> as RegisterValue<_>>::new(0)
2914    }
2915}
2916pub mod pcntr2 {
2917
2918    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2919    pub struct Pidr00_SPEC;
2920    pub type Pidr00 = crate::EnumBitfieldStruct<u8, Pidr00_SPEC>;
2921    impl Pidr00 {
2922        #[doc = "Low level"]
2923        pub const _0: Self = Self::new(0);
2924
2925        #[doc = "High level"]
2926        pub const _1: Self = Self::new(1);
2927    }
2928    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2929    pub struct Pidr01_SPEC;
2930    pub type Pidr01 = crate::EnumBitfieldStruct<u8, Pidr01_SPEC>;
2931    impl Pidr01 {
2932        #[doc = "Low level"]
2933        pub const _0: Self = Self::new(0);
2934
2935        #[doc = "High level"]
2936        pub const _1: Self = Self::new(1);
2937    }
2938    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2939    pub struct Pidr02_SPEC;
2940    pub type Pidr02 = crate::EnumBitfieldStruct<u8, Pidr02_SPEC>;
2941    impl Pidr02 {
2942        #[doc = "Low level"]
2943        pub const _0: Self = Self::new(0);
2944
2945        #[doc = "High level"]
2946        pub const _1: Self = Self::new(1);
2947    }
2948    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2949    pub struct Pidr03_SPEC;
2950    pub type Pidr03 = crate::EnumBitfieldStruct<u8, Pidr03_SPEC>;
2951    impl Pidr03 {
2952        #[doc = "Low level"]
2953        pub const _0: Self = Self::new(0);
2954
2955        #[doc = "High level"]
2956        pub const _1: Self = Self::new(1);
2957    }
2958    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2959    pub struct Pidr04_SPEC;
2960    pub type Pidr04 = crate::EnumBitfieldStruct<u8, Pidr04_SPEC>;
2961    impl Pidr04 {
2962        #[doc = "Low level"]
2963        pub const _0: Self = Self::new(0);
2964
2965        #[doc = "High level"]
2966        pub const _1: Self = Self::new(1);
2967    }
2968    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2969    pub struct Pidr05_SPEC;
2970    pub type Pidr05 = crate::EnumBitfieldStruct<u8, Pidr05_SPEC>;
2971    impl Pidr05 {
2972        #[doc = "Low level"]
2973        pub const _0: Self = Self::new(0);
2974
2975        #[doc = "High level"]
2976        pub const _1: Self = Self::new(1);
2977    }
2978    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2979    pub struct Pidr06_SPEC;
2980    pub type Pidr06 = crate::EnumBitfieldStruct<u8, Pidr06_SPEC>;
2981    impl Pidr06 {
2982        #[doc = "Low level"]
2983        pub const _0: Self = Self::new(0);
2984
2985        #[doc = "High level"]
2986        pub const _1: Self = Self::new(1);
2987    }
2988    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2989    pub struct Pidr07_SPEC;
2990    pub type Pidr07 = crate::EnumBitfieldStruct<u8, Pidr07_SPEC>;
2991    impl Pidr07 {
2992        #[doc = "Low level"]
2993        pub const _0: Self = Self::new(0);
2994
2995        #[doc = "High level"]
2996        pub const _1: Self = Self::new(1);
2997    }
2998    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
2999    pub struct Pidr08_SPEC;
3000    pub type Pidr08 = crate::EnumBitfieldStruct<u8, Pidr08_SPEC>;
3001    impl Pidr08 {
3002        #[doc = "Low level"]
3003        pub const _0: Self = Self::new(0);
3004
3005        #[doc = "High level"]
3006        pub const _1: Self = Self::new(1);
3007    }
3008    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3009    pub struct Pidr09_SPEC;
3010    pub type Pidr09 = crate::EnumBitfieldStruct<u8, Pidr09_SPEC>;
3011    impl Pidr09 {
3012        #[doc = "Low level"]
3013        pub const _0: Self = Self::new(0);
3014
3015        #[doc = "High level"]
3016        pub const _1: Self = Self::new(1);
3017    }
3018    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3019    pub struct Pidr10_SPEC;
3020    pub type Pidr10 = crate::EnumBitfieldStruct<u8, Pidr10_SPEC>;
3021    impl Pidr10 {
3022        #[doc = "Low level"]
3023        pub const _0: Self = Self::new(0);
3024
3025        #[doc = "High level"]
3026        pub const _1: Self = Self::new(1);
3027    }
3028    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3029    pub struct Pidr11_SPEC;
3030    pub type Pidr11 = crate::EnumBitfieldStruct<u8, Pidr11_SPEC>;
3031    impl Pidr11 {
3032        #[doc = "Low level"]
3033        pub const _0: Self = Self::new(0);
3034
3035        #[doc = "High level"]
3036        pub const _1: Self = Self::new(1);
3037    }
3038    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3039    pub struct Pidr12_SPEC;
3040    pub type Pidr12 = crate::EnumBitfieldStruct<u8, Pidr12_SPEC>;
3041    impl Pidr12 {
3042        #[doc = "Low level"]
3043        pub const _0: Self = Self::new(0);
3044
3045        #[doc = "High level"]
3046        pub const _1: Self = Self::new(1);
3047    }
3048    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3049    pub struct Pidr13_SPEC;
3050    pub type Pidr13 = crate::EnumBitfieldStruct<u8, Pidr13_SPEC>;
3051    impl Pidr13 {
3052        #[doc = "Low level"]
3053        pub const _0: Self = Self::new(0);
3054
3055        #[doc = "High level"]
3056        pub const _1: Self = Self::new(1);
3057    }
3058    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3059    pub struct Pidr14_SPEC;
3060    pub type Pidr14 = crate::EnumBitfieldStruct<u8, Pidr14_SPEC>;
3061    impl Pidr14 {
3062        #[doc = "Low level"]
3063        pub const _0: Self = Self::new(0);
3064
3065        #[doc = "High level"]
3066        pub const _1: Self = Self::new(1);
3067    }
3068    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3069    pub struct Pidr15_SPEC;
3070    pub type Pidr15 = crate::EnumBitfieldStruct<u8, Pidr15_SPEC>;
3071    impl Pidr15 {
3072        #[doc = "Low level"]
3073        pub const _0: Self = Self::new(0);
3074
3075        #[doc = "High level"]
3076        pub const _1: Self = Self::new(1);
3077    }
3078}
3079#[doc(hidden)]
3080#[derive(Copy, Clone, Eq, PartialEq)]
3081pub struct Pidr_SPEC;
3082impl crate::sealed::RegSpec for Pidr_SPEC {
3083    type DataType = u16;
3084}
3085
3086#[doc = "Port Control Register 2"]
3087pub type Pidr = crate::RegValueT<Pidr_SPEC>;
3088
3089impl NoBitfieldReg<Pidr_SPEC> for Pidr {}
3090impl ::core::default::Default for Pidr {
3091    #[inline(always)]
3092    fn default() -> Pidr {
3093        <crate::RegValueT<Pidr_SPEC> as RegisterValue<_>>::new(0)
3094    }
3095}
3096
3097#[doc(hidden)]
3098#[derive(Copy, Clone, Eq, PartialEq)]
3099pub struct Pcntr3_SPEC;
3100impl crate::sealed::RegSpec for Pcntr3_SPEC {
3101    type DataType = u32;
3102}
3103
3104#[doc = "Port Control Register 3"]
3105pub type Pcntr3 = crate::RegValueT<Pcntr3_SPEC>;
3106
3107impl Pcntr3 {
3108    #[doc = "Pmn Output Set"]
3109    #[inline(always)]
3110    pub fn posr00(
3111        self,
3112    ) -> crate::common::RegisterField<
3113        0,
3114        0x1,
3115        1,
3116        0,
3117        pcntr3::Posr00,
3118        pcntr3::Posr00,
3119        Pcntr3_SPEC,
3120        crate::common::W,
3121    > {
3122        crate::common::RegisterField::<
3123            0,
3124            0x1,
3125            1,
3126            0,
3127            pcntr3::Posr00,
3128            pcntr3::Posr00,
3129            Pcntr3_SPEC,
3130            crate::common::W,
3131        >::from_register(self, 0)
3132    }
3133
3134    #[doc = "Pmn Output Set"]
3135    #[inline(always)]
3136    pub fn posr01(
3137        self,
3138    ) -> crate::common::RegisterField<
3139        1,
3140        0x1,
3141        1,
3142        0,
3143        pcntr3::Posr01,
3144        pcntr3::Posr01,
3145        Pcntr3_SPEC,
3146        crate::common::W,
3147    > {
3148        crate::common::RegisterField::<
3149            1,
3150            0x1,
3151            1,
3152            0,
3153            pcntr3::Posr01,
3154            pcntr3::Posr01,
3155            Pcntr3_SPEC,
3156            crate::common::W,
3157        >::from_register(self, 0)
3158    }
3159
3160    #[doc = "Pmn Output Set"]
3161    #[inline(always)]
3162    pub fn posr02(
3163        self,
3164    ) -> crate::common::RegisterField<
3165        2,
3166        0x1,
3167        1,
3168        0,
3169        pcntr3::Posr02,
3170        pcntr3::Posr02,
3171        Pcntr3_SPEC,
3172        crate::common::W,
3173    > {
3174        crate::common::RegisterField::<
3175            2,
3176            0x1,
3177            1,
3178            0,
3179            pcntr3::Posr02,
3180            pcntr3::Posr02,
3181            Pcntr3_SPEC,
3182            crate::common::W,
3183        >::from_register(self, 0)
3184    }
3185
3186    #[doc = "Pmn Output Set"]
3187    #[inline(always)]
3188    pub fn posr03(
3189        self,
3190    ) -> crate::common::RegisterField<
3191        3,
3192        0x1,
3193        1,
3194        0,
3195        pcntr3::Posr03,
3196        pcntr3::Posr03,
3197        Pcntr3_SPEC,
3198        crate::common::W,
3199    > {
3200        crate::common::RegisterField::<
3201            3,
3202            0x1,
3203            1,
3204            0,
3205            pcntr3::Posr03,
3206            pcntr3::Posr03,
3207            Pcntr3_SPEC,
3208            crate::common::W,
3209        >::from_register(self, 0)
3210    }
3211
3212    #[doc = "Pmn Output Set"]
3213    #[inline(always)]
3214    pub fn posr04(
3215        self,
3216    ) -> crate::common::RegisterField<
3217        4,
3218        0x1,
3219        1,
3220        0,
3221        pcntr3::Posr04,
3222        pcntr3::Posr04,
3223        Pcntr3_SPEC,
3224        crate::common::W,
3225    > {
3226        crate::common::RegisterField::<
3227            4,
3228            0x1,
3229            1,
3230            0,
3231            pcntr3::Posr04,
3232            pcntr3::Posr04,
3233            Pcntr3_SPEC,
3234            crate::common::W,
3235        >::from_register(self, 0)
3236    }
3237
3238    #[doc = "Pmn Output Set"]
3239    #[inline(always)]
3240    pub fn posr05(
3241        self,
3242    ) -> crate::common::RegisterField<
3243        5,
3244        0x1,
3245        1,
3246        0,
3247        pcntr3::Posr05,
3248        pcntr3::Posr05,
3249        Pcntr3_SPEC,
3250        crate::common::W,
3251    > {
3252        crate::common::RegisterField::<
3253            5,
3254            0x1,
3255            1,
3256            0,
3257            pcntr3::Posr05,
3258            pcntr3::Posr05,
3259            Pcntr3_SPEC,
3260            crate::common::W,
3261        >::from_register(self, 0)
3262    }
3263
3264    #[doc = "Pmn Output Set"]
3265    #[inline(always)]
3266    pub fn posr06(
3267        self,
3268    ) -> crate::common::RegisterField<
3269        6,
3270        0x1,
3271        1,
3272        0,
3273        pcntr3::Posr06,
3274        pcntr3::Posr06,
3275        Pcntr3_SPEC,
3276        crate::common::W,
3277    > {
3278        crate::common::RegisterField::<
3279            6,
3280            0x1,
3281            1,
3282            0,
3283            pcntr3::Posr06,
3284            pcntr3::Posr06,
3285            Pcntr3_SPEC,
3286            crate::common::W,
3287        >::from_register(self, 0)
3288    }
3289
3290    #[doc = "Pmn Output Set"]
3291    #[inline(always)]
3292    pub fn posr07(
3293        self,
3294    ) -> crate::common::RegisterField<
3295        7,
3296        0x1,
3297        1,
3298        0,
3299        pcntr3::Posr07,
3300        pcntr3::Posr07,
3301        Pcntr3_SPEC,
3302        crate::common::W,
3303    > {
3304        crate::common::RegisterField::<
3305            7,
3306            0x1,
3307            1,
3308            0,
3309            pcntr3::Posr07,
3310            pcntr3::Posr07,
3311            Pcntr3_SPEC,
3312            crate::common::W,
3313        >::from_register(self, 0)
3314    }
3315
3316    #[doc = "Pmn Output Set"]
3317    #[inline(always)]
3318    pub fn posr08(
3319        self,
3320    ) -> crate::common::RegisterField<
3321        8,
3322        0x1,
3323        1,
3324        0,
3325        pcntr3::Posr08,
3326        pcntr3::Posr08,
3327        Pcntr3_SPEC,
3328        crate::common::W,
3329    > {
3330        crate::common::RegisterField::<
3331            8,
3332            0x1,
3333            1,
3334            0,
3335            pcntr3::Posr08,
3336            pcntr3::Posr08,
3337            Pcntr3_SPEC,
3338            crate::common::W,
3339        >::from_register(self, 0)
3340    }
3341
3342    #[doc = "Pmn Output Set"]
3343    #[inline(always)]
3344    pub fn posr09(
3345        self,
3346    ) -> crate::common::RegisterField<
3347        9,
3348        0x1,
3349        1,
3350        0,
3351        pcntr3::Posr09,
3352        pcntr3::Posr09,
3353        Pcntr3_SPEC,
3354        crate::common::W,
3355    > {
3356        crate::common::RegisterField::<
3357            9,
3358            0x1,
3359            1,
3360            0,
3361            pcntr3::Posr09,
3362            pcntr3::Posr09,
3363            Pcntr3_SPEC,
3364            crate::common::W,
3365        >::from_register(self, 0)
3366    }
3367
3368    #[doc = "Pmn Output Set"]
3369    #[inline(always)]
3370    pub fn posr10(
3371        self,
3372    ) -> crate::common::RegisterField<
3373        10,
3374        0x1,
3375        1,
3376        0,
3377        pcntr3::Posr10,
3378        pcntr3::Posr10,
3379        Pcntr3_SPEC,
3380        crate::common::W,
3381    > {
3382        crate::common::RegisterField::<
3383            10,
3384            0x1,
3385            1,
3386            0,
3387            pcntr3::Posr10,
3388            pcntr3::Posr10,
3389            Pcntr3_SPEC,
3390            crate::common::W,
3391        >::from_register(self, 0)
3392    }
3393
3394    #[doc = "Pmn Output Set"]
3395    #[inline(always)]
3396    pub fn posr11(
3397        self,
3398    ) -> crate::common::RegisterField<
3399        11,
3400        0x1,
3401        1,
3402        0,
3403        pcntr3::Posr11,
3404        pcntr3::Posr11,
3405        Pcntr3_SPEC,
3406        crate::common::W,
3407    > {
3408        crate::common::RegisterField::<
3409            11,
3410            0x1,
3411            1,
3412            0,
3413            pcntr3::Posr11,
3414            pcntr3::Posr11,
3415            Pcntr3_SPEC,
3416            crate::common::W,
3417        >::from_register(self, 0)
3418    }
3419
3420    #[doc = "Pmn Output Set"]
3421    #[inline(always)]
3422    pub fn posr12(
3423        self,
3424    ) -> crate::common::RegisterField<
3425        12,
3426        0x1,
3427        1,
3428        0,
3429        pcntr3::Posr12,
3430        pcntr3::Posr12,
3431        Pcntr3_SPEC,
3432        crate::common::W,
3433    > {
3434        crate::common::RegisterField::<
3435            12,
3436            0x1,
3437            1,
3438            0,
3439            pcntr3::Posr12,
3440            pcntr3::Posr12,
3441            Pcntr3_SPEC,
3442            crate::common::W,
3443        >::from_register(self, 0)
3444    }
3445
3446    #[doc = "Pmn Output Set"]
3447    #[inline(always)]
3448    pub fn posr13(
3449        self,
3450    ) -> crate::common::RegisterField<
3451        13,
3452        0x1,
3453        1,
3454        0,
3455        pcntr3::Posr13,
3456        pcntr3::Posr13,
3457        Pcntr3_SPEC,
3458        crate::common::W,
3459    > {
3460        crate::common::RegisterField::<
3461            13,
3462            0x1,
3463            1,
3464            0,
3465            pcntr3::Posr13,
3466            pcntr3::Posr13,
3467            Pcntr3_SPEC,
3468            crate::common::W,
3469        >::from_register(self, 0)
3470    }
3471
3472    #[doc = "Pmn Output Set"]
3473    #[inline(always)]
3474    pub fn posr14(
3475        self,
3476    ) -> crate::common::RegisterField<
3477        14,
3478        0x1,
3479        1,
3480        0,
3481        pcntr3::Posr14,
3482        pcntr3::Posr14,
3483        Pcntr3_SPEC,
3484        crate::common::W,
3485    > {
3486        crate::common::RegisterField::<
3487            14,
3488            0x1,
3489            1,
3490            0,
3491            pcntr3::Posr14,
3492            pcntr3::Posr14,
3493            Pcntr3_SPEC,
3494            crate::common::W,
3495        >::from_register(self, 0)
3496    }
3497
3498    #[doc = "Pmn Output Set"]
3499    #[inline(always)]
3500    pub fn posr15(
3501        self,
3502    ) -> crate::common::RegisterField<
3503        15,
3504        0x1,
3505        1,
3506        0,
3507        pcntr3::Posr15,
3508        pcntr3::Posr15,
3509        Pcntr3_SPEC,
3510        crate::common::W,
3511    > {
3512        crate::common::RegisterField::<
3513            15,
3514            0x1,
3515            1,
3516            0,
3517            pcntr3::Posr15,
3518            pcntr3::Posr15,
3519            Pcntr3_SPEC,
3520            crate::common::W,
3521        >::from_register(self, 0)
3522    }
3523
3524    #[doc = "Pmn Output Reset"]
3525    #[inline(always)]
3526    pub fn porr00(
3527        self,
3528    ) -> crate::common::RegisterField<
3529        16,
3530        0x1,
3531        1,
3532        0,
3533        pcntr3::Porr00,
3534        pcntr3::Porr00,
3535        Pcntr3_SPEC,
3536        crate::common::W,
3537    > {
3538        crate::common::RegisterField::<
3539            16,
3540            0x1,
3541            1,
3542            0,
3543            pcntr3::Porr00,
3544            pcntr3::Porr00,
3545            Pcntr3_SPEC,
3546            crate::common::W,
3547        >::from_register(self, 0)
3548    }
3549
3550    #[doc = "Pmn Output Reset"]
3551    #[inline(always)]
3552    pub fn porr01(
3553        self,
3554    ) -> crate::common::RegisterField<
3555        17,
3556        0x1,
3557        1,
3558        0,
3559        pcntr3::Porr01,
3560        pcntr3::Porr01,
3561        Pcntr3_SPEC,
3562        crate::common::W,
3563    > {
3564        crate::common::RegisterField::<
3565            17,
3566            0x1,
3567            1,
3568            0,
3569            pcntr3::Porr01,
3570            pcntr3::Porr01,
3571            Pcntr3_SPEC,
3572            crate::common::W,
3573        >::from_register(self, 0)
3574    }
3575
3576    #[doc = "Pmn Output Reset"]
3577    #[inline(always)]
3578    pub fn porr02(
3579        self,
3580    ) -> crate::common::RegisterField<
3581        18,
3582        0x1,
3583        1,
3584        0,
3585        pcntr3::Porr02,
3586        pcntr3::Porr02,
3587        Pcntr3_SPEC,
3588        crate::common::W,
3589    > {
3590        crate::common::RegisterField::<
3591            18,
3592            0x1,
3593            1,
3594            0,
3595            pcntr3::Porr02,
3596            pcntr3::Porr02,
3597            Pcntr3_SPEC,
3598            crate::common::W,
3599        >::from_register(self, 0)
3600    }
3601
3602    #[doc = "Pmn Output Reset"]
3603    #[inline(always)]
3604    pub fn porr03(
3605        self,
3606    ) -> crate::common::RegisterField<
3607        19,
3608        0x1,
3609        1,
3610        0,
3611        pcntr3::Porr03,
3612        pcntr3::Porr03,
3613        Pcntr3_SPEC,
3614        crate::common::W,
3615    > {
3616        crate::common::RegisterField::<
3617            19,
3618            0x1,
3619            1,
3620            0,
3621            pcntr3::Porr03,
3622            pcntr3::Porr03,
3623            Pcntr3_SPEC,
3624            crate::common::W,
3625        >::from_register(self, 0)
3626    }
3627
3628    #[doc = "Pmn Output Reset"]
3629    #[inline(always)]
3630    pub fn porr04(
3631        self,
3632    ) -> crate::common::RegisterField<
3633        20,
3634        0x1,
3635        1,
3636        0,
3637        pcntr3::Porr04,
3638        pcntr3::Porr04,
3639        Pcntr3_SPEC,
3640        crate::common::W,
3641    > {
3642        crate::common::RegisterField::<
3643            20,
3644            0x1,
3645            1,
3646            0,
3647            pcntr3::Porr04,
3648            pcntr3::Porr04,
3649            Pcntr3_SPEC,
3650            crate::common::W,
3651        >::from_register(self, 0)
3652    }
3653
3654    #[doc = "Pmn Output Reset"]
3655    #[inline(always)]
3656    pub fn porr05(
3657        self,
3658    ) -> crate::common::RegisterField<
3659        21,
3660        0x1,
3661        1,
3662        0,
3663        pcntr3::Porr05,
3664        pcntr3::Porr05,
3665        Pcntr3_SPEC,
3666        crate::common::W,
3667    > {
3668        crate::common::RegisterField::<
3669            21,
3670            0x1,
3671            1,
3672            0,
3673            pcntr3::Porr05,
3674            pcntr3::Porr05,
3675            Pcntr3_SPEC,
3676            crate::common::W,
3677        >::from_register(self, 0)
3678    }
3679
3680    #[doc = "Pmn Output Reset"]
3681    #[inline(always)]
3682    pub fn porr06(
3683        self,
3684    ) -> crate::common::RegisterField<
3685        22,
3686        0x1,
3687        1,
3688        0,
3689        pcntr3::Porr06,
3690        pcntr3::Porr06,
3691        Pcntr3_SPEC,
3692        crate::common::W,
3693    > {
3694        crate::common::RegisterField::<
3695            22,
3696            0x1,
3697            1,
3698            0,
3699            pcntr3::Porr06,
3700            pcntr3::Porr06,
3701            Pcntr3_SPEC,
3702            crate::common::W,
3703        >::from_register(self, 0)
3704    }
3705
3706    #[doc = "Pmn Output Reset"]
3707    #[inline(always)]
3708    pub fn porr07(
3709        self,
3710    ) -> crate::common::RegisterField<
3711        23,
3712        0x1,
3713        1,
3714        0,
3715        pcntr3::Porr07,
3716        pcntr3::Porr07,
3717        Pcntr3_SPEC,
3718        crate::common::W,
3719    > {
3720        crate::common::RegisterField::<
3721            23,
3722            0x1,
3723            1,
3724            0,
3725            pcntr3::Porr07,
3726            pcntr3::Porr07,
3727            Pcntr3_SPEC,
3728            crate::common::W,
3729        >::from_register(self, 0)
3730    }
3731
3732    #[doc = "Pmn Output Reset"]
3733    #[inline(always)]
3734    pub fn porr08(
3735        self,
3736    ) -> crate::common::RegisterField<
3737        24,
3738        0x1,
3739        1,
3740        0,
3741        pcntr3::Porr08,
3742        pcntr3::Porr08,
3743        Pcntr3_SPEC,
3744        crate::common::W,
3745    > {
3746        crate::common::RegisterField::<
3747            24,
3748            0x1,
3749            1,
3750            0,
3751            pcntr3::Porr08,
3752            pcntr3::Porr08,
3753            Pcntr3_SPEC,
3754            crate::common::W,
3755        >::from_register(self, 0)
3756    }
3757
3758    #[doc = "Pmn Output Reset"]
3759    #[inline(always)]
3760    pub fn porr09(
3761        self,
3762    ) -> crate::common::RegisterField<
3763        25,
3764        0x1,
3765        1,
3766        0,
3767        pcntr3::Porr09,
3768        pcntr3::Porr09,
3769        Pcntr3_SPEC,
3770        crate::common::W,
3771    > {
3772        crate::common::RegisterField::<
3773            25,
3774            0x1,
3775            1,
3776            0,
3777            pcntr3::Porr09,
3778            pcntr3::Porr09,
3779            Pcntr3_SPEC,
3780            crate::common::W,
3781        >::from_register(self, 0)
3782    }
3783
3784    #[doc = "Pmn Output Reset"]
3785    #[inline(always)]
3786    pub fn porr10(
3787        self,
3788    ) -> crate::common::RegisterField<
3789        26,
3790        0x1,
3791        1,
3792        0,
3793        pcntr3::Porr10,
3794        pcntr3::Porr10,
3795        Pcntr3_SPEC,
3796        crate::common::W,
3797    > {
3798        crate::common::RegisterField::<
3799            26,
3800            0x1,
3801            1,
3802            0,
3803            pcntr3::Porr10,
3804            pcntr3::Porr10,
3805            Pcntr3_SPEC,
3806            crate::common::W,
3807        >::from_register(self, 0)
3808    }
3809
3810    #[doc = "Pmn Output Reset"]
3811    #[inline(always)]
3812    pub fn porr11(
3813        self,
3814    ) -> crate::common::RegisterField<
3815        27,
3816        0x1,
3817        1,
3818        0,
3819        pcntr3::Porr11,
3820        pcntr3::Porr11,
3821        Pcntr3_SPEC,
3822        crate::common::W,
3823    > {
3824        crate::common::RegisterField::<
3825            27,
3826            0x1,
3827            1,
3828            0,
3829            pcntr3::Porr11,
3830            pcntr3::Porr11,
3831            Pcntr3_SPEC,
3832            crate::common::W,
3833        >::from_register(self, 0)
3834    }
3835
3836    #[doc = "Pmn Output Reset"]
3837    #[inline(always)]
3838    pub fn porr12(
3839        self,
3840    ) -> crate::common::RegisterField<
3841        28,
3842        0x1,
3843        1,
3844        0,
3845        pcntr3::Porr12,
3846        pcntr3::Porr12,
3847        Pcntr3_SPEC,
3848        crate::common::W,
3849    > {
3850        crate::common::RegisterField::<
3851            28,
3852            0x1,
3853            1,
3854            0,
3855            pcntr3::Porr12,
3856            pcntr3::Porr12,
3857            Pcntr3_SPEC,
3858            crate::common::W,
3859        >::from_register(self, 0)
3860    }
3861
3862    #[doc = "Pmn Output Reset"]
3863    #[inline(always)]
3864    pub fn porr13(
3865        self,
3866    ) -> crate::common::RegisterField<
3867        29,
3868        0x1,
3869        1,
3870        0,
3871        pcntr3::Porr13,
3872        pcntr3::Porr13,
3873        Pcntr3_SPEC,
3874        crate::common::W,
3875    > {
3876        crate::common::RegisterField::<
3877            29,
3878            0x1,
3879            1,
3880            0,
3881            pcntr3::Porr13,
3882            pcntr3::Porr13,
3883            Pcntr3_SPEC,
3884            crate::common::W,
3885        >::from_register(self, 0)
3886    }
3887
3888    #[doc = "Pmn Output Reset"]
3889    #[inline(always)]
3890    pub fn porr14(
3891        self,
3892    ) -> crate::common::RegisterField<
3893        30,
3894        0x1,
3895        1,
3896        0,
3897        pcntr3::Porr14,
3898        pcntr3::Porr14,
3899        Pcntr3_SPEC,
3900        crate::common::W,
3901    > {
3902        crate::common::RegisterField::<
3903            30,
3904            0x1,
3905            1,
3906            0,
3907            pcntr3::Porr14,
3908            pcntr3::Porr14,
3909            Pcntr3_SPEC,
3910            crate::common::W,
3911        >::from_register(self, 0)
3912    }
3913
3914    #[doc = "Pmn Output Reset"]
3915    #[inline(always)]
3916    pub fn porr15(
3917        self,
3918    ) -> crate::common::RegisterField<
3919        31,
3920        0x1,
3921        1,
3922        0,
3923        pcntr3::Porr15,
3924        pcntr3::Porr15,
3925        Pcntr3_SPEC,
3926        crate::common::W,
3927    > {
3928        crate::common::RegisterField::<
3929            31,
3930            0x1,
3931            1,
3932            0,
3933            pcntr3::Porr15,
3934            pcntr3::Porr15,
3935            Pcntr3_SPEC,
3936            crate::common::W,
3937        >::from_register(self, 0)
3938    }
3939}
3940impl ::core::default::Default for Pcntr3 {
3941    #[inline(always)]
3942    fn default() -> Pcntr3 {
3943        <crate::RegValueT<Pcntr3_SPEC> as RegisterValue<_>>::new(0)
3944    }
3945}
3946pub mod pcntr3 {
3947
3948    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3949    pub struct Posr00_SPEC;
3950    pub type Posr00 = crate::EnumBitfieldStruct<u8, Posr00_SPEC>;
3951    impl Posr00 {
3952        #[doc = "No effect on output"]
3953        pub const _0: Self = Self::new(0);
3954
3955        #[doc = "High output"]
3956        pub const _1: Self = Self::new(1);
3957    }
3958    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3959    pub struct Posr01_SPEC;
3960    pub type Posr01 = crate::EnumBitfieldStruct<u8, Posr01_SPEC>;
3961    impl Posr01 {
3962        #[doc = "No effect on output"]
3963        pub const _0: Self = Self::new(0);
3964
3965        #[doc = "High output"]
3966        pub const _1: Self = Self::new(1);
3967    }
3968    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3969    pub struct Posr02_SPEC;
3970    pub type Posr02 = crate::EnumBitfieldStruct<u8, Posr02_SPEC>;
3971    impl Posr02 {
3972        #[doc = "No effect on output"]
3973        pub const _0: Self = Self::new(0);
3974
3975        #[doc = "High output"]
3976        pub const _1: Self = Self::new(1);
3977    }
3978    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3979    pub struct Posr03_SPEC;
3980    pub type Posr03 = crate::EnumBitfieldStruct<u8, Posr03_SPEC>;
3981    impl Posr03 {
3982        #[doc = "No effect on output"]
3983        pub const _0: Self = Self::new(0);
3984
3985        #[doc = "High output"]
3986        pub const _1: Self = Self::new(1);
3987    }
3988    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3989    pub struct Posr04_SPEC;
3990    pub type Posr04 = crate::EnumBitfieldStruct<u8, Posr04_SPEC>;
3991    impl Posr04 {
3992        #[doc = "No effect on output"]
3993        pub const _0: Self = Self::new(0);
3994
3995        #[doc = "High output"]
3996        pub const _1: Self = Self::new(1);
3997    }
3998    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
3999    pub struct Posr05_SPEC;
4000    pub type Posr05 = crate::EnumBitfieldStruct<u8, Posr05_SPEC>;
4001    impl Posr05 {
4002        #[doc = "No effect on output"]
4003        pub const _0: Self = Self::new(0);
4004
4005        #[doc = "High output"]
4006        pub const _1: Self = Self::new(1);
4007    }
4008    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4009    pub struct Posr06_SPEC;
4010    pub type Posr06 = crate::EnumBitfieldStruct<u8, Posr06_SPEC>;
4011    impl Posr06 {
4012        #[doc = "No effect on output"]
4013        pub const _0: Self = Self::new(0);
4014
4015        #[doc = "High output"]
4016        pub const _1: Self = Self::new(1);
4017    }
4018    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4019    pub struct Posr07_SPEC;
4020    pub type Posr07 = crate::EnumBitfieldStruct<u8, Posr07_SPEC>;
4021    impl Posr07 {
4022        #[doc = "No effect on output"]
4023        pub const _0: Self = Self::new(0);
4024
4025        #[doc = "High output"]
4026        pub const _1: Self = Self::new(1);
4027    }
4028    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4029    pub struct Posr08_SPEC;
4030    pub type Posr08 = crate::EnumBitfieldStruct<u8, Posr08_SPEC>;
4031    impl Posr08 {
4032        #[doc = "No effect on output"]
4033        pub const _0: Self = Self::new(0);
4034
4035        #[doc = "High output"]
4036        pub const _1: Self = Self::new(1);
4037    }
4038    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4039    pub struct Posr09_SPEC;
4040    pub type Posr09 = crate::EnumBitfieldStruct<u8, Posr09_SPEC>;
4041    impl Posr09 {
4042        #[doc = "No effect on output"]
4043        pub const _0: Self = Self::new(0);
4044
4045        #[doc = "High output"]
4046        pub const _1: Self = Self::new(1);
4047    }
4048    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4049    pub struct Posr10_SPEC;
4050    pub type Posr10 = crate::EnumBitfieldStruct<u8, Posr10_SPEC>;
4051    impl Posr10 {
4052        #[doc = "No effect on output"]
4053        pub const _0: Self = Self::new(0);
4054
4055        #[doc = "High output"]
4056        pub const _1: Self = Self::new(1);
4057    }
4058    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4059    pub struct Posr11_SPEC;
4060    pub type Posr11 = crate::EnumBitfieldStruct<u8, Posr11_SPEC>;
4061    impl Posr11 {
4062        #[doc = "No effect on output"]
4063        pub const _0: Self = Self::new(0);
4064
4065        #[doc = "High output"]
4066        pub const _1: Self = Self::new(1);
4067    }
4068    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4069    pub struct Posr12_SPEC;
4070    pub type Posr12 = crate::EnumBitfieldStruct<u8, Posr12_SPEC>;
4071    impl Posr12 {
4072        #[doc = "No effect on output"]
4073        pub const _0: Self = Self::new(0);
4074
4075        #[doc = "High output"]
4076        pub const _1: Self = Self::new(1);
4077    }
4078    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4079    pub struct Posr13_SPEC;
4080    pub type Posr13 = crate::EnumBitfieldStruct<u8, Posr13_SPEC>;
4081    impl Posr13 {
4082        #[doc = "No effect on output"]
4083        pub const _0: Self = Self::new(0);
4084
4085        #[doc = "High output"]
4086        pub const _1: Self = Self::new(1);
4087    }
4088    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4089    pub struct Posr14_SPEC;
4090    pub type Posr14 = crate::EnumBitfieldStruct<u8, Posr14_SPEC>;
4091    impl Posr14 {
4092        #[doc = "No effect on output"]
4093        pub const _0: Self = Self::new(0);
4094
4095        #[doc = "High output"]
4096        pub const _1: Self = Self::new(1);
4097    }
4098    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4099    pub struct Posr15_SPEC;
4100    pub type Posr15 = crate::EnumBitfieldStruct<u8, Posr15_SPEC>;
4101    impl Posr15 {
4102        #[doc = "No effect on output"]
4103        pub const _0: Self = Self::new(0);
4104
4105        #[doc = "High output"]
4106        pub const _1: Self = Self::new(1);
4107    }
4108    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4109    pub struct Porr00_SPEC;
4110    pub type Porr00 = crate::EnumBitfieldStruct<u8, Porr00_SPEC>;
4111    impl Porr00 {
4112        #[doc = "No effect on output"]
4113        pub const _0: Self = Self::new(0);
4114
4115        #[doc = "Low output"]
4116        pub const _1: Self = Self::new(1);
4117    }
4118    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4119    pub struct Porr01_SPEC;
4120    pub type Porr01 = crate::EnumBitfieldStruct<u8, Porr01_SPEC>;
4121    impl Porr01 {
4122        #[doc = "No effect on output"]
4123        pub const _0: Self = Self::new(0);
4124
4125        #[doc = "Low output"]
4126        pub const _1: Self = Self::new(1);
4127    }
4128    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4129    pub struct Porr02_SPEC;
4130    pub type Porr02 = crate::EnumBitfieldStruct<u8, Porr02_SPEC>;
4131    impl Porr02 {
4132        #[doc = "No effect on output"]
4133        pub const _0: Self = Self::new(0);
4134
4135        #[doc = "Low output"]
4136        pub const _1: Self = Self::new(1);
4137    }
4138    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4139    pub struct Porr03_SPEC;
4140    pub type Porr03 = crate::EnumBitfieldStruct<u8, Porr03_SPEC>;
4141    impl Porr03 {
4142        #[doc = "No effect on output"]
4143        pub const _0: Self = Self::new(0);
4144
4145        #[doc = "Low output"]
4146        pub const _1: Self = Self::new(1);
4147    }
4148    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4149    pub struct Porr04_SPEC;
4150    pub type Porr04 = crate::EnumBitfieldStruct<u8, Porr04_SPEC>;
4151    impl Porr04 {
4152        #[doc = "No effect on output"]
4153        pub const _0: Self = Self::new(0);
4154
4155        #[doc = "Low output"]
4156        pub const _1: Self = Self::new(1);
4157    }
4158    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4159    pub struct Porr05_SPEC;
4160    pub type Porr05 = crate::EnumBitfieldStruct<u8, Porr05_SPEC>;
4161    impl Porr05 {
4162        #[doc = "No effect on output"]
4163        pub const _0: Self = Self::new(0);
4164
4165        #[doc = "Low output"]
4166        pub const _1: Self = Self::new(1);
4167    }
4168    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4169    pub struct Porr06_SPEC;
4170    pub type Porr06 = crate::EnumBitfieldStruct<u8, Porr06_SPEC>;
4171    impl Porr06 {
4172        #[doc = "No effect on output"]
4173        pub const _0: Self = Self::new(0);
4174
4175        #[doc = "Low output"]
4176        pub const _1: Self = Self::new(1);
4177    }
4178    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4179    pub struct Porr07_SPEC;
4180    pub type Porr07 = crate::EnumBitfieldStruct<u8, Porr07_SPEC>;
4181    impl Porr07 {
4182        #[doc = "No effect on output"]
4183        pub const _0: Self = Self::new(0);
4184
4185        #[doc = "Low output"]
4186        pub const _1: Self = Self::new(1);
4187    }
4188    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4189    pub struct Porr08_SPEC;
4190    pub type Porr08 = crate::EnumBitfieldStruct<u8, Porr08_SPEC>;
4191    impl Porr08 {
4192        #[doc = "No effect on output"]
4193        pub const _0: Self = Self::new(0);
4194
4195        #[doc = "Low output"]
4196        pub const _1: Self = Self::new(1);
4197    }
4198    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4199    pub struct Porr09_SPEC;
4200    pub type Porr09 = crate::EnumBitfieldStruct<u8, Porr09_SPEC>;
4201    impl Porr09 {
4202        #[doc = "No effect on output"]
4203        pub const _0: Self = Self::new(0);
4204
4205        #[doc = "Low output"]
4206        pub const _1: Self = Self::new(1);
4207    }
4208    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4209    pub struct Porr10_SPEC;
4210    pub type Porr10 = crate::EnumBitfieldStruct<u8, Porr10_SPEC>;
4211    impl Porr10 {
4212        #[doc = "No effect on output"]
4213        pub const _0: Self = Self::new(0);
4214
4215        #[doc = "Low output"]
4216        pub const _1: Self = Self::new(1);
4217    }
4218    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4219    pub struct Porr11_SPEC;
4220    pub type Porr11 = crate::EnumBitfieldStruct<u8, Porr11_SPEC>;
4221    impl Porr11 {
4222        #[doc = "No effect on output"]
4223        pub const _0: Self = Self::new(0);
4224
4225        #[doc = "Low output"]
4226        pub const _1: Self = Self::new(1);
4227    }
4228    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4229    pub struct Porr12_SPEC;
4230    pub type Porr12 = crate::EnumBitfieldStruct<u8, Porr12_SPEC>;
4231    impl Porr12 {
4232        #[doc = "No effect on output"]
4233        pub const _0: Self = Self::new(0);
4234
4235        #[doc = "Low output"]
4236        pub const _1: Self = Self::new(1);
4237    }
4238    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4239    pub struct Porr13_SPEC;
4240    pub type Porr13 = crate::EnumBitfieldStruct<u8, Porr13_SPEC>;
4241    impl Porr13 {
4242        #[doc = "No effect on output"]
4243        pub const _0: Self = Self::new(0);
4244
4245        #[doc = "Low output"]
4246        pub const _1: Self = Self::new(1);
4247    }
4248    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4249    pub struct Porr14_SPEC;
4250    pub type Porr14 = crate::EnumBitfieldStruct<u8, Porr14_SPEC>;
4251    impl Porr14 {
4252        #[doc = "No effect on output"]
4253        pub const _0: Self = Self::new(0);
4254
4255        #[doc = "Low output"]
4256        pub const _1: Self = Self::new(1);
4257    }
4258    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4259    pub struct Porr15_SPEC;
4260    pub type Porr15 = crate::EnumBitfieldStruct<u8, Porr15_SPEC>;
4261    impl Porr15 {
4262        #[doc = "No effect on output"]
4263        pub const _0: Self = Self::new(0);
4264
4265        #[doc = "Low output"]
4266        pub const _1: Self = Self::new(1);
4267    }
4268}
4269#[doc(hidden)]
4270#[derive(Copy, Clone, Eq, PartialEq)]
4271pub struct Posr_SPEC;
4272impl crate::sealed::RegSpec for Posr_SPEC {
4273    type DataType = u16;
4274}
4275
4276#[doc = "Port Control Register 3"]
4277pub type Posr = crate::RegValueT<Posr_SPEC>;
4278
4279impl Posr {
4280    #[doc = "Pmn Output Reset"]
4281    #[inline(always)]
4282    pub fn porr00(
4283        self,
4284    ) -> crate::common::RegisterField<
4285        0,
4286        0x1,
4287        1,
4288        0,
4289        posr::Porr00,
4290        posr::Porr00,
4291        Posr_SPEC,
4292        crate::common::W,
4293    > {
4294        crate::common::RegisterField::<
4295            0,
4296            0x1,
4297            1,
4298            0,
4299            posr::Porr00,
4300            posr::Porr00,
4301            Posr_SPEC,
4302            crate::common::W,
4303        >::from_register(self, 0)
4304    }
4305
4306    #[doc = "Pmn Output Reset"]
4307    #[inline(always)]
4308    pub fn porr01(
4309        self,
4310    ) -> crate::common::RegisterField<
4311        1,
4312        0x1,
4313        1,
4314        0,
4315        posr::Porr01,
4316        posr::Porr01,
4317        Posr_SPEC,
4318        crate::common::W,
4319    > {
4320        crate::common::RegisterField::<
4321            1,
4322            0x1,
4323            1,
4324            0,
4325            posr::Porr01,
4326            posr::Porr01,
4327            Posr_SPEC,
4328            crate::common::W,
4329        >::from_register(self, 0)
4330    }
4331
4332    #[doc = "Pmn Output Reset"]
4333    #[inline(always)]
4334    pub fn porr02(
4335        self,
4336    ) -> crate::common::RegisterField<
4337        2,
4338        0x1,
4339        1,
4340        0,
4341        posr::Porr02,
4342        posr::Porr02,
4343        Posr_SPEC,
4344        crate::common::W,
4345    > {
4346        crate::common::RegisterField::<
4347            2,
4348            0x1,
4349            1,
4350            0,
4351            posr::Porr02,
4352            posr::Porr02,
4353            Posr_SPEC,
4354            crate::common::W,
4355        >::from_register(self, 0)
4356    }
4357
4358    #[doc = "Pmn Output Reset"]
4359    #[inline(always)]
4360    pub fn porr03(
4361        self,
4362    ) -> crate::common::RegisterField<
4363        3,
4364        0x1,
4365        1,
4366        0,
4367        posr::Porr03,
4368        posr::Porr03,
4369        Posr_SPEC,
4370        crate::common::W,
4371    > {
4372        crate::common::RegisterField::<
4373            3,
4374            0x1,
4375            1,
4376            0,
4377            posr::Porr03,
4378            posr::Porr03,
4379            Posr_SPEC,
4380            crate::common::W,
4381        >::from_register(self, 0)
4382    }
4383
4384    #[doc = "Pmn Output Reset"]
4385    #[inline(always)]
4386    pub fn porr04(
4387        self,
4388    ) -> crate::common::RegisterField<
4389        4,
4390        0x1,
4391        1,
4392        0,
4393        posr::Porr04,
4394        posr::Porr04,
4395        Posr_SPEC,
4396        crate::common::W,
4397    > {
4398        crate::common::RegisterField::<
4399            4,
4400            0x1,
4401            1,
4402            0,
4403            posr::Porr04,
4404            posr::Porr04,
4405            Posr_SPEC,
4406            crate::common::W,
4407        >::from_register(self, 0)
4408    }
4409
4410    #[doc = "Pmn Output Reset"]
4411    #[inline(always)]
4412    pub fn porr05(
4413        self,
4414    ) -> crate::common::RegisterField<
4415        5,
4416        0x1,
4417        1,
4418        0,
4419        posr::Porr05,
4420        posr::Porr05,
4421        Posr_SPEC,
4422        crate::common::W,
4423    > {
4424        crate::common::RegisterField::<
4425            5,
4426            0x1,
4427            1,
4428            0,
4429            posr::Porr05,
4430            posr::Porr05,
4431            Posr_SPEC,
4432            crate::common::W,
4433        >::from_register(self, 0)
4434    }
4435
4436    #[doc = "Pmn Output Reset"]
4437    #[inline(always)]
4438    pub fn porr06(
4439        self,
4440    ) -> crate::common::RegisterField<
4441        6,
4442        0x1,
4443        1,
4444        0,
4445        posr::Porr06,
4446        posr::Porr06,
4447        Posr_SPEC,
4448        crate::common::W,
4449    > {
4450        crate::common::RegisterField::<
4451            6,
4452            0x1,
4453            1,
4454            0,
4455            posr::Porr06,
4456            posr::Porr06,
4457            Posr_SPEC,
4458            crate::common::W,
4459        >::from_register(self, 0)
4460    }
4461
4462    #[doc = "Pmn Output Reset"]
4463    #[inline(always)]
4464    pub fn porr07(
4465        self,
4466    ) -> crate::common::RegisterField<
4467        7,
4468        0x1,
4469        1,
4470        0,
4471        posr::Porr07,
4472        posr::Porr07,
4473        Posr_SPEC,
4474        crate::common::W,
4475    > {
4476        crate::common::RegisterField::<
4477            7,
4478            0x1,
4479            1,
4480            0,
4481            posr::Porr07,
4482            posr::Porr07,
4483            Posr_SPEC,
4484            crate::common::W,
4485        >::from_register(self, 0)
4486    }
4487
4488    #[doc = "Pmn Output Reset"]
4489    #[inline(always)]
4490    pub fn porr08(
4491        self,
4492    ) -> crate::common::RegisterField<
4493        8,
4494        0x1,
4495        1,
4496        0,
4497        posr::Porr08,
4498        posr::Porr08,
4499        Posr_SPEC,
4500        crate::common::W,
4501    > {
4502        crate::common::RegisterField::<
4503            8,
4504            0x1,
4505            1,
4506            0,
4507            posr::Porr08,
4508            posr::Porr08,
4509            Posr_SPEC,
4510            crate::common::W,
4511        >::from_register(self, 0)
4512    }
4513
4514    #[doc = "Pmn Output Reset"]
4515    #[inline(always)]
4516    pub fn porr09(
4517        self,
4518    ) -> crate::common::RegisterField<
4519        9,
4520        0x1,
4521        1,
4522        0,
4523        posr::Porr09,
4524        posr::Porr09,
4525        Posr_SPEC,
4526        crate::common::W,
4527    > {
4528        crate::common::RegisterField::<
4529            9,
4530            0x1,
4531            1,
4532            0,
4533            posr::Porr09,
4534            posr::Porr09,
4535            Posr_SPEC,
4536            crate::common::W,
4537        >::from_register(self, 0)
4538    }
4539
4540    #[doc = "Pmn Output Reset"]
4541    #[inline(always)]
4542    pub fn porr10(
4543        self,
4544    ) -> crate::common::RegisterField<
4545        10,
4546        0x1,
4547        1,
4548        0,
4549        posr::Porr10,
4550        posr::Porr10,
4551        Posr_SPEC,
4552        crate::common::W,
4553    > {
4554        crate::common::RegisterField::<
4555            10,
4556            0x1,
4557            1,
4558            0,
4559            posr::Porr10,
4560            posr::Porr10,
4561            Posr_SPEC,
4562            crate::common::W,
4563        >::from_register(self, 0)
4564    }
4565
4566    #[doc = "Pmn Output Reset"]
4567    #[inline(always)]
4568    pub fn porr11(
4569        self,
4570    ) -> crate::common::RegisterField<
4571        11,
4572        0x1,
4573        1,
4574        0,
4575        posr::Porr11,
4576        posr::Porr11,
4577        Posr_SPEC,
4578        crate::common::W,
4579    > {
4580        crate::common::RegisterField::<
4581            11,
4582            0x1,
4583            1,
4584            0,
4585            posr::Porr11,
4586            posr::Porr11,
4587            Posr_SPEC,
4588            crate::common::W,
4589        >::from_register(self, 0)
4590    }
4591
4592    #[doc = "Pmn Output Reset"]
4593    #[inline(always)]
4594    pub fn porr12(
4595        self,
4596    ) -> crate::common::RegisterField<
4597        12,
4598        0x1,
4599        1,
4600        0,
4601        posr::Porr12,
4602        posr::Porr12,
4603        Posr_SPEC,
4604        crate::common::W,
4605    > {
4606        crate::common::RegisterField::<
4607            12,
4608            0x1,
4609            1,
4610            0,
4611            posr::Porr12,
4612            posr::Porr12,
4613            Posr_SPEC,
4614            crate::common::W,
4615        >::from_register(self, 0)
4616    }
4617
4618    #[doc = "Pmn Output Reset"]
4619    #[inline(always)]
4620    pub fn porr13(
4621        self,
4622    ) -> crate::common::RegisterField<
4623        13,
4624        0x1,
4625        1,
4626        0,
4627        posr::Porr13,
4628        posr::Porr13,
4629        Posr_SPEC,
4630        crate::common::W,
4631    > {
4632        crate::common::RegisterField::<
4633            13,
4634            0x1,
4635            1,
4636            0,
4637            posr::Porr13,
4638            posr::Porr13,
4639            Posr_SPEC,
4640            crate::common::W,
4641        >::from_register(self, 0)
4642    }
4643
4644    #[doc = "Pmn Output Reset"]
4645    #[inline(always)]
4646    pub fn porr14(
4647        self,
4648    ) -> crate::common::RegisterField<
4649        14,
4650        0x1,
4651        1,
4652        0,
4653        posr::Porr14,
4654        posr::Porr14,
4655        Posr_SPEC,
4656        crate::common::W,
4657    > {
4658        crate::common::RegisterField::<
4659            14,
4660            0x1,
4661            1,
4662            0,
4663            posr::Porr14,
4664            posr::Porr14,
4665            Posr_SPEC,
4666            crate::common::W,
4667        >::from_register(self, 0)
4668    }
4669
4670    #[doc = "Pmn Output Reset"]
4671    #[inline(always)]
4672    pub fn porr15(
4673        self,
4674    ) -> crate::common::RegisterField<
4675        15,
4676        0x1,
4677        1,
4678        0,
4679        posr::Porr15,
4680        posr::Porr15,
4681        Posr_SPEC,
4682        crate::common::W,
4683    > {
4684        crate::common::RegisterField::<
4685            15,
4686            0x1,
4687            1,
4688            0,
4689            posr::Porr15,
4690            posr::Porr15,
4691            Posr_SPEC,
4692            crate::common::W,
4693        >::from_register(self, 0)
4694    }
4695}
4696impl ::core::default::Default for Posr {
4697    #[inline(always)]
4698    fn default() -> Posr {
4699        <crate::RegValueT<Posr_SPEC> as RegisterValue<_>>::new(0)
4700    }
4701}
4702pub mod posr {
4703
4704    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4705    pub struct Porr00_SPEC;
4706    pub type Porr00 = crate::EnumBitfieldStruct<u8, Porr00_SPEC>;
4707    impl Porr00 {
4708        #[doc = "No effect on output"]
4709        pub const _0: Self = Self::new(0);
4710
4711        #[doc = "Low output"]
4712        pub const _1: Self = Self::new(1);
4713    }
4714    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4715    pub struct Porr01_SPEC;
4716    pub type Porr01 = crate::EnumBitfieldStruct<u8, Porr01_SPEC>;
4717    impl Porr01 {
4718        #[doc = "No effect on output"]
4719        pub const _0: Self = Self::new(0);
4720
4721        #[doc = "Low output"]
4722        pub const _1: Self = Self::new(1);
4723    }
4724    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4725    pub struct Porr02_SPEC;
4726    pub type Porr02 = crate::EnumBitfieldStruct<u8, Porr02_SPEC>;
4727    impl Porr02 {
4728        #[doc = "No effect on output"]
4729        pub const _0: Self = Self::new(0);
4730
4731        #[doc = "Low output"]
4732        pub const _1: Self = Self::new(1);
4733    }
4734    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4735    pub struct Porr03_SPEC;
4736    pub type Porr03 = crate::EnumBitfieldStruct<u8, Porr03_SPEC>;
4737    impl Porr03 {
4738        #[doc = "No effect on output"]
4739        pub const _0: Self = Self::new(0);
4740
4741        #[doc = "Low output"]
4742        pub const _1: Self = Self::new(1);
4743    }
4744    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4745    pub struct Porr04_SPEC;
4746    pub type Porr04 = crate::EnumBitfieldStruct<u8, Porr04_SPEC>;
4747    impl Porr04 {
4748        #[doc = "No effect on output"]
4749        pub const _0: Self = Self::new(0);
4750
4751        #[doc = "Low output"]
4752        pub const _1: Self = Self::new(1);
4753    }
4754    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4755    pub struct Porr05_SPEC;
4756    pub type Porr05 = crate::EnumBitfieldStruct<u8, Porr05_SPEC>;
4757    impl Porr05 {
4758        #[doc = "No effect on output"]
4759        pub const _0: Self = Self::new(0);
4760
4761        #[doc = "Low output"]
4762        pub const _1: Self = Self::new(1);
4763    }
4764    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4765    pub struct Porr06_SPEC;
4766    pub type Porr06 = crate::EnumBitfieldStruct<u8, Porr06_SPEC>;
4767    impl Porr06 {
4768        #[doc = "No effect on output"]
4769        pub const _0: Self = Self::new(0);
4770
4771        #[doc = "Low output"]
4772        pub const _1: Self = Self::new(1);
4773    }
4774    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4775    pub struct Porr07_SPEC;
4776    pub type Porr07 = crate::EnumBitfieldStruct<u8, Porr07_SPEC>;
4777    impl Porr07 {
4778        #[doc = "No effect on output"]
4779        pub const _0: Self = Self::new(0);
4780
4781        #[doc = "Low output"]
4782        pub const _1: Self = Self::new(1);
4783    }
4784    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4785    pub struct Porr08_SPEC;
4786    pub type Porr08 = crate::EnumBitfieldStruct<u8, Porr08_SPEC>;
4787    impl Porr08 {
4788        #[doc = "No effect on output"]
4789        pub const _0: Self = Self::new(0);
4790
4791        #[doc = "Low output"]
4792        pub const _1: Self = Self::new(1);
4793    }
4794    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4795    pub struct Porr09_SPEC;
4796    pub type Porr09 = crate::EnumBitfieldStruct<u8, Porr09_SPEC>;
4797    impl Porr09 {
4798        #[doc = "No effect on output"]
4799        pub const _0: Self = Self::new(0);
4800
4801        #[doc = "Low output"]
4802        pub const _1: Self = Self::new(1);
4803    }
4804    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4805    pub struct Porr10_SPEC;
4806    pub type Porr10 = crate::EnumBitfieldStruct<u8, Porr10_SPEC>;
4807    impl Porr10 {
4808        #[doc = "No effect on output"]
4809        pub const _0: Self = Self::new(0);
4810
4811        #[doc = "Low output"]
4812        pub const _1: Self = Self::new(1);
4813    }
4814    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4815    pub struct Porr11_SPEC;
4816    pub type Porr11 = crate::EnumBitfieldStruct<u8, Porr11_SPEC>;
4817    impl Porr11 {
4818        #[doc = "No effect on output"]
4819        pub const _0: Self = Self::new(0);
4820
4821        #[doc = "Low output"]
4822        pub const _1: Self = Self::new(1);
4823    }
4824    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4825    pub struct Porr12_SPEC;
4826    pub type Porr12 = crate::EnumBitfieldStruct<u8, Porr12_SPEC>;
4827    impl Porr12 {
4828        #[doc = "No effect on output"]
4829        pub const _0: Self = Self::new(0);
4830
4831        #[doc = "Low output"]
4832        pub const _1: Self = Self::new(1);
4833    }
4834    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4835    pub struct Porr13_SPEC;
4836    pub type Porr13 = crate::EnumBitfieldStruct<u8, Porr13_SPEC>;
4837    impl Porr13 {
4838        #[doc = "No effect on output"]
4839        pub const _0: Self = Self::new(0);
4840
4841        #[doc = "Low output"]
4842        pub const _1: Self = Self::new(1);
4843    }
4844    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4845    pub struct Porr14_SPEC;
4846    pub type Porr14 = crate::EnumBitfieldStruct<u8, Porr14_SPEC>;
4847    impl Porr14 {
4848        #[doc = "No effect on output"]
4849        pub const _0: Self = Self::new(0);
4850
4851        #[doc = "Low output"]
4852        pub const _1: Self = Self::new(1);
4853    }
4854    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
4855    pub struct Porr15_SPEC;
4856    pub type Porr15 = crate::EnumBitfieldStruct<u8, Porr15_SPEC>;
4857    impl Porr15 {
4858        #[doc = "No effect on output"]
4859        pub const _0: Self = Self::new(0);
4860
4861        #[doc = "Low output"]
4862        pub const _1: Self = Self::new(1);
4863    }
4864}
4865#[doc(hidden)]
4866#[derive(Copy, Clone, Eq, PartialEq)]
4867pub struct Porr_SPEC;
4868impl crate::sealed::RegSpec for Porr_SPEC {
4869    type DataType = u16;
4870}
4871
4872#[doc = "Port Control Register 3"]
4873pub type Porr = crate::RegValueT<Porr_SPEC>;
4874
4875impl Porr {
4876    #[doc = "Pmn Output Set"]
4877    #[inline(always)]
4878    pub fn posr00(
4879        self,
4880    ) -> crate::common::RegisterField<
4881        0,
4882        0x1,
4883        1,
4884        0,
4885        porr::Posr00,
4886        porr::Posr00,
4887        Porr_SPEC,
4888        crate::common::W,
4889    > {
4890        crate::common::RegisterField::<
4891            0,
4892            0x1,
4893            1,
4894            0,
4895            porr::Posr00,
4896            porr::Posr00,
4897            Porr_SPEC,
4898            crate::common::W,
4899        >::from_register(self, 0)
4900    }
4901
4902    #[doc = "Pmn Output Set"]
4903    #[inline(always)]
4904    pub fn posr01(
4905        self,
4906    ) -> crate::common::RegisterField<
4907        1,
4908        0x1,
4909        1,
4910        0,
4911        porr::Posr01,
4912        porr::Posr01,
4913        Porr_SPEC,
4914        crate::common::W,
4915    > {
4916        crate::common::RegisterField::<
4917            1,
4918            0x1,
4919            1,
4920            0,
4921            porr::Posr01,
4922            porr::Posr01,
4923            Porr_SPEC,
4924            crate::common::W,
4925        >::from_register(self, 0)
4926    }
4927
4928    #[doc = "Pmn Output Set"]
4929    #[inline(always)]
4930    pub fn posr02(
4931        self,
4932    ) -> crate::common::RegisterField<
4933        2,
4934        0x1,
4935        1,
4936        0,
4937        porr::Posr02,
4938        porr::Posr02,
4939        Porr_SPEC,
4940        crate::common::W,
4941    > {
4942        crate::common::RegisterField::<
4943            2,
4944            0x1,
4945            1,
4946            0,
4947            porr::Posr02,
4948            porr::Posr02,
4949            Porr_SPEC,
4950            crate::common::W,
4951        >::from_register(self, 0)
4952    }
4953
4954    #[doc = "Pmn Output Set"]
4955    #[inline(always)]
4956    pub fn posr03(
4957        self,
4958    ) -> crate::common::RegisterField<
4959        3,
4960        0x1,
4961        1,
4962        0,
4963        porr::Posr03,
4964        porr::Posr03,
4965        Porr_SPEC,
4966        crate::common::W,
4967    > {
4968        crate::common::RegisterField::<
4969            3,
4970            0x1,
4971            1,
4972            0,
4973            porr::Posr03,
4974            porr::Posr03,
4975            Porr_SPEC,
4976            crate::common::W,
4977        >::from_register(self, 0)
4978    }
4979
4980    #[doc = "Pmn Output Set"]
4981    #[inline(always)]
4982    pub fn posr04(
4983        self,
4984    ) -> crate::common::RegisterField<
4985        4,
4986        0x1,
4987        1,
4988        0,
4989        porr::Posr04,
4990        porr::Posr04,
4991        Porr_SPEC,
4992        crate::common::W,
4993    > {
4994        crate::common::RegisterField::<
4995            4,
4996            0x1,
4997            1,
4998            0,
4999            porr::Posr04,
5000            porr::Posr04,
5001            Porr_SPEC,
5002            crate::common::W,
5003        >::from_register(self, 0)
5004    }
5005
5006    #[doc = "Pmn Output Set"]
5007    #[inline(always)]
5008    pub fn posr05(
5009        self,
5010    ) -> crate::common::RegisterField<
5011        5,
5012        0x1,
5013        1,
5014        0,
5015        porr::Posr05,
5016        porr::Posr05,
5017        Porr_SPEC,
5018        crate::common::W,
5019    > {
5020        crate::common::RegisterField::<
5021            5,
5022            0x1,
5023            1,
5024            0,
5025            porr::Posr05,
5026            porr::Posr05,
5027            Porr_SPEC,
5028            crate::common::W,
5029        >::from_register(self, 0)
5030    }
5031
5032    #[doc = "Pmn Output Set"]
5033    #[inline(always)]
5034    pub fn posr06(
5035        self,
5036    ) -> crate::common::RegisterField<
5037        6,
5038        0x1,
5039        1,
5040        0,
5041        porr::Posr06,
5042        porr::Posr06,
5043        Porr_SPEC,
5044        crate::common::W,
5045    > {
5046        crate::common::RegisterField::<
5047            6,
5048            0x1,
5049            1,
5050            0,
5051            porr::Posr06,
5052            porr::Posr06,
5053            Porr_SPEC,
5054            crate::common::W,
5055        >::from_register(self, 0)
5056    }
5057
5058    #[doc = "Pmn Output Set"]
5059    #[inline(always)]
5060    pub fn posr07(
5061        self,
5062    ) -> crate::common::RegisterField<
5063        7,
5064        0x1,
5065        1,
5066        0,
5067        porr::Posr07,
5068        porr::Posr07,
5069        Porr_SPEC,
5070        crate::common::W,
5071    > {
5072        crate::common::RegisterField::<
5073            7,
5074            0x1,
5075            1,
5076            0,
5077            porr::Posr07,
5078            porr::Posr07,
5079            Porr_SPEC,
5080            crate::common::W,
5081        >::from_register(self, 0)
5082    }
5083
5084    #[doc = "Pmn Output Set"]
5085    #[inline(always)]
5086    pub fn posr08(
5087        self,
5088    ) -> crate::common::RegisterField<
5089        8,
5090        0x1,
5091        1,
5092        0,
5093        porr::Posr08,
5094        porr::Posr08,
5095        Porr_SPEC,
5096        crate::common::W,
5097    > {
5098        crate::common::RegisterField::<
5099            8,
5100            0x1,
5101            1,
5102            0,
5103            porr::Posr08,
5104            porr::Posr08,
5105            Porr_SPEC,
5106            crate::common::W,
5107        >::from_register(self, 0)
5108    }
5109
5110    #[doc = "Pmn Output Set"]
5111    #[inline(always)]
5112    pub fn posr09(
5113        self,
5114    ) -> crate::common::RegisterField<
5115        9,
5116        0x1,
5117        1,
5118        0,
5119        porr::Posr09,
5120        porr::Posr09,
5121        Porr_SPEC,
5122        crate::common::W,
5123    > {
5124        crate::common::RegisterField::<
5125            9,
5126            0x1,
5127            1,
5128            0,
5129            porr::Posr09,
5130            porr::Posr09,
5131            Porr_SPEC,
5132            crate::common::W,
5133        >::from_register(self, 0)
5134    }
5135
5136    #[doc = "Pmn Output Set"]
5137    #[inline(always)]
5138    pub fn posr10(
5139        self,
5140    ) -> crate::common::RegisterField<
5141        10,
5142        0x1,
5143        1,
5144        0,
5145        porr::Posr10,
5146        porr::Posr10,
5147        Porr_SPEC,
5148        crate::common::W,
5149    > {
5150        crate::common::RegisterField::<
5151            10,
5152            0x1,
5153            1,
5154            0,
5155            porr::Posr10,
5156            porr::Posr10,
5157            Porr_SPEC,
5158            crate::common::W,
5159        >::from_register(self, 0)
5160    }
5161
5162    #[doc = "Pmn Output Set"]
5163    #[inline(always)]
5164    pub fn posr11(
5165        self,
5166    ) -> crate::common::RegisterField<
5167        11,
5168        0x1,
5169        1,
5170        0,
5171        porr::Posr11,
5172        porr::Posr11,
5173        Porr_SPEC,
5174        crate::common::W,
5175    > {
5176        crate::common::RegisterField::<
5177            11,
5178            0x1,
5179            1,
5180            0,
5181            porr::Posr11,
5182            porr::Posr11,
5183            Porr_SPEC,
5184            crate::common::W,
5185        >::from_register(self, 0)
5186    }
5187
5188    #[doc = "Pmn Output Set"]
5189    #[inline(always)]
5190    pub fn posr12(
5191        self,
5192    ) -> crate::common::RegisterField<
5193        12,
5194        0x1,
5195        1,
5196        0,
5197        porr::Posr12,
5198        porr::Posr12,
5199        Porr_SPEC,
5200        crate::common::W,
5201    > {
5202        crate::common::RegisterField::<
5203            12,
5204            0x1,
5205            1,
5206            0,
5207            porr::Posr12,
5208            porr::Posr12,
5209            Porr_SPEC,
5210            crate::common::W,
5211        >::from_register(self, 0)
5212    }
5213
5214    #[doc = "Pmn Output Set"]
5215    #[inline(always)]
5216    pub fn posr13(
5217        self,
5218    ) -> crate::common::RegisterField<
5219        13,
5220        0x1,
5221        1,
5222        0,
5223        porr::Posr13,
5224        porr::Posr13,
5225        Porr_SPEC,
5226        crate::common::W,
5227    > {
5228        crate::common::RegisterField::<
5229            13,
5230            0x1,
5231            1,
5232            0,
5233            porr::Posr13,
5234            porr::Posr13,
5235            Porr_SPEC,
5236            crate::common::W,
5237        >::from_register(self, 0)
5238    }
5239
5240    #[doc = "Pmn Output Set"]
5241    #[inline(always)]
5242    pub fn posr14(
5243        self,
5244    ) -> crate::common::RegisterField<
5245        14,
5246        0x1,
5247        1,
5248        0,
5249        porr::Posr14,
5250        porr::Posr14,
5251        Porr_SPEC,
5252        crate::common::W,
5253    > {
5254        crate::common::RegisterField::<
5255            14,
5256            0x1,
5257            1,
5258            0,
5259            porr::Posr14,
5260            porr::Posr14,
5261            Porr_SPEC,
5262            crate::common::W,
5263        >::from_register(self, 0)
5264    }
5265
5266    #[doc = "Pmn Output Set"]
5267    #[inline(always)]
5268    pub fn posr15(
5269        self,
5270    ) -> crate::common::RegisterField<
5271        15,
5272        0x1,
5273        1,
5274        0,
5275        porr::Posr15,
5276        porr::Posr15,
5277        Porr_SPEC,
5278        crate::common::W,
5279    > {
5280        crate::common::RegisterField::<
5281            15,
5282            0x1,
5283            1,
5284            0,
5285            porr::Posr15,
5286            porr::Posr15,
5287            Porr_SPEC,
5288            crate::common::W,
5289        >::from_register(self, 0)
5290    }
5291}
5292impl ::core::default::Default for Porr {
5293    #[inline(always)]
5294    fn default() -> Porr {
5295        <crate::RegValueT<Porr_SPEC> as RegisterValue<_>>::new(0)
5296    }
5297}
5298pub mod porr {
5299
5300    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5301    pub struct Posr00_SPEC;
5302    pub type Posr00 = crate::EnumBitfieldStruct<u8, Posr00_SPEC>;
5303    impl Posr00 {
5304        #[doc = "No effect on output"]
5305        pub const _0: Self = Self::new(0);
5306
5307        #[doc = "High output"]
5308        pub const _1: Self = Self::new(1);
5309    }
5310    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5311    pub struct Posr01_SPEC;
5312    pub type Posr01 = crate::EnumBitfieldStruct<u8, Posr01_SPEC>;
5313    impl Posr01 {
5314        #[doc = "No effect on output"]
5315        pub const _0: Self = Self::new(0);
5316
5317        #[doc = "High output"]
5318        pub const _1: Self = Self::new(1);
5319    }
5320    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5321    pub struct Posr02_SPEC;
5322    pub type Posr02 = crate::EnumBitfieldStruct<u8, Posr02_SPEC>;
5323    impl Posr02 {
5324        #[doc = "No effect on output"]
5325        pub const _0: Self = Self::new(0);
5326
5327        #[doc = "High output"]
5328        pub const _1: Self = Self::new(1);
5329    }
5330    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5331    pub struct Posr03_SPEC;
5332    pub type Posr03 = crate::EnumBitfieldStruct<u8, Posr03_SPEC>;
5333    impl Posr03 {
5334        #[doc = "No effect on output"]
5335        pub const _0: Self = Self::new(0);
5336
5337        #[doc = "High output"]
5338        pub const _1: Self = Self::new(1);
5339    }
5340    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5341    pub struct Posr04_SPEC;
5342    pub type Posr04 = crate::EnumBitfieldStruct<u8, Posr04_SPEC>;
5343    impl Posr04 {
5344        #[doc = "No effect on output"]
5345        pub const _0: Self = Self::new(0);
5346
5347        #[doc = "High output"]
5348        pub const _1: Self = Self::new(1);
5349    }
5350    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5351    pub struct Posr05_SPEC;
5352    pub type Posr05 = crate::EnumBitfieldStruct<u8, Posr05_SPEC>;
5353    impl Posr05 {
5354        #[doc = "No effect on output"]
5355        pub const _0: Self = Self::new(0);
5356
5357        #[doc = "High output"]
5358        pub const _1: Self = Self::new(1);
5359    }
5360    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5361    pub struct Posr06_SPEC;
5362    pub type Posr06 = crate::EnumBitfieldStruct<u8, Posr06_SPEC>;
5363    impl Posr06 {
5364        #[doc = "No effect on output"]
5365        pub const _0: Self = Self::new(0);
5366
5367        #[doc = "High output"]
5368        pub const _1: Self = Self::new(1);
5369    }
5370    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5371    pub struct Posr07_SPEC;
5372    pub type Posr07 = crate::EnumBitfieldStruct<u8, Posr07_SPEC>;
5373    impl Posr07 {
5374        #[doc = "No effect on output"]
5375        pub const _0: Self = Self::new(0);
5376
5377        #[doc = "High output"]
5378        pub const _1: Self = Self::new(1);
5379    }
5380    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5381    pub struct Posr08_SPEC;
5382    pub type Posr08 = crate::EnumBitfieldStruct<u8, Posr08_SPEC>;
5383    impl Posr08 {
5384        #[doc = "No effect on output"]
5385        pub const _0: Self = Self::new(0);
5386
5387        #[doc = "High output"]
5388        pub const _1: Self = Self::new(1);
5389    }
5390    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5391    pub struct Posr09_SPEC;
5392    pub type Posr09 = crate::EnumBitfieldStruct<u8, Posr09_SPEC>;
5393    impl Posr09 {
5394        #[doc = "No effect on output"]
5395        pub const _0: Self = Self::new(0);
5396
5397        #[doc = "High output"]
5398        pub const _1: Self = Self::new(1);
5399    }
5400    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5401    pub struct Posr10_SPEC;
5402    pub type Posr10 = crate::EnumBitfieldStruct<u8, Posr10_SPEC>;
5403    impl Posr10 {
5404        #[doc = "No effect on output"]
5405        pub const _0: Self = Self::new(0);
5406
5407        #[doc = "High output"]
5408        pub const _1: Self = Self::new(1);
5409    }
5410    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5411    pub struct Posr11_SPEC;
5412    pub type Posr11 = crate::EnumBitfieldStruct<u8, Posr11_SPEC>;
5413    impl Posr11 {
5414        #[doc = "No effect on output"]
5415        pub const _0: Self = Self::new(0);
5416
5417        #[doc = "High output"]
5418        pub const _1: Self = Self::new(1);
5419    }
5420    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5421    pub struct Posr12_SPEC;
5422    pub type Posr12 = crate::EnumBitfieldStruct<u8, Posr12_SPEC>;
5423    impl Posr12 {
5424        #[doc = "No effect on output"]
5425        pub const _0: Self = Self::new(0);
5426
5427        #[doc = "High output"]
5428        pub const _1: Self = Self::new(1);
5429    }
5430    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5431    pub struct Posr13_SPEC;
5432    pub type Posr13 = crate::EnumBitfieldStruct<u8, Posr13_SPEC>;
5433    impl Posr13 {
5434        #[doc = "No effect on output"]
5435        pub const _0: Self = Self::new(0);
5436
5437        #[doc = "High output"]
5438        pub const _1: Self = Self::new(1);
5439    }
5440    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5441    pub struct Posr14_SPEC;
5442    pub type Posr14 = crate::EnumBitfieldStruct<u8, Posr14_SPEC>;
5443    impl Posr14 {
5444        #[doc = "No effect on output"]
5445        pub const _0: Self = Self::new(0);
5446
5447        #[doc = "High output"]
5448        pub const _1: Self = Self::new(1);
5449    }
5450    #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
5451    pub struct Posr15_SPEC;
5452    pub type Posr15 = crate::EnumBitfieldStruct<u8, Posr15_SPEC>;
5453    impl Posr15 {
5454        #[doc = "No effect on output"]
5455        pub const _0: Self = Self::new(0);
5456
5457        #[doc = "High output"]
5458        pub const _1: Self = Self::new(1);
5459    }
5460}