ra4m1/gpt320/
gtior.rs

1#[doc = "Register `GTIOR` reader"]
2pub struct R(crate::R<GTIOR_SPEC>);
3impl core::ops::Deref for R {
4    type Target = crate::R<GTIOR_SPEC>;
5    #[inline(always)]
6    fn deref(&self) -> &Self::Target {
7        &self.0
8    }
9}
10impl From<crate::R<GTIOR_SPEC>> for R {
11    #[inline(always)]
12    fn from(reader: crate::R<GTIOR_SPEC>) -> Self {
13        R(reader)
14    }
15}
16#[doc = "Register `GTIOR` writer"]
17pub struct W(crate::W<GTIOR_SPEC>);
18impl core::ops::Deref for W {
19    type Target = crate::W<GTIOR_SPEC>;
20    #[inline(always)]
21    fn deref(&self) -> &Self::Target {
22        &self.0
23    }
24}
25impl core::ops::DerefMut for W {
26    #[inline(always)]
27    fn deref_mut(&mut self) -> &mut Self::Target {
28        &mut self.0
29    }
30}
31impl From<crate::W<GTIOR_SPEC>> for W {
32    #[inline(always)]
33    fn from(writer: crate::W<GTIOR_SPEC>) -> Self {
34        W(writer)
35    }
36}
37#[doc = "Field `GTIOA` reader - GTIOCA Pin Function Select"]
38pub type GTIOA_R = crate::FieldReader<u8, GTIOA_A>;
39#[doc = "GTIOCA Pin Function Select\n\nValue on reset: 0"]
40#[derive(Clone, Copy, Debug, PartialEq, Eq)]
41#[repr(u8)]
42pub enum GTIOA_A {
43    #[doc = "0: Initial output is Low. Output retained at cycle end. Output retained at GTCCRA compare match."]
44    _00000 = 0,
45    #[doc = "1: Initial output is Low. Output retained at cycle end. Low output at GTCCRA compare match."]
46    _00001 = 1,
47    #[doc = "2: Initial output is Low. Output retained at cycle end. High output at GTCCRA compare match."]
48    _00010 = 2,
49    #[doc = "3: Initial output is Low. Output retained at cycle end. Output toggled at GTCCRA compare match."]
50    _00011 = 3,
51    #[doc = "4: Initial output is Low. Low output at cycle end. Output retained at GTCCRA compare match."]
52    _00100 = 4,
53    #[doc = "5: Initial output is Low. Low output at cycle end. Low output at GTCCRA compare match."]
54    _00101 = 5,
55    #[doc = "6: Initial output is Low. Low output at cycle end. High output at GTCCRA compare match."]
56    _00110 = 6,
57    #[doc = "7: Initial output is Low. Low output at cycle end. Output toggled at GTCCRA compare match."]
58    _00111 = 7,
59    #[doc = "8: Initial output is Low. High output at cycle end. Output retained at GTCCRA compare match."]
60    _01000 = 8,
61    #[doc = "9: Initial output is Low. High output at cycle end. Low output at GTCCRA compare match."]
62    _01001 = 9,
63    #[doc = "10: Initial output is Low. High output at cycle end. High output at GTCCRA compare match."]
64    _01010 = 10,
65    #[doc = "11: Initial output is Low. High output at cycle end. Output toggled at GTCCRA compare match."]
66    _01011 = 11,
67    #[doc = "12: Initial output is Low. Output toggled at cycle end. Output retained at GTCCRA compare match."]
68    _01100 = 12,
69    #[doc = "13: Initial output is Low. Output toggled at cycle end. Low output at GTCCRA compare match."]
70    _01101 = 13,
71    #[doc = "14: Initial output is Low. Output toggled at cycle end. High output at GTCCRA compare match."]
72    _01110 = 14,
73    #[doc = "15: Initial output is Low. Output toggled at cycle end. Output toggled at GTCCRA compare match."]
74    _01111 = 15,
75    #[doc = "16: Initial output is High. Output retained at cycle end. Output retained at GTCCRA compare match."]
76    _10000 = 16,
77    #[doc = "17: Initial output is High. Output retained at cycle end. Low output at GTCCRA compare match."]
78    _10001 = 17,
79    #[doc = "18: Initial output is High. Output retained at cycle end. High output at GTCCRA compare match."]
80    _10010 = 18,
81    #[doc = "19: Initial output is High. Output retained at cycle end. Output toggled at GTCCRA compare match."]
82    _10011 = 19,
83    #[doc = "20: Initial output is High. Low output at cycle end. Output retained at GTCCRA compare match."]
84    _10100 = 20,
85    #[doc = "21: Initial output is High. Low output at cycle end. Low output at GTCCRA compare match."]
86    _10101 = 21,
87    #[doc = "22: Initial output is High. Low output at cycle end. High output at GTCCRA compare match."]
88    _10110 = 22,
89    #[doc = "23: Initial output is High. Low output at cycle end. Output toggled at GTCCRA compare match."]
90    _10111 = 23,
91    #[doc = "24: Initial output is High. High output at cycle end. Output retained at GTCCRA compare match."]
92    _11000 = 24,
93    #[doc = "25: Initial output is High. High output at cycle end. Low output at GTCCRA compare match."]
94    _11001 = 25,
95    #[doc = "26: Initial output is High. High output at cycle end. High output at GTCCRA compare match."]
96    _11010 = 26,
97    #[doc = "27: Initial output is High. High output at cycle end. Output toggled at GTCCRA compare match."]
98    _11011 = 27,
99    #[doc = "28: Initial output is High. Output toggled at cycle end. Output retained at GTCCRA compare match."]
100    _11100 = 28,
101    #[doc = "29: Initial output is High. Output toggled at cycle end. Low output at GTCCRA compare match."]
102    _11101 = 29,
103    #[doc = "30: Initial output is High. Output toggled at cycle end. High output at GTCCRA compare match."]
104    _11110 = 30,
105    #[doc = "31: Initial output is High. Output toggled at cycle end. Output toggled at GTCCRA compare match."]
106    _11111 = 31,
107}
108impl From<GTIOA_A> for u8 {
109    #[inline(always)]
110    fn from(variant: GTIOA_A) -> Self {
111        variant as _
112    }
113}
114impl GTIOA_R {
115    #[doc = "Get enumerated values variant"]
116    #[inline(always)]
117    pub fn variant(&self) -> GTIOA_A {
118        match self.bits {
119            0 => GTIOA_A::_00000,
120            1 => GTIOA_A::_00001,
121            2 => GTIOA_A::_00010,
122            3 => GTIOA_A::_00011,
123            4 => GTIOA_A::_00100,
124            5 => GTIOA_A::_00101,
125            6 => GTIOA_A::_00110,
126            7 => GTIOA_A::_00111,
127            8 => GTIOA_A::_01000,
128            9 => GTIOA_A::_01001,
129            10 => GTIOA_A::_01010,
130            11 => GTIOA_A::_01011,
131            12 => GTIOA_A::_01100,
132            13 => GTIOA_A::_01101,
133            14 => GTIOA_A::_01110,
134            15 => GTIOA_A::_01111,
135            16 => GTIOA_A::_10000,
136            17 => GTIOA_A::_10001,
137            18 => GTIOA_A::_10010,
138            19 => GTIOA_A::_10011,
139            20 => GTIOA_A::_10100,
140            21 => GTIOA_A::_10101,
141            22 => GTIOA_A::_10110,
142            23 => GTIOA_A::_10111,
143            24 => GTIOA_A::_11000,
144            25 => GTIOA_A::_11001,
145            26 => GTIOA_A::_11010,
146            27 => GTIOA_A::_11011,
147            28 => GTIOA_A::_11100,
148            29 => GTIOA_A::_11101,
149            30 => GTIOA_A::_11110,
150            31 => GTIOA_A::_11111,
151            _ => unreachable!(),
152        }
153    }
154    #[doc = "Checks if the value of the field is `_00000`"]
155    #[inline(always)]
156    pub fn is_00000(&self) -> bool {
157        *self == GTIOA_A::_00000
158    }
159    #[doc = "Checks if the value of the field is `_00001`"]
160    #[inline(always)]
161    pub fn is_00001(&self) -> bool {
162        *self == GTIOA_A::_00001
163    }
164    #[doc = "Checks if the value of the field is `_00010`"]
165    #[inline(always)]
166    pub fn is_00010(&self) -> bool {
167        *self == GTIOA_A::_00010
168    }
169    #[doc = "Checks if the value of the field is `_00011`"]
170    #[inline(always)]
171    pub fn is_00011(&self) -> bool {
172        *self == GTIOA_A::_00011
173    }
174    #[doc = "Checks if the value of the field is `_00100`"]
175    #[inline(always)]
176    pub fn is_00100(&self) -> bool {
177        *self == GTIOA_A::_00100
178    }
179    #[doc = "Checks if the value of the field is `_00101`"]
180    #[inline(always)]
181    pub fn is_00101(&self) -> bool {
182        *self == GTIOA_A::_00101
183    }
184    #[doc = "Checks if the value of the field is `_00110`"]
185    #[inline(always)]
186    pub fn is_00110(&self) -> bool {
187        *self == GTIOA_A::_00110
188    }
189    #[doc = "Checks if the value of the field is `_00111`"]
190    #[inline(always)]
191    pub fn is_00111(&self) -> bool {
192        *self == GTIOA_A::_00111
193    }
194    #[doc = "Checks if the value of the field is `_01000`"]
195    #[inline(always)]
196    pub fn is_01000(&self) -> bool {
197        *self == GTIOA_A::_01000
198    }
199    #[doc = "Checks if the value of the field is `_01001`"]
200    #[inline(always)]
201    pub fn is_01001(&self) -> bool {
202        *self == GTIOA_A::_01001
203    }
204    #[doc = "Checks if the value of the field is `_01010`"]
205    #[inline(always)]
206    pub fn is_01010(&self) -> bool {
207        *self == GTIOA_A::_01010
208    }
209    #[doc = "Checks if the value of the field is `_01011`"]
210    #[inline(always)]
211    pub fn is_01011(&self) -> bool {
212        *self == GTIOA_A::_01011
213    }
214    #[doc = "Checks if the value of the field is `_01100`"]
215    #[inline(always)]
216    pub fn is_01100(&self) -> bool {
217        *self == GTIOA_A::_01100
218    }
219    #[doc = "Checks if the value of the field is `_01101`"]
220    #[inline(always)]
221    pub fn is_01101(&self) -> bool {
222        *self == GTIOA_A::_01101
223    }
224    #[doc = "Checks if the value of the field is `_01110`"]
225    #[inline(always)]
226    pub fn is_01110(&self) -> bool {
227        *self == GTIOA_A::_01110
228    }
229    #[doc = "Checks if the value of the field is `_01111`"]
230    #[inline(always)]
231    pub fn is_01111(&self) -> bool {
232        *self == GTIOA_A::_01111
233    }
234    #[doc = "Checks if the value of the field is `_10000`"]
235    #[inline(always)]
236    pub fn is_10000(&self) -> bool {
237        *self == GTIOA_A::_10000
238    }
239    #[doc = "Checks if the value of the field is `_10001`"]
240    #[inline(always)]
241    pub fn is_10001(&self) -> bool {
242        *self == GTIOA_A::_10001
243    }
244    #[doc = "Checks if the value of the field is `_10010`"]
245    #[inline(always)]
246    pub fn is_10010(&self) -> bool {
247        *self == GTIOA_A::_10010
248    }
249    #[doc = "Checks if the value of the field is `_10011`"]
250    #[inline(always)]
251    pub fn is_10011(&self) -> bool {
252        *self == GTIOA_A::_10011
253    }
254    #[doc = "Checks if the value of the field is `_10100`"]
255    #[inline(always)]
256    pub fn is_10100(&self) -> bool {
257        *self == GTIOA_A::_10100
258    }
259    #[doc = "Checks if the value of the field is `_10101`"]
260    #[inline(always)]
261    pub fn is_10101(&self) -> bool {
262        *self == GTIOA_A::_10101
263    }
264    #[doc = "Checks if the value of the field is `_10110`"]
265    #[inline(always)]
266    pub fn is_10110(&self) -> bool {
267        *self == GTIOA_A::_10110
268    }
269    #[doc = "Checks if the value of the field is `_10111`"]
270    #[inline(always)]
271    pub fn is_10111(&self) -> bool {
272        *self == GTIOA_A::_10111
273    }
274    #[doc = "Checks if the value of the field is `_11000`"]
275    #[inline(always)]
276    pub fn is_11000(&self) -> bool {
277        *self == GTIOA_A::_11000
278    }
279    #[doc = "Checks if the value of the field is `_11001`"]
280    #[inline(always)]
281    pub fn is_11001(&self) -> bool {
282        *self == GTIOA_A::_11001
283    }
284    #[doc = "Checks if the value of the field is `_11010`"]
285    #[inline(always)]
286    pub fn is_11010(&self) -> bool {
287        *self == GTIOA_A::_11010
288    }
289    #[doc = "Checks if the value of the field is `_11011`"]
290    #[inline(always)]
291    pub fn is_11011(&self) -> bool {
292        *self == GTIOA_A::_11011
293    }
294    #[doc = "Checks if the value of the field is `_11100`"]
295    #[inline(always)]
296    pub fn is_11100(&self) -> bool {
297        *self == GTIOA_A::_11100
298    }
299    #[doc = "Checks if the value of the field is `_11101`"]
300    #[inline(always)]
301    pub fn is_11101(&self) -> bool {
302        *self == GTIOA_A::_11101
303    }
304    #[doc = "Checks if the value of the field is `_11110`"]
305    #[inline(always)]
306    pub fn is_11110(&self) -> bool {
307        *self == GTIOA_A::_11110
308    }
309    #[doc = "Checks if the value of the field is `_11111`"]
310    #[inline(always)]
311    pub fn is_11111(&self) -> bool {
312        *self == GTIOA_A::_11111
313    }
314}
315#[doc = "Field `GTIOA` writer - GTIOCA Pin Function Select"]
316pub type GTIOA_W<'a, const O: u8> = crate::FieldWriterSafe<'a, u32, GTIOR_SPEC, u8, GTIOA_A, 5, O>;
317impl<'a, const O: u8> GTIOA_W<'a, O> {
318    #[doc = "Initial output is Low. Output retained at cycle end. Output retained at GTCCRA compare match."]
319    #[inline(always)]
320    pub fn _00000(self) -> &'a mut W {
321        self.variant(GTIOA_A::_00000)
322    }
323    #[doc = "Initial output is Low. Output retained at cycle end. Low output at GTCCRA compare match."]
324    #[inline(always)]
325    pub fn _00001(self) -> &'a mut W {
326        self.variant(GTIOA_A::_00001)
327    }
328    #[doc = "Initial output is Low. Output retained at cycle end. High output at GTCCRA compare match."]
329    #[inline(always)]
330    pub fn _00010(self) -> &'a mut W {
331        self.variant(GTIOA_A::_00010)
332    }
333    #[doc = "Initial output is Low. Output retained at cycle end. Output toggled at GTCCRA compare match."]
334    #[inline(always)]
335    pub fn _00011(self) -> &'a mut W {
336        self.variant(GTIOA_A::_00011)
337    }
338    #[doc = "Initial output is Low. Low output at cycle end. Output retained at GTCCRA compare match."]
339    #[inline(always)]
340    pub fn _00100(self) -> &'a mut W {
341        self.variant(GTIOA_A::_00100)
342    }
343    #[doc = "Initial output is Low. Low output at cycle end. Low output at GTCCRA compare match."]
344    #[inline(always)]
345    pub fn _00101(self) -> &'a mut W {
346        self.variant(GTIOA_A::_00101)
347    }
348    #[doc = "Initial output is Low. Low output at cycle end. High output at GTCCRA compare match."]
349    #[inline(always)]
350    pub fn _00110(self) -> &'a mut W {
351        self.variant(GTIOA_A::_00110)
352    }
353    #[doc = "Initial output is Low. Low output at cycle end. Output toggled at GTCCRA compare match."]
354    #[inline(always)]
355    pub fn _00111(self) -> &'a mut W {
356        self.variant(GTIOA_A::_00111)
357    }
358    #[doc = "Initial output is Low. High output at cycle end. Output retained at GTCCRA compare match."]
359    #[inline(always)]
360    pub fn _01000(self) -> &'a mut W {
361        self.variant(GTIOA_A::_01000)
362    }
363    #[doc = "Initial output is Low. High output at cycle end. Low output at GTCCRA compare match."]
364    #[inline(always)]
365    pub fn _01001(self) -> &'a mut W {
366        self.variant(GTIOA_A::_01001)
367    }
368    #[doc = "Initial output is Low. High output at cycle end. High output at GTCCRA compare match."]
369    #[inline(always)]
370    pub fn _01010(self) -> &'a mut W {
371        self.variant(GTIOA_A::_01010)
372    }
373    #[doc = "Initial output is Low. High output at cycle end. Output toggled at GTCCRA compare match."]
374    #[inline(always)]
375    pub fn _01011(self) -> &'a mut W {
376        self.variant(GTIOA_A::_01011)
377    }
378    #[doc = "Initial output is Low. Output toggled at cycle end. Output retained at GTCCRA compare match."]
379    #[inline(always)]
380    pub fn _01100(self) -> &'a mut W {
381        self.variant(GTIOA_A::_01100)
382    }
383    #[doc = "Initial output is Low. Output toggled at cycle end. Low output at GTCCRA compare match."]
384    #[inline(always)]
385    pub fn _01101(self) -> &'a mut W {
386        self.variant(GTIOA_A::_01101)
387    }
388    #[doc = "Initial output is Low. Output toggled at cycle end. High output at GTCCRA compare match."]
389    #[inline(always)]
390    pub fn _01110(self) -> &'a mut W {
391        self.variant(GTIOA_A::_01110)
392    }
393    #[doc = "Initial output is Low. Output toggled at cycle end. Output toggled at GTCCRA compare match."]
394    #[inline(always)]
395    pub fn _01111(self) -> &'a mut W {
396        self.variant(GTIOA_A::_01111)
397    }
398    #[doc = "Initial output is High. Output retained at cycle end. Output retained at GTCCRA compare match."]
399    #[inline(always)]
400    pub fn _10000(self) -> &'a mut W {
401        self.variant(GTIOA_A::_10000)
402    }
403    #[doc = "Initial output is High. Output retained at cycle end. Low output at GTCCRA compare match."]
404    #[inline(always)]
405    pub fn _10001(self) -> &'a mut W {
406        self.variant(GTIOA_A::_10001)
407    }
408    #[doc = "Initial output is High. Output retained at cycle end. High output at GTCCRA compare match."]
409    #[inline(always)]
410    pub fn _10010(self) -> &'a mut W {
411        self.variant(GTIOA_A::_10010)
412    }
413    #[doc = "Initial output is High. Output retained at cycle end. Output toggled at GTCCRA compare match."]
414    #[inline(always)]
415    pub fn _10011(self) -> &'a mut W {
416        self.variant(GTIOA_A::_10011)
417    }
418    #[doc = "Initial output is High. Low output at cycle end. Output retained at GTCCRA compare match."]
419    #[inline(always)]
420    pub fn _10100(self) -> &'a mut W {
421        self.variant(GTIOA_A::_10100)
422    }
423    #[doc = "Initial output is High. Low output at cycle end. Low output at GTCCRA compare match."]
424    #[inline(always)]
425    pub fn _10101(self) -> &'a mut W {
426        self.variant(GTIOA_A::_10101)
427    }
428    #[doc = "Initial output is High. Low output at cycle end. High output at GTCCRA compare match."]
429    #[inline(always)]
430    pub fn _10110(self) -> &'a mut W {
431        self.variant(GTIOA_A::_10110)
432    }
433    #[doc = "Initial output is High. Low output at cycle end. Output toggled at GTCCRA compare match."]
434    #[inline(always)]
435    pub fn _10111(self) -> &'a mut W {
436        self.variant(GTIOA_A::_10111)
437    }
438    #[doc = "Initial output is High. High output at cycle end. Output retained at GTCCRA compare match."]
439    #[inline(always)]
440    pub fn _11000(self) -> &'a mut W {
441        self.variant(GTIOA_A::_11000)
442    }
443    #[doc = "Initial output is High. High output at cycle end. Low output at GTCCRA compare match."]
444    #[inline(always)]
445    pub fn _11001(self) -> &'a mut W {
446        self.variant(GTIOA_A::_11001)
447    }
448    #[doc = "Initial output is High. High output at cycle end. High output at GTCCRA compare match."]
449    #[inline(always)]
450    pub fn _11010(self) -> &'a mut W {
451        self.variant(GTIOA_A::_11010)
452    }
453    #[doc = "Initial output is High. High output at cycle end. Output toggled at GTCCRA compare match."]
454    #[inline(always)]
455    pub fn _11011(self) -> &'a mut W {
456        self.variant(GTIOA_A::_11011)
457    }
458    #[doc = "Initial output is High. Output toggled at cycle end. Output retained at GTCCRA compare match."]
459    #[inline(always)]
460    pub fn _11100(self) -> &'a mut W {
461        self.variant(GTIOA_A::_11100)
462    }
463    #[doc = "Initial output is High. Output toggled at cycle end. Low output at GTCCRA compare match."]
464    #[inline(always)]
465    pub fn _11101(self) -> &'a mut W {
466        self.variant(GTIOA_A::_11101)
467    }
468    #[doc = "Initial output is High. Output toggled at cycle end. High output at GTCCRA compare match."]
469    #[inline(always)]
470    pub fn _11110(self) -> &'a mut W {
471        self.variant(GTIOA_A::_11110)
472    }
473    #[doc = "Initial output is High. Output toggled at cycle end. Output toggled at GTCCRA compare match."]
474    #[inline(always)]
475    pub fn _11111(self) -> &'a mut W {
476        self.variant(GTIOA_A::_11111)
477    }
478}
479#[doc = "Field `OADFLT` reader - GTIOCA Pin Output Value Setting at the Count Stop"]
480pub type OADFLT_R = crate::BitReader<OADFLT_A>;
481#[doc = "GTIOCA Pin Output Value Setting at the Count Stop\n\nValue on reset: 0"]
482#[derive(Clone, Copy, Debug, PartialEq, Eq)]
483pub enum OADFLT_A {
484    #[doc = "0: The GTIOCA pin outputs low when counting is stopped."]
485    _0 = 0,
486    #[doc = "1: The GTIOCA pin outputs high when counting is stopped."]
487    _1 = 1,
488}
489impl From<OADFLT_A> for bool {
490    #[inline(always)]
491    fn from(variant: OADFLT_A) -> Self {
492        variant as u8 != 0
493    }
494}
495impl OADFLT_R {
496    #[doc = "Get enumerated values variant"]
497    #[inline(always)]
498    pub fn variant(&self) -> OADFLT_A {
499        match self.bits {
500            false => OADFLT_A::_0,
501            true => OADFLT_A::_1,
502        }
503    }
504    #[doc = "Checks if the value of the field is `_0`"]
505    #[inline(always)]
506    pub fn is_0(&self) -> bool {
507        *self == OADFLT_A::_0
508    }
509    #[doc = "Checks if the value of the field is `_1`"]
510    #[inline(always)]
511    pub fn is_1(&self) -> bool {
512        *self == OADFLT_A::_1
513    }
514}
515#[doc = "Field `OADFLT` writer - GTIOCA Pin Output Value Setting at the Count Stop"]
516pub type OADFLT_W<'a, const O: u8> = crate::BitWriter<'a, u32, GTIOR_SPEC, OADFLT_A, O>;
517impl<'a, const O: u8> OADFLT_W<'a, O> {
518    #[doc = "The GTIOCA pin outputs low when counting is stopped."]
519    #[inline(always)]
520    pub fn _0(self) -> &'a mut W {
521        self.variant(OADFLT_A::_0)
522    }
523    #[doc = "The GTIOCA pin outputs high when counting is stopped."]
524    #[inline(always)]
525    pub fn _1(self) -> &'a mut W {
526        self.variant(OADFLT_A::_1)
527    }
528}
529#[doc = "Field `OAHLD` reader - GTIOCA Pin Output Setting at the Start/Stop Count"]
530pub type OAHLD_R = crate::BitReader<OAHLD_A>;
531#[doc = "GTIOCA Pin Output Setting at the Start/Stop Count\n\nValue on reset: 0"]
532#[derive(Clone, Copy, Debug, PartialEq, Eq)]
533pub enum OAHLD_A {
534    #[doc = "0: The GTIOCA pin output level at start/stop of counting depends on the register setting."]
535    _0 = 0,
536    #[doc = "1: The GTIOCA pin output level is retained at start/stop of counting."]
537    _1 = 1,
538}
539impl From<OAHLD_A> for bool {
540    #[inline(always)]
541    fn from(variant: OAHLD_A) -> Self {
542        variant as u8 != 0
543    }
544}
545impl OAHLD_R {
546    #[doc = "Get enumerated values variant"]
547    #[inline(always)]
548    pub fn variant(&self) -> OAHLD_A {
549        match self.bits {
550            false => OAHLD_A::_0,
551            true => OAHLD_A::_1,
552        }
553    }
554    #[doc = "Checks if the value of the field is `_0`"]
555    #[inline(always)]
556    pub fn is_0(&self) -> bool {
557        *self == OAHLD_A::_0
558    }
559    #[doc = "Checks if the value of the field is `_1`"]
560    #[inline(always)]
561    pub fn is_1(&self) -> bool {
562        *self == OAHLD_A::_1
563    }
564}
565#[doc = "Field `OAHLD` writer - GTIOCA Pin Output Setting at the Start/Stop Count"]
566pub type OAHLD_W<'a, const O: u8> = crate::BitWriter<'a, u32, GTIOR_SPEC, OAHLD_A, O>;
567impl<'a, const O: u8> OAHLD_W<'a, O> {
568    #[doc = "The GTIOCA pin output level at start/stop of counting depends on the register setting."]
569    #[inline(always)]
570    pub fn _0(self) -> &'a mut W {
571        self.variant(OAHLD_A::_0)
572    }
573    #[doc = "The GTIOCA pin output level is retained at start/stop of counting."]
574    #[inline(always)]
575    pub fn _1(self) -> &'a mut W {
576        self.variant(OAHLD_A::_1)
577    }
578}
579#[doc = "Field `OAE` reader - GTIOCA Pin Output Enable"]
580pub type OAE_R = crate::BitReader<OAE_A>;
581#[doc = "GTIOCA Pin Output Enable\n\nValue on reset: 0"]
582#[derive(Clone, Copy, Debug, PartialEq, Eq)]
583pub enum OAE_A {
584    #[doc = "0: Output is disabled"]
585    _0 = 0,
586    #[doc = "1: Output is enabled"]
587    _1 = 1,
588}
589impl From<OAE_A> for bool {
590    #[inline(always)]
591    fn from(variant: OAE_A) -> Self {
592        variant as u8 != 0
593    }
594}
595impl OAE_R {
596    #[doc = "Get enumerated values variant"]
597    #[inline(always)]
598    pub fn variant(&self) -> OAE_A {
599        match self.bits {
600            false => OAE_A::_0,
601            true => OAE_A::_1,
602        }
603    }
604    #[doc = "Checks if the value of the field is `_0`"]
605    #[inline(always)]
606    pub fn is_0(&self) -> bool {
607        *self == OAE_A::_0
608    }
609    #[doc = "Checks if the value of the field is `_1`"]
610    #[inline(always)]
611    pub fn is_1(&self) -> bool {
612        *self == OAE_A::_1
613    }
614}
615#[doc = "Field `OAE` writer - GTIOCA Pin Output Enable"]
616pub type OAE_W<'a, const O: u8> = crate::BitWriter<'a, u32, GTIOR_SPEC, OAE_A, O>;
617impl<'a, const O: u8> OAE_W<'a, O> {
618    #[doc = "Output is disabled"]
619    #[inline(always)]
620    pub fn _0(self) -> &'a mut W {
621        self.variant(OAE_A::_0)
622    }
623    #[doc = "Output is enabled"]
624    #[inline(always)]
625    pub fn _1(self) -> &'a mut W {
626        self.variant(OAE_A::_1)
627    }
628}
629#[doc = "Field `OADF` reader - GTIOCA Pin Disable Value Setting"]
630pub type OADF_R = crate::FieldReader<u8, OADF_A>;
631#[doc = "GTIOCA Pin Disable Value Setting\n\nValue on reset: 0"]
632#[derive(Clone, Copy, Debug, PartialEq, Eq)]
633#[repr(u8)]
634pub enum OADF_A {
635    #[doc = "0: Output disable is prohibited."]
636    _00 = 0,
637    #[doc = "1: GTIOCA pin is set to Hi-Z when output disable is performed."]
638    _01 = 1,
639    #[doc = "2: GTIOCA pin is set to 0 when output disable is performed."]
640    _10 = 2,
641    #[doc = "3: GTIOCA pin is set to 1 when output disable is performed."]
642    _11 = 3,
643}
644impl From<OADF_A> for u8 {
645    #[inline(always)]
646    fn from(variant: OADF_A) -> Self {
647        variant as _
648    }
649}
650impl OADF_R {
651    #[doc = "Get enumerated values variant"]
652    #[inline(always)]
653    pub fn variant(&self) -> OADF_A {
654        match self.bits {
655            0 => OADF_A::_00,
656            1 => OADF_A::_01,
657            2 => OADF_A::_10,
658            3 => OADF_A::_11,
659            _ => unreachable!(),
660        }
661    }
662    #[doc = "Checks if the value of the field is `_00`"]
663    #[inline(always)]
664    pub fn is_00(&self) -> bool {
665        *self == OADF_A::_00
666    }
667    #[doc = "Checks if the value of the field is `_01`"]
668    #[inline(always)]
669    pub fn is_01(&self) -> bool {
670        *self == OADF_A::_01
671    }
672    #[doc = "Checks if the value of the field is `_10`"]
673    #[inline(always)]
674    pub fn is_10(&self) -> bool {
675        *self == OADF_A::_10
676    }
677    #[doc = "Checks if the value of the field is `_11`"]
678    #[inline(always)]
679    pub fn is_11(&self) -> bool {
680        *self == OADF_A::_11
681    }
682}
683#[doc = "Field `OADF` writer - GTIOCA Pin Disable Value Setting"]
684pub type OADF_W<'a, const O: u8> = crate::FieldWriterSafe<'a, u32, GTIOR_SPEC, u8, OADF_A, 2, O>;
685impl<'a, const O: u8> OADF_W<'a, O> {
686    #[doc = "Output disable is prohibited."]
687    #[inline(always)]
688    pub fn _00(self) -> &'a mut W {
689        self.variant(OADF_A::_00)
690    }
691    #[doc = "GTIOCA pin is set to Hi-Z when output disable is performed."]
692    #[inline(always)]
693    pub fn _01(self) -> &'a mut W {
694        self.variant(OADF_A::_01)
695    }
696    #[doc = "GTIOCA pin is set to 0 when output disable is performed."]
697    #[inline(always)]
698    pub fn _10(self) -> &'a mut W {
699        self.variant(OADF_A::_10)
700    }
701    #[doc = "GTIOCA pin is set to 1 when output disable is performed."]
702    #[inline(always)]
703    pub fn _11(self) -> &'a mut W {
704        self.variant(OADF_A::_11)
705    }
706}
707#[doc = "Field `NFAEN` reader - Noise Filter A Enable"]
708pub type NFAEN_R = crate::BitReader<NFAEN_A>;
709#[doc = "Noise Filter A Enable\n\nValue on reset: 0"]
710#[derive(Clone, Copy, Debug, PartialEq, Eq)]
711pub enum NFAEN_A {
712    #[doc = "0: The noise filter for the GTIOCA pin is disabled."]
713    _0 = 0,
714    #[doc = "1: The noise filter for the GTIOCA pin is enabled."]
715    _1 = 1,
716}
717impl From<NFAEN_A> for bool {
718    #[inline(always)]
719    fn from(variant: NFAEN_A) -> Self {
720        variant as u8 != 0
721    }
722}
723impl NFAEN_R {
724    #[doc = "Get enumerated values variant"]
725    #[inline(always)]
726    pub fn variant(&self) -> NFAEN_A {
727        match self.bits {
728            false => NFAEN_A::_0,
729            true => NFAEN_A::_1,
730        }
731    }
732    #[doc = "Checks if the value of the field is `_0`"]
733    #[inline(always)]
734    pub fn is_0(&self) -> bool {
735        *self == NFAEN_A::_0
736    }
737    #[doc = "Checks if the value of the field is `_1`"]
738    #[inline(always)]
739    pub fn is_1(&self) -> bool {
740        *self == NFAEN_A::_1
741    }
742}
743#[doc = "Field `NFAEN` writer - Noise Filter A Enable"]
744pub type NFAEN_W<'a, const O: u8> = crate::BitWriter<'a, u32, GTIOR_SPEC, NFAEN_A, O>;
745impl<'a, const O: u8> NFAEN_W<'a, O> {
746    #[doc = "The noise filter for the GTIOCA pin is disabled."]
747    #[inline(always)]
748    pub fn _0(self) -> &'a mut W {
749        self.variant(NFAEN_A::_0)
750    }
751    #[doc = "The noise filter for the GTIOCA pin is enabled."]
752    #[inline(always)]
753    pub fn _1(self) -> &'a mut W {
754        self.variant(NFAEN_A::_1)
755    }
756}
757#[doc = "Field `NFCSA` reader - Noise Filter A Sampling Clock Select"]
758pub type NFCSA_R = crate::FieldReader<u8, NFCSA_A>;
759#[doc = "Noise Filter A Sampling Clock Select\n\nValue on reset: 0"]
760#[derive(Clone, Copy, Debug, PartialEq, Eq)]
761#[repr(u8)]
762pub enum NFCSA_A {
763    #[doc = "0: PCLK/1"]
764    _00 = 0,
765    #[doc = "1: PCLK/4"]
766    _01 = 1,
767    #[doc = "2: PCLK/16"]
768    _10 = 2,
769    #[doc = "3: PCLK/64"]
770    _11 = 3,
771}
772impl From<NFCSA_A> for u8 {
773    #[inline(always)]
774    fn from(variant: NFCSA_A) -> Self {
775        variant as _
776    }
777}
778impl NFCSA_R {
779    #[doc = "Get enumerated values variant"]
780    #[inline(always)]
781    pub fn variant(&self) -> NFCSA_A {
782        match self.bits {
783            0 => NFCSA_A::_00,
784            1 => NFCSA_A::_01,
785            2 => NFCSA_A::_10,
786            3 => NFCSA_A::_11,
787            _ => unreachable!(),
788        }
789    }
790    #[doc = "Checks if the value of the field is `_00`"]
791    #[inline(always)]
792    pub fn is_00(&self) -> bool {
793        *self == NFCSA_A::_00
794    }
795    #[doc = "Checks if the value of the field is `_01`"]
796    #[inline(always)]
797    pub fn is_01(&self) -> bool {
798        *self == NFCSA_A::_01
799    }
800    #[doc = "Checks if the value of the field is `_10`"]
801    #[inline(always)]
802    pub fn is_10(&self) -> bool {
803        *self == NFCSA_A::_10
804    }
805    #[doc = "Checks if the value of the field is `_11`"]
806    #[inline(always)]
807    pub fn is_11(&self) -> bool {
808        *self == NFCSA_A::_11
809    }
810}
811#[doc = "Field `NFCSA` writer - Noise Filter A Sampling Clock Select"]
812pub type NFCSA_W<'a, const O: u8> = crate::FieldWriterSafe<'a, u32, GTIOR_SPEC, u8, NFCSA_A, 2, O>;
813impl<'a, const O: u8> NFCSA_W<'a, O> {
814    #[doc = "PCLK/1"]
815    #[inline(always)]
816    pub fn _00(self) -> &'a mut W {
817        self.variant(NFCSA_A::_00)
818    }
819    #[doc = "PCLK/4"]
820    #[inline(always)]
821    pub fn _01(self) -> &'a mut W {
822        self.variant(NFCSA_A::_01)
823    }
824    #[doc = "PCLK/16"]
825    #[inline(always)]
826    pub fn _10(self) -> &'a mut W {
827        self.variant(NFCSA_A::_10)
828    }
829    #[doc = "PCLK/64"]
830    #[inline(always)]
831    pub fn _11(self) -> &'a mut W {
832        self.variant(NFCSA_A::_11)
833    }
834}
835#[doc = "Field `GTIOB` reader - GTIOCB Pin Function Select"]
836pub type GTIOB_R = crate::FieldReader<u8, GTIOB_A>;
837#[doc = "GTIOCB Pin Function Select\n\nValue on reset: 0"]
838#[derive(Clone, Copy, Debug, PartialEq, Eq)]
839#[repr(u8)]
840pub enum GTIOB_A {
841    #[doc = "0: Initial output is Low. Output retained at cycle end. Output retained at GTCCRB compare match."]
842    _00000 = 0,
843    #[doc = "1: Initial output is Low. Output retained at cycle end. Low output at GTCCRB compare match."]
844    _00001 = 1,
845    #[doc = "2: Initial output is Low. Output retained at cycle end. High output at GTCCRB compare match."]
846    _00010 = 2,
847    #[doc = "3: Initial output is Low. Output retained at cycle end. Output toggled at GTCCRB compare match."]
848    _00011 = 3,
849    #[doc = "4: Initial output is Low. Low output at cycle end. Output retained at GTCCRB compare match."]
850    _00100 = 4,
851    #[doc = "5: Initial output is Low. Low output at cycle end. Low output at GTCCRB compare match."]
852    _00101 = 5,
853    #[doc = "6: Initial output is Low. Low output at cycle end. High output at GTCCRB compare match."]
854    _00110 = 6,
855    #[doc = "7: Initial output is Low. Low output at cycle end. Output toggled at GTCCRB compare match."]
856    _00111 = 7,
857    #[doc = "8: Initial output is Low. High output at cycle end. Output retained at GTCCRB compare match."]
858    _01000 = 8,
859    #[doc = "9: Initial output is Low. High output at cycle end. Low output at GTCCRB compare match."]
860    _01001 = 9,
861    #[doc = "10: Initial output is Low. High output at cycle end. High output at GTCCRB compare match."]
862    _01010 = 10,
863    #[doc = "11: Initial output is Low. High output at cycle end. Output toggled at GTCCRB compare match."]
864    _01011 = 11,
865    #[doc = "12: Initial output is Low. Output toggled at cycle end. Output retained at GTCCRB compare match."]
866    _01100 = 12,
867    #[doc = "13: Initial output is Low. Output toggled at cycle end. Low output at GTCCRB compare match."]
868    _01101 = 13,
869    #[doc = "14: Initial output is Low. Output toggled at cycle end. High output at GTCCRB compare match."]
870    _01110 = 14,
871    #[doc = "15: Initial output is Low. Output toggled at cycle end. Output toggled at GTCCRB compare match."]
872    _01111 = 15,
873    #[doc = "16: Initial output is High. Output retained at cycle end. Output retained at GTCCRB compare match."]
874    _10000 = 16,
875    #[doc = "17: Initial output is High. Output retained at cycle end. Low output at GTCCRB compare match."]
876    _10001 = 17,
877    #[doc = "18: Initial output is High. Output retained at cycle end. High output at GTCCRB compare match."]
878    _10010 = 18,
879    #[doc = "19: Initial output is High. Output retained at cycle end. Output toggled at GTCCRB compare match."]
880    _10011 = 19,
881    #[doc = "20: Initial output is High. Low output at cycle end. Output retained at GTCCRB compare match."]
882    _10100 = 20,
883    #[doc = "21: Initial output is High. Low output at cycle end. Low output at GTCCRB compare match."]
884    _10101 = 21,
885    #[doc = "22: Initial output is High. Low output at cycle end. High output at GTCCRB compare match."]
886    _10110 = 22,
887    #[doc = "23: Initial output is High. Low output at cycle end. Output toggled at GTCCRB compare match."]
888    _10111 = 23,
889    #[doc = "24: Initial output is High. High output at cycle end. Output retained at GTCCRB compare match."]
890    _11000 = 24,
891    #[doc = "25: Initial output is High. High output at cycle end. Low output at GTCCRB compare match."]
892    _11001 = 25,
893    #[doc = "26: Initial output is High. High output at cycle end. High output at GTCCRB compare match."]
894    _11010 = 26,
895    #[doc = "27: Initial output is High. High output at cycle end. Output toggled at GTCCRB compare match."]
896    _11011 = 27,
897    #[doc = "28: Initial output is High. Output toggled at cycle end. Output retained at GTCCRB compare match."]
898    _11100 = 28,
899    #[doc = "29: Initial output is High. Output toggled at cycle end. Low output at GTCCRB compare match."]
900    _11101 = 29,
901    #[doc = "30: Initial output is High. Output toggled at cycle end. High output at GTCCRB compare match."]
902    _11110 = 30,
903    #[doc = "31: Initial output is High. Output toggled at cycle end. Output toggled at GTCCRB compare match."]
904    _11111 = 31,
905}
906impl From<GTIOB_A> for u8 {
907    #[inline(always)]
908    fn from(variant: GTIOB_A) -> Self {
909        variant as _
910    }
911}
912impl GTIOB_R {
913    #[doc = "Get enumerated values variant"]
914    #[inline(always)]
915    pub fn variant(&self) -> GTIOB_A {
916        match self.bits {
917            0 => GTIOB_A::_00000,
918            1 => GTIOB_A::_00001,
919            2 => GTIOB_A::_00010,
920            3 => GTIOB_A::_00011,
921            4 => GTIOB_A::_00100,
922            5 => GTIOB_A::_00101,
923            6 => GTIOB_A::_00110,
924            7 => GTIOB_A::_00111,
925            8 => GTIOB_A::_01000,
926            9 => GTIOB_A::_01001,
927            10 => GTIOB_A::_01010,
928            11 => GTIOB_A::_01011,
929            12 => GTIOB_A::_01100,
930            13 => GTIOB_A::_01101,
931            14 => GTIOB_A::_01110,
932            15 => GTIOB_A::_01111,
933            16 => GTIOB_A::_10000,
934            17 => GTIOB_A::_10001,
935            18 => GTIOB_A::_10010,
936            19 => GTIOB_A::_10011,
937            20 => GTIOB_A::_10100,
938            21 => GTIOB_A::_10101,
939            22 => GTIOB_A::_10110,
940            23 => GTIOB_A::_10111,
941            24 => GTIOB_A::_11000,
942            25 => GTIOB_A::_11001,
943            26 => GTIOB_A::_11010,
944            27 => GTIOB_A::_11011,
945            28 => GTIOB_A::_11100,
946            29 => GTIOB_A::_11101,
947            30 => GTIOB_A::_11110,
948            31 => GTIOB_A::_11111,
949            _ => unreachable!(),
950        }
951    }
952    #[doc = "Checks if the value of the field is `_00000`"]
953    #[inline(always)]
954    pub fn is_00000(&self) -> bool {
955        *self == GTIOB_A::_00000
956    }
957    #[doc = "Checks if the value of the field is `_00001`"]
958    #[inline(always)]
959    pub fn is_00001(&self) -> bool {
960        *self == GTIOB_A::_00001
961    }
962    #[doc = "Checks if the value of the field is `_00010`"]
963    #[inline(always)]
964    pub fn is_00010(&self) -> bool {
965        *self == GTIOB_A::_00010
966    }
967    #[doc = "Checks if the value of the field is `_00011`"]
968    #[inline(always)]
969    pub fn is_00011(&self) -> bool {
970        *self == GTIOB_A::_00011
971    }
972    #[doc = "Checks if the value of the field is `_00100`"]
973    #[inline(always)]
974    pub fn is_00100(&self) -> bool {
975        *self == GTIOB_A::_00100
976    }
977    #[doc = "Checks if the value of the field is `_00101`"]
978    #[inline(always)]
979    pub fn is_00101(&self) -> bool {
980        *self == GTIOB_A::_00101
981    }
982    #[doc = "Checks if the value of the field is `_00110`"]
983    #[inline(always)]
984    pub fn is_00110(&self) -> bool {
985        *self == GTIOB_A::_00110
986    }
987    #[doc = "Checks if the value of the field is `_00111`"]
988    #[inline(always)]
989    pub fn is_00111(&self) -> bool {
990        *self == GTIOB_A::_00111
991    }
992    #[doc = "Checks if the value of the field is `_01000`"]
993    #[inline(always)]
994    pub fn is_01000(&self) -> bool {
995        *self == GTIOB_A::_01000
996    }
997    #[doc = "Checks if the value of the field is `_01001`"]
998    #[inline(always)]
999    pub fn is_01001(&self) -> bool {
1000        *self == GTIOB_A::_01001
1001    }
1002    #[doc = "Checks if the value of the field is `_01010`"]
1003    #[inline(always)]
1004    pub fn is_01010(&self) -> bool {
1005        *self == GTIOB_A::_01010
1006    }
1007    #[doc = "Checks if the value of the field is `_01011`"]
1008    #[inline(always)]
1009    pub fn is_01011(&self) -> bool {
1010        *self == GTIOB_A::_01011
1011    }
1012    #[doc = "Checks if the value of the field is `_01100`"]
1013    #[inline(always)]
1014    pub fn is_01100(&self) -> bool {
1015        *self == GTIOB_A::_01100
1016    }
1017    #[doc = "Checks if the value of the field is `_01101`"]
1018    #[inline(always)]
1019    pub fn is_01101(&self) -> bool {
1020        *self == GTIOB_A::_01101
1021    }
1022    #[doc = "Checks if the value of the field is `_01110`"]
1023    #[inline(always)]
1024    pub fn is_01110(&self) -> bool {
1025        *self == GTIOB_A::_01110
1026    }
1027    #[doc = "Checks if the value of the field is `_01111`"]
1028    #[inline(always)]
1029    pub fn is_01111(&self) -> bool {
1030        *self == GTIOB_A::_01111
1031    }
1032    #[doc = "Checks if the value of the field is `_10000`"]
1033    #[inline(always)]
1034    pub fn is_10000(&self) -> bool {
1035        *self == GTIOB_A::_10000
1036    }
1037    #[doc = "Checks if the value of the field is `_10001`"]
1038    #[inline(always)]
1039    pub fn is_10001(&self) -> bool {
1040        *self == GTIOB_A::_10001
1041    }
1042    #[doc = "Checks if the value of the field is `_10010`"]
1043    #[inline(always)]
1044    pub fn is_10010(&self) -> bool {
1045        *self == GTIOB_A::_10010
1046    }
1047    #[doc = "Checks if the value of the field is `_10011`"]
1048    #[inline(always)]
1049    pub fn is_10011(&self) -> bool {
1050        *self == GTIOB_A::_10011
1051    }
1052    #[doc = "Checks if the value of the field is `_10100`"]
1053    #[inline(always)]
1054    pub fn is_10100(&self) -> bool {
1055        *self == GTIOB_A::_10100
1056    }
1057    #[doc = "Checks if the value of the field is `_10101`"]
1058    #[inline(always)]
1059    pub fn is_10101(&self) -> bool {
1060        *self == GTIOB_A::_10101
1061    }
1062    #[doc = "Checks if the value of the field is `_10110`"]
1063    #[inline(always)]
1064    pub fn is_10110(&self) -> bool {
1065        *self == GTIOB_A::_10110
1066    }
1067    #[doc = "Checks if the value of the field is `_10111`"]
1068    #[inline(always)]
1069    pub fn is_10111(&self) -> bool {
1070        *self == GTIOB_A::_10111
1071    }
1072    #[doc = "Checks if the value of the field is `_11000`"]
1073    #[inline(always)]
1074    pub fn is_11000(&self) -> bool {
1075        *self == GTIOB_A::_11000
1076    }
1077    #[doc = "Checks if the value of the field is `_11001`"]
1078    #[inline(always)]
1079    pub fn is_11001(&self) -> bool {
1080        *self == GTIOB_A::_11001
1081    }
1082    #[doc = "Checks if the value of the field is `_11010`"]
1083    #[inline(always)]
1084    pub fn is_11010(&self) -> bool {
1085        *self == GTIOB_A::_11010
1086    }
1087    #[doc = "Checks if the value of the field is `_11011`"]
1088    #[inline(always)]
1089    pub fn is_11011(&self) -> bool {
1090        *self == GTIOB_A::_11011
1091    }
1092    #[doc = "Checks if the value of the field is `_11100`"]
1093    #[inline(always)]
1094    pub fn is_11100(&self) -> bool {
1095        *self == GTIOB_A::_11100
1096    }
1097    #[doc = "Checks if the value of the field is `_11101`"]
1098    #[inline(always)]
1099    pub fn is_11101(&self) -> bool {
1100        *self == GTIOB_A::_11101
1101    }
1102    #[doc = "Checks if the value of the field is `_11110`"]
1103    #[inline(always)]
1104    pub fn is_11110(&self) -> bool {
1105        *self == GTIOB_A::_11110
1106    }
1107    #[doc = "Checks if the value of the field is `_11111`"]
1108    #[inline(always)]
1109    pub fn is_11111(&self) -> bool {
1110        *self == GTIOB_A::_11111
1111    }
1112}
1113#[doc = "Field `GTIOB` writer - GTIOCB Pin Function Select"]
1114pub type GTIOB_W<'a, const O: u8> = crate::FieldWriterSafe<'a, u32, GTIOR_SPEC, u8, GTIOB_A, 5, O>;
1115impl<'a, const O: u8> GTIOB_W<'a, O> {
1116    #[doc = "Initial output is Low. Output retained at cycle end. Output retained at GTCCRB compare match."]
1117    #[inline(always)]
1118    pub fn _00000(self) -> &'a mut W {
1119        self.variant(GTIOB_A::_00000)
1120    }
1121    #[doc = "Initial output is Low. Output retained at cycle end. Low output at GTCCRB compare match."]
1122    #[inline(always)]
1123    pub fn _00001(self) -> &'a mut W {
1124        self.variant(GTIOB_A::_00001)
1125    }
1126    #[doc = "Initial output is Low. Output retained at cycle end. High output at GTCCRB compare match."]
1127    #[inline(always)]
1128    pub fn _00010(self) -> &'a mut W {
1129        self.variant(GTIOB_A::_00010)
1130    }
1131    #[doc = "Initial output is Low. Output retained at cycle end. Output toggled at GTCCRB compare match."]
1132    #[inline(always)]
1133    pub fn _00011(self) -> &'a mut W {
1134        self.variant(GTIOB_A::_00011)
1135    }
1136    #[doc = "Initial output is Low. Low output at cycle end. Output retained at GTCCRB compare match."]
1137    #[inline(always)]
1138    pub fn _00100(self) -> &'a mut W {
1139        self.variant(GTIOB_A::_00100)
1140    }
1141    #[doc = "Initial output is Low. Low output at cycle end. Low output at GTCCRB compare match."]
1142    #[inline(always)]
1143    pub fn _00101(self) -> &'a mut W {
1144        self.variant(GTIOB_A::_00101)
1145    }
1146    #[doc = "Initial output is Low. Low output at cycle end. High output at GTCCRB compare match."]
1147    #[inline(always)]
1148    pub fn _00110(self) -> &'a mut W {
1149        self.variant(GTIOB_A::_00110)
1150    }
1151    #[doc = "Initial output is Low. Low output at cycle end. Output toggled at GTCCRB compare match."]
1152    #[inline(always)]
1153    pub fn _00111(self) -> &'a mut W {
1154        self.variant(GTIOB_A::_00111)
1155    }
1156    #[doc = "Initial output is Low. High output at cycle end. Output retained at GTCCRB compare match."]
1157    #[inline(always)]
1158    pub fn _01000(self) -> &'a mut W {
1159        self.variant(GTIOB_A::_01000)
1160    }
1161    #[doc = "Initial output is Low. High output at cycle end. Low output at GTCCRB compare match."]
1162    #[inline(always)]
1163    pub fn _01001(self) -> &'a mut W {
1164        self.variant(GTIOB_A::_01001)
1165    }
1166    #[doc = "Initial output is Low. High output at cycle end. High output at GTCCRB compare match."]
1167    #[inline(always)]
1168    pub fn _01010(self) -> &'a mut W {
1169        self.variant(GTIOB_A::_01010)
1170    }
1171    #[doc = "Initial output is Low. High output at cycle end. Output toggled at GTCCRB compare match."]
1172    #[inline(always)]
1173    pub fn _01011(self) -> &'a mut W {
1174        self.variant(GTIOB_A::_01011)
1175    }
1176    #[doc = "Initial output is Low. Output toggled at cycle end. Output retained at GTCCRB compare match."]
1177    #[inline(always)]
1178    pub fn _01100(self) -> &'a mut W {
1179        self.variant(GTIOB_A::_01100)
1180    }
1181    #[doc = "Initial output is Low. Output toggled at cycle end. Low output at GTCCRB compare match."]
1182    #[inline(always)]
1183    pub fn _01101(self) -> &'a mut W {
1184        self.variant(GTIOB_A::_01101)
1185    }
1186    #[doc = "Initial output is Low. Output toggled at cycle end. High output at GTCCRB compare match."]
1187    #[inline(always)]
1188    pub fn _01110(self) -> &'a mut W {
1189        self.variant(GTIOB_A::_01110)
1190    }
1191    #[doc = "Initial output is Low. Output toggled at cycle end. Output toggled at GTCCRB compare match."]
1192    #[inline(always)]
1193    pub fn _01111(self) -> &'a mut W {
1194        self.variant(GTIOB_A::_01111)
1195    }
1196    #[doc = "Initial output is High. Output retained at cycle end. Output retained at GTCCRB compare match."]
1197    #[inline(always)]
1198    pub fn _10000(self) -> &'a mut W {
1199        self.variant(GTIOB_A::_10000)
1200    }
1201    #[doc = "Initial output is High. Output retained at cycle end. Low output at GTCCRB compare match."]
1202    #[inline(always)]
1203    pub fn _10001(self) -> &'a mut W {
1204        self.variant(GTIOB_A::_10001)
1205    }
1206    #[doc = "Initial output is High. Output retained at cycle end. High output at GTCCRB compare match."]
1207    #[inline(always)]
1208    pub fn _10010(self) -> &'a mut W {
1209        self.variant(GTIOB_A::_10010)
1210    }
1211    #[doc = "Initial output is High. Output retained at cycle end. Output toggled at GTCCRB compare match."]
1212    #[inline(always)]
1213    pub fn _10011(self) -> &'a mut W {
1214        self.variant(GTIOB_A::_10011)
1215    }
1216    #[doc = "Initial output is High. Low output at cycle end. Output retained at GTCCRB compare match."]
1217    #[inline(always)]
1218    pub fn _10100(self) -> &'a mut W {
1219        self.variant(GTIOB_A::_10100)
1220    }
1221    #[doc = "Initial output is High. Low output at cycle end. Low output at GTCCRB compare match."]
1222    #[inline(always)]
1223    pub fn _10101(self) -> &'a mut W {
1224        self.variant(GTIOB_A::_10101)
1225    }
1226    #[doc = "Initial output is High. Low output at cycle end. High output at GTCCRB compare match."]
1227    #[inline(always)]
1228    pub fn _10110(self) -> &'a mut W {
1229        self.variant(GTIOB_A::_10110)
1230    }
1231    #[doc = "Initial output is High. Low output at cycle end. Output toggled at GTCCRB compare match."]
1232    #[inline(always)]
1233    pub fn _10111(self) -> &'a mut W {
1234        self.variant(GTIOB_A::_10111)
1235    }
1236    #[doc = "Initial output is High. High output at cycle end. Output retained at GTCCRB compare match."]
1237    #[inline(always)]
1238    pub fn _11000(self) -> &'a mut W {
1239        self.variant(GTIOB_A::_11000)
1240    }
1241    #[doc = "Initial output is High. High output at cycle end. Low output at GTCCRB compare match."]
1242    #[inline(always)]
1243    pub fn _11001(self) -> &'a mut W {
1244        self.variant(GTIOB_A::_11001)
1245    }
1246    #[doc = "Initial output is High. High output at cycle end. High output at GTCCRB compare match."]
1247    #[inline(always)]
1248    pub fn _11010(self) -> &'a mut W {
1249        self.variant(GTIOB_A::_11010)
1250    }
1251    #[doc = "Initial output is High. High output at cycle end. Output toggled at GTCCRB compare match."]
1252    #[inline(always)]
1253    pub fn _11011(self) -> &'a mut W {
1254        self.variant(GTIOB_A::_11011)
1255    }
1256    #[doc = "Initial output is High. Output toggled at cycle end. Output retained at GTCCRB compare match."]
1257    #[inline(always)]
1258    pub fn _11100(self) -> &'a mut W {
1259        self.variant(GTIOB_A::_11100)
1260    }
1261    #[doc = "Initial output is High. Output toggled at cycle end. Low output at GTCCRB compare match."]
1262    #[inline(always)]
1263    pub fn _11101(self) -> &'a mut W {
1264        self.variant(GTIOB_A::_11101)
1265    }
1266    #[doc = "Initial output is High. Output toggled at cycle end. High output at GTCCRB compare match."]
1267    #[inline(always)]
1268    pub fn _11110(self) -> &'a mut W {
1269        self.variant(GTIOB_A::_11110)
1270    }
1271    #[doc = "Initial output is High. Output toggled at cycle end. Output toggled at GTCCRB compare match."]
1272    #[inline(always)]
1273    pub fn _11111(self) -> &'a mut W {
1274        self.variant(GTIOB_A::_11111)
1275    }
1276}
1277#[doc = "Field `OBDFLT` reader - GTIOCB Pin Output Value Setting at the Count Stop"]
1278pub type OBDFLT_R = crate::BitReader<OBDFLT_A>;
1279#[doc = "GTIOCB Pin Output Value Setting at the Count Stop\n\nValue on reset: 0"]
1280#[derive(Clone, Copy, Debug, PartialEq, Eq)]
1281pub enum OBDFLT_A {
1282    #[doc = "0: The GTIOCB pin outputs low when counting is stopped."]
1283    _0 = 0,
1284    #[doc = "1: The GTIOCB pin outputs high when counting is stopped."]
1285    _1 = 1,
1286}
1287impl From<OBDFLT_A> for bool {
1288    #[inline(always)]
1289    fn from(variant: OBDFLT_A) -> Self {
1290        variant as u8 != 0
1291    }
1292}
1293impl OBDFLT_R {
1294    #[doc = "Get enumerated values variant"]
1295    #[inline(always)]
1296    pub fn variant(&self) -> OBDFLT_A {
1297        match self.bits {
1298            false => OBDFLT_A::_0,
1299            true => OBDFLT_A::_1,
1300        }
1301    }
1302    #[doc = "Checks if the value of the field is `_0`"]
1303    #[inline(always)]
1304    pub fn is_0(&self) -> bool {
1305        *self == OBDFLT_A::_0
1306    }
1307    #[doc = "Checks if the value of the field is `_1`"]
1308    #[inline(always)]
1309    pub fn is_1(&self) -> bool {
1310        *self == OBDFLT_A::_1
1311    }
1312}
1313#[doc = "Field `OBDFLT` writer - GTIOCB Pin Output Value Setting at the Count Stop"]
1314pub type OBDFLT_W<'a, const O: u8> = crate::BitWriter<'a, u32, GTIOR_SPEC, OBDFLT_A, O>;
1315impl<'a, const O: u8> OBDFLT_W<'a, O> {
1316    #[doc = "The GTIOCB pin outputs low when counting is stopped."]
1317    #[inline(always)]
1318    pub fn _0(self) -> &'a mut W {
1319        self.variant(OBDFLT_A::_0)
1320    }
1321    #[doc = "The GTIOCB pin outputs high when counting is stopped."]
1322    #[inline(always)]
1323    pub fn _1(self) -> &'a mut W {
1324        self.variant(OBDFLT_A::_1)
1325    }
1326}
1327#[doc = "Field `OBHLD` reader - GTIOCB Pin Output Setting at the Start/Stop Count"]
1328pub type OBHLD_R = crate::BitReader<OBHLD_A>;
1329#[doc = "GTIOCB Pin Output Setting at the Start/Stop Count\n\nValue on reset: 0"]
1330#[derive(Clone, Copy, Debug, PartialEq, Eq)]
1331pub enum OBHLD_A {
1332    #[doc = "0: The GTIOCB pin output level at start/stop of counting depends on the register setting."]
1333    _0 = 0,
1334    #[doc = "1: The GTIOCB pin output level is retained at start/stop of counting."]
1335    _1 = 1,
1336}
1337impl From<OBHLD_A> for bool {
1338    #[inline(always)]
1339    fn from(variant: OBHLD_A) -> Self {
1340        variant as u8 != 0
1341    }
1342}
1343impl OBHLD_R {
1344    #[doc = "Get enumerated values variant"]
1345    #[inline(always)]
1346    pub fn variant(&self) -> OBHLD_A {
1347        match self.bits {
1348            false => OBHLD_A::_0,
1349            true => OBHLD_A::_1,
1350        }
1351    }
1352    #[doc = "Checks if the value of the field is `_0`"]
1353    #[inline(always)]
1354    pub fn is_0(&self) -> bool {
1355        *self == OBHLD_A::_0
1356    }
1357    #[doc = "Checks if the value of the field is `_1`"]
1358    #[inline(always)]
1359    pub fn is_1(&self) -> bool {
1360        *self == OBHLD_A::_1
1361    }
1362}
1363#[doc = "Field `OBHLD` writer - GTIOCB Pin Output Setting at the Start/Stop Count"]
1364pub type OBHLD_W<'a, const O: u8> = crate::BitWriter<'a, u32, GTIOR_SPEC, OBHLD_A, O>;
1365impl<'a, const O: u8> OBHLD_W<'a, O> {
1366    #[doc = "The GTIOCB pin output level at start/stop of counting depends on the register setting."]
1367    #[inline(always)]
1368    pub fn _0(self) -> &'a mut W {
1369        self.variant(OBHLD_A::_0)
1370    }
1371    #[doc = "The GTIOCB pin output level is retained at start/stop of counting."]
1372    #[inline(always)]
1373    pub fn _1(self) -> &'a mut W {
1374        self.variant(OBHLD_A::_1)
1375    }
1376}
1377#[doc = "Field `OBE` reader - GTIOCB Pin Output Enable"]
1378pub type OBE_R = crate::BitReader<OBE_A>;
1379#[doc = "GTIOCB Pin Output Enable\n\nValue on reset: 0"]
1380#[derive(Clone, Copy, Debug, PartialEq, Eq)]
1381pub enum OBE_A {
1382    #[doc = "0: Output is disabled"]
1383    _0 = 0,
1384    #[doc = "1: Output is enabled"]
1385    _1 = 1,
1386}
1387impl From<OBE_A> for bool {
1388    #[inline(always)]
1389    fn from(variant: OBE_A) -> Self {
1390        variant as u8 != 0
1391    }
1392}
1393impl OBE_R {
1394    #[doc = "Get enumerated values variant"]
1395    #[inline(always)]
1396    pub fn variant(&self) -> OBE_A {
1397        match self.bits {
1398            false => OBE_A::_0,
1399            true => OBE_A::_1,
1400        }
1401    }
1402    #[doc = "Checks if the value of the field is `_0`"]
1403    #[inline(always)]
1404    pub fn is_0(&self) -> bool {
1405        *self == OBE_A::_0
1406    }
1407    #[doc = "Checks if the value of the field is `_1`"]
1408    #[inline(always)]
1409    pub fn is_1(&self) -> bool {
1410        *self == OBE_A::_1
1411    }
1412}
1413#[doc = "Field `OBE` writer - GTIOCB Pin Output Enable"]
1414pub type OBE_W<'a, const O: u8> = crate::BitWriter<'a, u32, GTIOR_SPEC, OBE_A, O>;
1415impl<'a, const O: u8> OBE_W<'a, O> {
1416    #[doc = "Output is disabled"]
1417    #[inline(always)]
1418    pub fn _0(self) -> &'a mut W {
1419        self.variant(OBE_A::_0)
1420    }
1421    #[doc = "Output is enabled"]
1422    #[inline(always)]
1423    pub fn _1(self) -> &'a mut W {
1424        self.variant(OBE_A::_1)
1425    }
1426}
1427#[doc = "Field `OBDF` reader - GTIOCB Pin Disable Value Setting"]
1428pub type OBDF_R = crate::FieldReader<u8, OBDF_A>;
1429#[doc = "GTIOCB Pin Disable Value Setting\n\nValue on reset: 0"]
1430#[derive(Clone, Copy, Debug, PartialEq, Eq)]
1431#[repr(u8)]
1432pub enum OBDF_A {
1433    #[doc = "0: Output disable is prohibited."]
1434    _00 = 0,
1435    #[doc = "1: GTIOCB pin is set to Hi-Z when output disable is performed."]
1436    _01 = 1,
1437    #[doc = "2: GTIOCB pin is set to 0 when output disable is performed."]
1438    _10 = 2,
1439    #[doc = "3: GTIOCB pin is set to 1 when output disable is performed."]
1440    _11 = 3,
1441}
1442impl From<OBDF_A> for u8 {
1443    #[inline(always)]
1444    fn from(variant: OBDF_A) -> Self {
1445        variant as _
1446    }
1447}
1448impl OBDF_R {
1449    #[doc = "Get enumerated values variant"]
1450    #[inline(always)]
1451    pub fn variant(&self) -> OBDF_A {
1452        match self.bits {
1453            0 => OBDF_A::_00,
1454            1 => OBDF_A::_01,
1455            2 => OBDF_A::_10,
1456            3 => OBDF_A::_11,
1457            _ => unreachable!(),
1458        }
1459    }
1460    #[doc = "Checks if the value of the field is `_00`"]
1461    #[inline(always)]
1462    pub fn is_00(&self) -> bool {
1463        *self == OBDF_A::_00
1464    }
1465    #[doc = "Checks if the value of the field is `_01`"]
1466    #[inline(always)]
1467    pub fn is_01(&self) -> bool {
1468        *self == OBDF_A::_01
1469    }
1470    #[doc = "Checks if the value of the field is `_10`"]
1471    #[inline(always)]
1472    pub fn is_10(&self) -> bool {
1473        *self == OBDF_A::_10
1474    }
1475    #[doc = "Checks if the value of the field is `_11`"]
1476    #[inline(always)]
1477    pub fn is_11(&self) -> bool {
1478        *self == OBDF_A::_11
1479    }
1480}
1481#[doc = "Field `OBDF` writer - GTIOCB Pin Disable Value Setting"]
1482pub type OBDF_W<'a, const O: u8> = crate::FieldWriterSafe<'a, u32, GTIOR_SPEC, u8, OBDF_A, 2, O>;
1483impl<'a, const O: u8> OBDF_W<'a, O> {
1484    #[doc = "Output disable is prohibited."]
1485    #[inline(always)]
1486    pub fn _00(self) -> &'a mut W {
1487        self.variant(OBDF_A::_00)
1488    }
1489    #[doc = "GTIOCB pin is set to Hi-Z when output disable is performed."]
1490    #[inline(always)]
1491    pub fn _01(self) -> &'a mut W {
1492        self.variant(OBDF_A::_01)
1493    }
1494    #[doc = "GTIOCB pin is set to 0 when output disable is performed."]
1495    #[inline(always)]
1496    pub fn _10(self) -> &'a mut W {
1497        self.variant(OBDF_A::_10)
1498    }
1499    #[doc = "GTIOCB pin is set to 1 when output disable is performed."]
1500    #[inline(always)]
1501    pub fn _11(self) -> &'a mut W {
1502        self.variant(OBDF_A::_11)
1503    }
1504}
1505#[doc = "Field `NFBEN` reader - Noise Filter B Enable"]
1506pub type NFBEN_R = crate::BitReader<NFBEN_A>;
1507#[doc = "Noise Filter B Enable\n\nValue on reset: 0"]
1508#[derive(Clone, Copy, Debug, PartialEq, Eq)]
1509pub enum NFBEN_A {
1510    #[doc = "0: The noise filter for the GTIOCB pin is disabled."]
1511    _0 = 0,
1512    #[doc = "1: The noise filter for the GTIOCB pin is enabled."]
1513    _1 = 1,
1514}
1515impl From<NFBEN_A> for bool {
1516    #[inline(always)]
1517    fn from(variant: NFBEN_A) -> Self {
1518        variant as u8 != 0
1519    }
1520}
1521impl NFBEN_R {
1522    #[doc = "Get enumerated values variant"]
1523    #[inline(always)]
1524    pub fn variant(&self) -> NFBEN_A {
1525        match self.bits {
1526            false => NFBEN_A::_0,
1527            true => NFBEN_A::_1,
1528        }
1529    }
1530    #[doc = "Checks if the value of the field is `_0`"]
1531    #[inline(always)]
1532    pub fn is_0(&self) -> bool {
1533        *self == NFBEN_A::_0
1534    }
1535    #[doc = "Checks if the value of the field is `_1`"]
1536    #[inline(always)]
1537    pub fn is_1(&self) -> bool {
1538        *self == NFBEN_A::_1
1539    }
1540}
1541#[doc = "Field `NFBEN` writer - Noise Filter B Enable"]
1542pub type NFBEN_W<'a, const O: u8> = crate::BitWriter<'a, u32, GTIOR_SPEC, NFBEN_A, O>;
1543impl<'a, const O: u8> NFBEN_W<'a, O> {
1544    #[doc = "The noise filter for the GTIOCB pin is disabled."]
1545    #[inline(always)]
1546    pub fn _0(self) -> &'a mut W {
1547        self.variant(NFBEN_A::_0)
1548    }
1549    #[doc = "The noise filter for the GTIOCB pin is enabled."]
1550    #[inline(always)]
1551    pub fn _1(self) -> &'a mut W {
1552        self.variant(NFBEN_A::_1)
1553    }
1554}
1555#[doc = "Field `NFCSB` reader - Noise Filter B Sampling Clock Select"]
1556pub type NFCSB_R = crate::FieldReader<u8, NFCSB_A>;
1557#[doc = "Noise Filter B Sampling Clock Select\n\nValue on reset: 0"]
1558#[derive(Clone, Copy, Debug, PartialEq, Eq)]
1559#[repr(u8)]
1560pub enum NFCSB_A {
1561    #[doc = "0: PCLK/1"]
1562    _00 = 0,
1563    #[doc = "1: PCLK/4"]
1564    _01 = 1,
1565    #[doc = "2: PCLK/16"]
1566    _10 = 2,
1567    #[doc = "3: PCLK/64"]
1568    _11 = 3,
1569}
1570impl From<NFCSB_A> for u8 {
1571    #[inline(always)]
1572    fn from(variant: NFCSB_A) -> Self {
1573        variant as _
1574    }
1575}
1576impl NFCSB_R {
1577    #[doc = "Get enumerated values variant"]
1578    #[inline(always)]
1579    pub fn variant(&self) -> NFCSB_A {
1580        match self.bits {
1581            0 => NFCSB_A::_00,
1582            1 => NFCSB_A::_01,
1583            2 => NFCSB_A::_10,
1584            3 => NFCSB_A::_11,
1585            _ => unreachable!(),
1586        }
1587    }
1588    #[doc = "Checks if the value of the field is `_00`"]
1589    #[inline(always)]
1590    pub fn is_00(&self) -> bool {
1591        *self == NFCSB_A::_00
1592    }
1593    #[doc = "Checks if the value of the field is `_01`"]
1594    #[inline(always)]
1595    pub fn is_01(&self) -> bool {
1596        *self == NFCSB_A::_01
1597    }
1598    #[doc = "Checks if the value of the field is `_10`"]
1599    #[inline(always)]
1600    pub fn is_10(&self) -> bool {
1601        *self == NFCSB_A::_10
1602    }
1603    #[doc = "Checks if the value of the field is `_11`"]
1604    #[inline(always)]
1605    pub fn is_11(&self) -> bool {
1606        *self == NFCSB_A::_11
1607    }
1608}
1609#[doc = "Field `NFCSB` writer - Noise Filter B Sampling Clock Select"]
1610pub type NFCSB_W<'a, const O: u8> = crate::FieldWriterSafe<'a, u32, GTIOR_SPEC, u8, NFCSB_A, 2, O>;
1611impl<'a, const O: u8> NFCSB_W<'a, O> {
1612    #[doc = "PCLK/1"]
1613    #[inline(always)]
1614    pub fn _00(self) -> &'a mut W {
1615        self.variant(NFCSB_A::_00)
1616    }
1617    #[doc = "PCLK/4"]
1618    #[inline(always)]
1619    pub fn _01(self) -> &'a mut W {
1620        self.variant(NFCSB_A::_01)
1621    }
1622    #[doc = "PCLK/16"]
1623    #[inline(always)]
1624    pub fn _10(self) -> &'a mut W {
1625        self.variant(NFCSB_A::_10)
1626    }
1627    #[doc = "PCLK/64"]
1628    #[inline(always)]
1629    pub fn _11(self) -> &'a mut W {
1630        self.variant(NFCSB_A::_11)
1631    }
1632}
1633impl R {
1634    #[doc = "Bits 0:4 - GTIOCA Pin Function Select"]
1635    #[inline(always)]
1636    pub fn gtioa(&self) -> GTIOA_R {
1637        GTIOA_R::new((self.bits & 0x1f) as u8)
1638    }
1639    #[doc = "Bit 6 - GTIOCA Pin Output Value Setting at the Count Stop"]
1640    #[inline(always)]
1641    pub fn oadflt(&self) -> OADFLT_R {
1642        OADFLT_R::new(((self.bits >> 6) & 1) != 0)
1643    }
1644    #[doc = "Bit 7 - GTIOCA Pin Output Setting at the Start/Stop Count"]
1645    #[inline(always)]
1646    pub fn oahld(&self) -> OAHLD_R {
1647        OAHLD_R::new(((self.bits >> 7) & 1) != 0)
1648    }
1649    #[doc = "Bit 8 - GTIOCA Pin Output Enable"]
1650    #[inline(always)]
1651    pub fn oae(&self) -> OAE_R {
1652        OAE_R::new(((self.bits >> 8) & 1) != 0)
1653    }
1654    #[doc = "Bits 9:10 - GTIOCA Pin Disable Value Setting"]
1655    #[inline(always)]
1656    pub fn oadf(&self) -> OADF_R {
1657        OADF_R::new(((self.bits >> 9) & 3) as u8)
1658    }
1659    #[doc = "Bit 13 - Noise Filter A Enable"]
1660    #[inline(always)]
1661    pub fn nfaen(&self) -> NFAEN_R {
1662        NFAEN_R::new(((self.bits >> 13) & 1) != 0)
1663    }
1664    #[doc = "Bits 14:15 - Noise Filter A Sampling Clock Select"]
1665    #[inline(always)]
1666    pub fn nfcsa(&self) -> NFCSA_R {
1667        NFCSA_R::new(((self.bits >> 14) & 3) as u8)
1668    }
1669    #[doc = "Bits 16:20 - GTIOCB Pin Function Select"]
1670    #[inline(always)]
1671    pub fn gtiob(&self) -> GTIOB_R {
1672        GTIOB_R::new(((self.bits >> 16) & 0x1f) as u8)
1673    }
1674    #[doc = "Bit 22 - GTIOCB Pin Output Value Setting at the Count Stop"]
1675    #[inline(always)]
1676    pub fn obdflt(&self) -> OBDFLT_R {
1677        OBDFLT_R::new(((self.bits >> 22) & 1) != 0)
1678    }
1679    #[doc = "Bit 23 - GTIOCB Pin Output Setting at the Start/Stop Count"]
1680    #[inline(always)]
1681    pub fn obhld(&self) -> OBHLD_R {
1682        OBHLD_R::new(((self.bits >> 23) & 1) != 0)
1683    }
1684    #[doc = "Bit 24 - GTIOCB Pin Output Enable"]
1685    #[inline(always)]
1686    pub fn obe(&self) -> OBE_R {
1687        OBE_R::new(((self.bits >> 24) & 1) != 0)
1688    }
1689    #[doc = "Bits 25:26 - GTIOCB Pin Disable Value Setting"]
1690    #[inline(always)]
1691    pub fn obdf(&self) -> OBDF_R {
1692        OBDF_R::new(((self.bits >> 25) & 3) as u8)
1693    }
1694    #[doc = "Bit 29 - Noise Filter B Enable"]
1695    #[inline(always)]
1696    pub fn nfben(&self) -> NFBEN_R {
1697        NFBEN_R::new(((self.bits >> 29) & 1) != 0)
1698    }
1699    #[doc = "Bits 30:31 - Noise Filter B Sampling Clock Select"]
1700    #[inline(always)]
1701    pub fn nfcsb(&self) -> NFCSB_R {
1702        NFCSB_R::new(((self.bits >> 30) & 3) as u8)
1703    }
1704}
1705impl W {
1706    #[doc = "Bits 0:4 - GTIOCA Pin Function Select"]
1707    #[inline(always)]
1708    #[must_use]
1709    pub fn gtioa(&mut self) -> GTIOA_W<0> {
1710        GTIOA_W::new(self)
1711    }
1712    #[doc = "Bit 6 - GTIOCA Pin Output Value Setting at the Count Stop"]
1713    #[inline(always)]
1714    #[must_use]
1715    pub fn oadflt(&mut self) -> OADFLT_W<6> {
1716        OADFLT_W::new(self)
1717    }
1718    #[doc = "Bit 7 - GTIOCA Pin Output Setting at the Start/Stop Count"]
1719    #[inline(always)]
1720    #[must_use]
1721    pub fn oahld(&mut self) -> OAHLD_W<7> {
1722        OAHLD_W::new(self)
1723    }
1724    #[doc = "Bit 8 - GTIOCA Pin Output Enable"]
1725    #[inline(always)]
1726    #[must_use]
1727    pub fn oae(&mut self) -> OAE_W<8> {
1728        OAE_W::new(self)
1729    }
1730    #[doc = "Bits 9:10 - GTIOCA Pin Disable Value Setting"]
1731    #[inline(always)]
1732    #[must_use]
1733    pub fn oadf(&mut self) -> OADF_W<9> {
1734        OADF_W::new(self)
1735    }
1736    #[doc = "Bit 13 - Noise Filter A Enable"]
1737    #[inline(always)]
1738    #[must_use]
1739    pub fn nfaen(&mut self) -> NFAEN_W<13> {
1740        NFAEN_W::new(self)
1741    }
1742    #[doc = "Bits 14:15 - Noise Filter A Sampling Clock Select"]
1743    #[inline(always)]
1744    #[must_use]
1745    pub fn nfcsa(&mut self) -> NFCSA_W<14> {
1746        NFCSA_W::new(self)
1747    }
1748    #[doc = "Bits 16:20 - GTIOCB Pin Function Select"]
1749    #[inline(always)]
1750    #[must_use]
1751    pub fn gtiob(&mut self) -> GTIOB_W<16> {
1752        GTIOB_W::new(self)
1753    }
1754    #[doc = "Bit 22 - GTIOCB Pin Output Value Setting at the Count Stop"]
1755    #[inline(always)]
1756    #[must_use]
1757    pub fn obdflt(&mut self) -> OBDFLT_W<22> {
1758        OBDFLT_W::new(self)
1759    }
1760    #[doc = "Bit 23 - GTIOCB Pin Output Setting at the Start/Stop Count"]
1761    #[inline(always)]
1762    #[must_use]
1763    pub fn obhld(&mut self) -> OBHLD_W<23> {
1764        OBHLD_W::new(self)
1765    }
1766    #[doc = "Bit 24 - GTIOCB Pin Output Enable"]
1767    #[inline(always)]
1768    #[must_use]
1769    pub fn obe(&mut self) -> OBE_W<24> {
1770        OBE_W::new(self)
1771    }
1772    #[doc = "Bits 25:26 - GTIOCB Pin Disable Value Setting"]
1773    #[inline(always)]
1774    #[must_use]
1775    pub fn obdf(&mut self) -> OBDF_W<25> {
1776        OBDF_W::new(self)
1777    }
1778    #[doc = "Bit 29 - Noise Filter B Enable"]
1779    #[inline(always)]
1780    #[must_use]
1781    pub fn nfben(&mut self) -> NFBEN_W<29> {
1782        NFBEN_W::new(self)
1783    }
1784    #[doc = "Bits 30:31 - Noise Filter B Sampling Clock Select"]
1785    #[inline(always)]
1786    #[must_use]
1787    pub fn nfcsb(&mut self) -> NFCSB_W<30> {
1788        NFCSB_W::new(self)
1789    }
1790    #[doc = "Writes raw bits to the register."]
1791    #[inline(always)]
1792    pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
1793        self.0.bits(bits);
1794        self
1795    }
1796}
1797#[doc = "General PWM Timer I/O Control Register\n\nThis register you can [`read`](crate::generic::Reg::read), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [gtior](index.html) module"]
1798pub struct GTIOR_SPEC;
1799impl crate::RegisterSpec for GTIOR_SPEC {
1800    type Ux = u32;
1801}
1802#[doc = "`read()` method returns [gtior::R](R) reader structure"]
1803impl crate::Readable for GTIOR_SPEC {
1804    type Reader = R;
1805}
1806#[doc = "`write(|w| ..)` method takes [gtior::W](W) writer structure"]
1807impl crate::Writable for GTIOR_SPEC {
1808    type Writer = W;
1809    const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
1810    const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
1811}
1812#[doc = "`reset()` method sets GTIOR to value 0"]
1813impl crate::Resettable for GTIOR_SPEC {
1814    const RESET_VALUE: Self::Ux = 0;
1815}