atsam4lc2c_pac/gpio/
odmer.rs

1#[doc = "Register `ODMER%s` reader"]
2pub struct R(crate::R<ODMER_SPEC>);
3impl core::ops::Deref for R {
4    type Target = crate::R<ODMER_SPEC>;
5    #[inline(always)]
6    fn deref(&self) -> &Self::Target {
7        &self.0
8    }
9}
10impl From<crate::R<ODMER_SPEC>> for R {
11    #[inline(always)]
12    fn from(reader: crate::R<ODMER_SPEC>) -> Self {
13        R(reader)
14    }
15}
16#[doc = "Register `ODMER%s` writer"]
17pub struct W(crate::W<ODMER_SPEC>);
18impl core::ops::Deref for W {
19    type Target = crate::W<ODMER_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<ODMER_SPEC>> for W {
32    #[inline(always)]
33    fn from(writer: crate::W<ODMER_SPEC>) -> Self {
34        W(writer)
35    }
36}
37#[doc = "Field `P0` reader - Open Drain Mode Enable"]
38pub type P0_R = crate::BitReader<bool>;
39#[doc = "Field `P0` writer - Open Drain Mode Enable"]
40pub type P0_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
41#[doc = "Field `P1` reader - Open Drain Mode Enable"]
42pub type P1_R = crate::BitReader<bool>;
43#[doc = "Field `P1` writer - Open Drain Mode Enable"]
44pub type P1_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
45#[doc = "Field `P2` reader - Open Drain Mode Enable"]
46pub type P2_R = crate::BitReader<bool>;
47#[doc = "Field `P2` writer - Open Drain Mode Enable"]
48pub type P2_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
49#[doc = "Field `P3` reader - Open Drain Mode Enable"]
50pub type P3_R = crate::BitReader<bool>;
51#[doc = "Field `P3` writer - Open Drain Mode Enable"]
52pub type P3_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
53#[doc = "Field `P4` reader - Open Drain Mode Enable"]
54pub type P4_R = crate::BitReader<bool>;
55#[doc = "Field `P4` writer - Open Drain Mode Enable"]
56pub type P4_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
57#[doc = "Field `P5` reader - Open Drain Mode Enable"]
58pub type P5_R = crate::BitReader<bool>;
59#[doc = "Field `P5` writer - Open Drain Mode Enable"]
60pub type P5_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
61#[doc = "Field `P6` reader - Open Drain Mode Enable"]
62pub type P6_R = crate::BitReader<bool>;
63#[doc = "Field `P6` writer - Open Drain Mode Enable"]
64pub type P6_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
65#[doc = "Field `P7` reader - Open Drain Mode Enable"]
66pub type P7_R = crate::BitReader<bool>;
67#[doc = "Field `P7` writer - Open Drain Mode Enable"]
68pub type P7_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
69#[doc = "Field `P8` reader - Open Drain Mode Enable"]
70pub type P8_R = crate::BitReader<bool>;
71#[doc = "Field `P8` writer - Open Drain Mode Enable"]
72pub type P8_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
73#[doc = "Field `P9` reader - Open Drain Mode Enable"]
74pub type P9_R = crate::BitReader<bool>;
75#[doc = "Field `P9` writer - Open Drain Mode Enable"]
76pub type P9_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
77#[doc = "Field `P10` reader - Open Drain Mode Enable"]
78pub type P10_R = crate::BitReader<bool>;
79#[doc = "Field `P10` writer - Open Drain Mode Enable"]
80pub type P10_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
81#[doc = "Field `P11` reader - Open Drain Mode Enable"]
82pub type P11_R = crate::BitReader<bool>;
83#[doc = "Field `P11` writer - Open Drain Mode Enable"]
84pub type P11_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
85#[doc = "Field `P12` reader - Open Drain Mode Enable"]
86pub type P12_R = crate::BitReader<bool>;
87#[doc = "Field `P12` writer - Open Drain Mode Enable"]
88pub type P12_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
89#[doc = "Field `P13` reader - Open Drain Mode Enable"]
90pub type P13_R = crate::BitReader<bool>;
91#[doc = "Field `P13` writer - Open Drain Mode Enable"]
92pub type P13_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
93#[doc = "Field `P14` reader - Open Drain Mode Enable"]
94pub type P14_R = crate::BitReader<bool>;
95#[doc = "Field `P14` writer - Open Drain Mode Enable"]
96pub type P14_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
97#[doc = "Field `P15` reader - Open Drain Mode Enable"]
98pub type P15_R = crate::BitReader<bool>;
99#[doc = "Field `P15` writer - Open Drain Mode Enable"]
100pub type P15_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
101#[doc = "Field `P16` reader - Open Drain Mode Enable"]
102pub type P16_R = crate::BitReader<bool>;
103#[doc = "Field `P16` writer - Open Drain Mode Enable"]
104pub type P16_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
105#[doc = "Field `P17` reader - Open Drain Mode Enable"]
106pub type P17_R = crate::BitReader<bool>;
107#[doc = "Field `P17` writer - Open Drain Mode Enable"]
108pub type P17_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
109#[doc = "Field `P18` reader - Open Drain Mode Enable"]
110pub type P18_R = crate::BitReader<bool>;
111#[doc = "Field `P18` writer - Open Drain Mode Enable"]
112pub type P18_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
113#[doc = "Field `P19` reader - Open Drain Mode Enable"]
114pub type P19_R = crate::BitReader<bool>;
115#[doc = "Field `P19` writer - Open Drain Mode Enable"]
116pub type P19_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
117#[doc = "Field `P20` reader - Open Drain Mode Enable"]
118pub type P20_R = crate::BitReader<bool>;
119#[doc = "Field `P20` writer - Open Drain Mode Enable"]
120pub type P20_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
121#[doc = "Field `P21` reader - Open Drain Mode Enable"]
122pub type P21_R = crate::BitReader<bool>;
123#[doc = "Field `P21` writer - Open Drain Mode Enable"]
124pub type P21_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
125#[doc = "Field `P22` reader - Open Drain Mode Enable"]
126pub type P22_R = crate::BitReader<bool>;
127#[doc = "Field `P22` writer - Open Drain Mode Enable"]
128pub type P22_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
129#[doc = "Field `P23` reader - Open Drain Mode Enable"]
130pub type P23_R = crate::BitReader<bool>;
131#[doc = "Field `P23` writer - Open Drain Mode Enable"]
132pub type P23_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
133#[doc = "Field `P24` reader - Open Drain Mode Enable"]
134pub type P24_R = crate::BitReader<bool>;
135#[doc = "Field `P24` writer - Open Drain Mode Enable"]
136pub type P24_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
137#[doc = "Field `P25` reader - Open Drain Mode Enable"]
138pub type P25_R = crate::BitReader<bool>;
139#[doc = "Field `P25` writer - Open Drain Mode Enable"]
140pub type P25_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
141#[doc = "Field `P26` reader - Open Drain Mode Enable"]
142pub type P26_R = crate::BitReader<bool>;
143#[doc = "Field `P26` writer - Open Drain Mode Enable"]
144pub type P26_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
145#[doc = "Field `P27` reader - Open Drain Mode Enable"]
146pub type P27_R = crate::BitReader<bool>;
147#[doc = "Field `P27` writer - Open Drain Mode Enable"]
148pub type P27_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
149#[doc = "Field `P28` reader - Open Drain Mode Enable"]
150pub type P28_R = crate::BitReader<bool>;
151#[doc = "Field `P28` writer - Open Drain Mode Enable"]
152pub type P28_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
153#[doc = "Field `P29` reader - Open Drain Mode Enable"]
154pub type P29_R = crate::BitReader<bool>;
155#[doc = "Field `P29` writer - Open Drain Mode Enable"]
156pub type P29_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
157#[doc = "Field `P30` reader - Open Drain Mode Enable"]
158pub type P30_R = crate::BitReader<bool>;
159#[doc = "Field `P30` writer - Open Drain Mode Enable"]
160pub type P30_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
161#[doc = "Field `P31` reader - Open Drain Mode Enable"]
162pub type P31_R = crate::BitReader<bool>;
163#[doc = "Field `P31` writer - Open Drain Mode Enable"]
164pub type P31_W<'a, const O: u8> = crate::BitWriter<'a, u32, ODMER_SPEC, bool, O>;
165impl R {
166    #[doc = "Bit 0 - Open Drain Mode Enable"]
167    #[inline(always)]
168    pub fn p0(&self) -> P0_R {
169        P0_R::new((self.bits & 1) != 0)
170    }
171    #[doc = "Bit 1 - Open Drain Mode Enable"]
172    #[inline(always)]
173    pub fn p1(&self) -> P1_R {
174        P1_R::new(((self.bits >> 1) & 1) != 0)
175    }
176    #[doc = "Bit 2 - Open Drain Mode Enable"]
177    #[inline(always)]
178    pub fn p2(&self) -> P2_R {
179        P2_R::new(((self.bits >> 2) & 1) != 0)
180    }
181    #[doc = "Bit 3 - Open Drain Mode Enable"]
182    #[inline(always)]
183    pub fn p3(&self) -> P3_R {
184        P3_R::new(((self.bits >> 3) & 1) != 0)
185    }
186    #[doc = "Bit 4 - Open Drain Mode Enable"]
187    #[inline(always)]
188    pub fn p4(&self) -> P4_R {
189        P4_R::new(((self.bits >> 4) & 1) != 0)
190    }
191    #[doc = "Bit 5 - Open Drain Mode Enable"]
192    #[inline(always)]
193    pub fn p5(&self) -> P5_R {
194        P5_R::new(((self.bits >> 5) & 1) != 0)
195    }
196    #[doc = "Bit 6 - Open Drain Mode Enable"]
197    #[inline(always)]
198    pub fn p6(&self) -> P6_R {
199        P6_R::new(((self.bits >> 6) & 1) != 0)
200    }
201    #[doc = "Bit 7 - Open Drain Mode Enable"]
202    #[inline(always)]
203    pub fn p7(&self) -> P7_R {
204        P7_R::new(((self.bits >> 7) & 1) != 0)
205    }
206    #[doc = "Bit 8 - Open Drain Mode Enable"]
207    #[inline(always)]
208    pub fn p8(&self) -> P8_R {
209        P8_R::new(((self.bits >> 8) & 1) != 0)
210    }
211    #[doc = "Bit 9 - Open Drain Mode Enable"]
212    #[inline(always)]
213    pub fn p9(&self) -> P9_R {
214        P9_R::new(((self.bits >> 9) & 1) != 0)
215    }
216    #[doc = "Bit 10 - Open Drain Mode Enable"]
217    #[inline(always)]
218    pub fn p10(&self) -> P10_R {
219        P10_R::new(((self.bits >> 10) & 1) != 0)
220    }
221    #[doc = "Bit 11 - Open Drain Mode Enable"]
222    #[inline(always)]
223    pub fn p11(&self) -> P11_R {
224        P11_R::new(((self.bits >> 11) & 1) != 0)
225    }
226    #[doc = "Bit 12 - Open Drain Mode Enable"]
227    #[inline(always)]
228    pub fn p12(&self) -> P12_R {
229        P12_R::new(((self.bits >> 12) & 1) != 0)
230    }
231    #[doc = "Bit 13 - Open Drain Mode Enable"]
232    #[inline(always)]
233    pub fn p13(&self) -> P13_R {
234        P13_R::new(((self.bits >> 13) & 1) != 0)
235    }
236    #[doc = "Bit 14 - Open Drain Mode Enable"]
237    #[inline(always)]
238    pub fn p14(&self) -> P14_R {
239        P14_R::new(((self.bits >> 14) & 1) != 0)
240    }
241    #[doc = "Bit 15 - Open Drain Mode Enable"]
242    #[inline(always)]
243    pub fn p15(&self) -> P15_R {
244        P15_R::new(((self.bits >> 15) & 1) != 0)
245    }
246    #[doc = "Bit 16 - Open Drain Mode Enable"]
247    #[inline(always)]
248    pub fn p16(&self) -> P16_R {
249        P16_R::new(((self.bits >> 16) & 1) != 0)
250    }
251    #[doc = "Bit 17 - Open Drain Mode Enable"]
252    #[inline(always)]
253    pub fn p17(&self) -> P17_R {
254        P17_R::new(((self.bits >> 17) & 1) != 0)
255    }
256    #[doc = "Bit 18 - Open Drain Mode Enable"]
257    #[inline(always)]
258    pub fn p18(&self) -> P18_R {
259        P18_R::new(((self.bits >> 18) & 1) != 0)
260    }
261    #[doc = "Bit 19 - Open Drain Mode Enable"]
262    #[inline(always)]
263    pub fn p19(&self) -> P19_R {
264        P19_R::new(((self.bits >> 19) & 1) != 0)
265    }
266    #[doc = "Bit 20 - Open Drain Mode Enable"]
267    #[inline(always)]
268    pub fn p20(&self) -> P20_R {
269        P20_R::new(((self.bits >> 20) & 1) != 0)
270    }
271    #[doc = "Bit 21 - Open Drain Mode Enable"]
272    #[inline(always)]
273    pub fn p21(&self) -> P21_R {
274        P21_R::new(((self.bits >> 21) & 1) != 0)
275    }
276    #[doc = "Bit 22 - Open Drain Mode Enable"]
277    #[inline(always)]
278    pub fn p22(&self) -> P22_R {
279        P22_R::new(((self.bits >> 22) & 1) != 0)
280    }
281    #[doc = "Bit 23 - Open Drain Mode Enable"]
282    #[inline(always)]
283    pub fn p23(&self) -> P23_R {
284        P23_R::new(((self.bits >> 23) & 1) != 0)
285    }
286    #[doc = "Bit 24 - Open Drain Mode Enable"]
287    #[inline(always)]
288    pub fn p24(&self) -> P24_R {
289        P24_R::new(((self.bits >> 24) & 1) != 0)
290    }
291    #[doc = "Bit 25 - Open Drain Mode Enable"]
292    #[inline(always)]
293    pub fn p25(&self) -> P25_R {
294        P25_R::new(((self.bits >> 25) & 1) != 0)
295    }
296    #[doc = "Bit 26 - Open Drain Mode Enable"]
297    #[inline(always)]
298    pub fn p26(&self) -> P26_R {
299        P26_R::new(((self.bits >> 26) & 1) != 0)
300    }
301    #[doc = "Bit 27 - Open Drain Mode Enable"]
302    #[inline(always)]
303    pub fn p27(&self) -> P27_R {
304        P27_R::new(((self.bits >> 27) & 1) != 0)
305    }
306    #[doc = "Bit 28 - Open Drain Mode Enable"]
307    #[inline(always)]
308    pub fn p28(&self) -> P28_R {
309        P28_R::new(((self.bits >> 28) & 1) != 0)
310    }
311    #[doc = "Bit 29 - Open Drain Mode Enable"]
312    #[inline(always)]
313    pub fn p29(&self) -> P29_R {
314        P29_R::new(((self.bits >> 29) & 1) != 0)
315    }
316    #[doc = "Bit 30 - Open Drain Mode Enable"]
317    #[inline(always)]
318    pub fn p30(&self) -> P30_R {
319        P30_R::new(((self.bits >> 30) & 1) != 0)
320    }
321    #[doc = "Bit 31 - Open Drain Mode Enable"]
322    #[inline(always)]
323    pub fn p31(&self) -> P31_R {
324        P31_R::new(((self.bits >> 31) & 1) != 0)
325    }
326}
327impl W {
328    #[doc = "Bit 0 - Open Drain Mode Enable"]
329    #[inline(always)]
330    #[must_use]
331    pub fn p0(&mut self) -> P0_W<0> {
332        P0_W::new(self)
333    }
334    #[doc = "Bit 1 - Open Drain Mode Enable"]
335    #[inline(always)]
336    #[must_use]
337    pub fn p1(&mut self) -> P1_W<1> {
338        P1_W::new(self)
339    }
340    #[doc = "Bit 2 - Open Drain Mode Enable"]
341    #[inline(always)]
342    #[must_use]
343    pub fn p2(&mut self) -> P2_W<2> {
344        P2_W::new(self)
345    }
346    #[doc = "Bit 3 - Open Drain Mode Enable"]
347    #[inline(always)]
348    #[must_use]
349    pub fn p3(&mut self) -> P3_W<3> {
350        P3_W::new(self)
351    }
352    #[doc = "Bit 4 - Open Drain Mode Enable"]
353    #[inline(always)]
354    #[must_use]
355    pub fn p4(&mut self) -> P4_W<4> {
356        P4_W::new(self)
357    }
358    #[doc = "Bit 5 - Open Drain Mode Enable"]
359    #[inline(always)]
360    #[must_use]
361    pub fn p5(&mut self) -> P5_W<5> {
362        P5_W::new(self)
363    }
364    #[doc = "Bit 6 - Open Drain Mode Enable"]
365    #[inline(always)]
366    #[must_use]
367    pub fn p6(&mut self) -> P6_W<6> {
368        P6_W::new(self)
369    }
370    #[doc = "Bit 7 - Open Drain Mode Enable"]
371    #[inline(always)]
372    #[must_use]
373    pub fn p7(&mut self) -> P7_W<7> {
374        P7_W::new(self)
375    }
376    #[doc = "Bit 8 - Open Drain Mode Enable"]
377    #[inline(always)]
378    #[must_use]
379    pub fn p8(&mut self) -> P8_W<8> {
380        P8_W::new(self)
381    }
382    #[doc = "Bit 9 - Open Drain Mode Enable"]
383    #[inline(always)]
384    #[must_use]
385    pub fn p9(&mut self) -> P9_W<9> {
386        P9_W::new(self)
387    }
388    #[doc = "Bit 10 - Open Drain Mode Enable"]
389    #[inline(always)]
390    #[must_use]
391    pub fn p10(&mut self) -> P10_W<10> {
392        P10_W::new(self)
393    }
394    #[doc = "Bit 11 - Open Drain Mode Enable"]
395    #[inline(always)]
396    #[must_use]
397    pub fn p11(&mut self) -> P11_W<11> {
398        P11_W::new(self)
399    }
400    #[doc = "Bit 12 - Open Drain Mode Enable"]
401    #[inline(always)]
402    #[must_use]
403    pub fn p12(&mut self) -> P12_W<12> {
404        P12_W::new(self)
405    }
406    #[doc = "Bit 13 - Open Drain Mode Enable"]
407    #[inline(always)]
408    #[must_use]
409    pub fn p13(&mut self) -> P13_W<13> {
410        P13_W::new(self)
411    }
412    #[doc = "Bit 14 - Open Drain Mode Enable"]
413    #[inline(always)]
414    #[must_use]
415    pub fn p14(&mut self) -> P14_W<14> {
416        P14_W::new(self)
417    }
418    #[doc = "Bit 15 - Open Drain Mode Enable"]
419    #[inline(always)]
420    #[must_use]
421    pub fn p15(&mut self) -> P15_W<15> {
422        P15_W::new(self)
423    }
424    #[doc = "Bit 16 - Open Drain Mode Enable"]
425    #[inline(always)]
426    #[must_use]
427    pub fn p16(&mut self) -> P16_W<16> {
428        P16_W::new(self)
429    }
430    #[doc = "Bit 17 - Open Drain Mode Enable"]
431    #[inline(always)]
432    #[must_use]
433    pub fn p17(&mut self) -> P17_W<17> {
434        P17_W::new(self)
435    }
436    #[doc = "Bit 18 - Open Drain Mode Enable"]
437    #[inline(always)]
438    #[must_use]
439    pub fn p18(&mut self) -> P18_W<18> {
440        P18_W::new(self)
441    }
442    #[doc = "Bit 19 - Open Drain Mode Enable"]
443    #[inline(always)]
444    #[must_use]
445    pub fn p19(&mut self) -> P19_W<19> {
446        P19_W::new(self)
447    }
448    #[doc = "Bit 20 - Open Drain Mode Enable"]
449    #[inline(always)]
450    #[must_use]
451    pub fn p20(&mut self) -> P20_W<20> {
452        P20_W::new(self)
453    }
454    #[doc = "Bit 21 - Open Drain Mode Enable"]
455    #[inline(always)]
456    #[must_use]
457    pub fn p21(&mut self) -> P21_W<21> {
458        P21_W::new(self)
459    }
460    #[doc = "Bit 22 - Open Drain Mode Enable"]
461    #[inline(always)]
462    #[must_use]
463    pub fn p22(&mut self) -> P22_W<22> {
464        P22_W::new(self)
465    }
466    #[doc = "Bit 23 - Open Drain Mode Enable"]
467    #[inline(always)]
468    #[must_use]
469    pub fn p23(&mut self) -> P23_W<23> {
470        P23_W::new(self)
471    }
472    #[doc = "Bit 24 - Open Drain Mode Enable"]
473    #[inline(always)]
474    #[must_use]
475    pub fn p24(&mut self) -> P24_W<24> {
476        P24_W::new(self)
477    }
478    #[doc = "Bit 25 - Open Drain Mode Enable"]
479    #[inline(always)]
480    #[must_use]
481    pub fn p25(&mut self) -> P25_W<25> {
482        P25_W::new(self)
483    }
484    #[doc = "Bit 26 - Open Drain Mode Enable"]
485    #[inline(always)]
486    #[must_use]
487    pub fn p26(&mut self) -> P26_W<26> {
488        P26_W::new(self)
489    }
490    #[doc = "Bit 27 - Open Drain Mode Enable"]
491    #[inline(always)]
492    #[must_use]
493    pub fn p27(&mut self) -> P27_W<27> {
494        P27_W::new(self)
495    }
496    #[doc = "Bit 28 - Open Drain Mode Enable"]
497    #[inline(always)]
498    #[must_use]
499    pub fn p28(&mut self) -> P28_W<28> {
500        P28_W::new(self)
501    }
502    #[doc = "Bit 29 - Open Drain Mode Enable"]
503    #[inline(always)]
504    #[must_use]
505    pub fn p29(&mut self) -> P29_W<29> {
506        P29_W::new(self)
507    }
508    #[doc = "Bit 30 - Open Drain Mode Enable"]
509    #[inline(always)]
510    #[must_use]
511    pub fn p30(&mut self) -> P30_W<30> {
512        P30_W::new(self)
513    }
514    #[doc = "Bit 31 - Open Drain Mode Enable"]
515    #[inline(always)]
516    #[must_use]
517    pub fn p31(&mut self) -> P31_W<31> {
518        P31_W::new(self)
519    }
520    #[doc = "Writes raw bits to the register."]
521    #[inline(always)]
522    pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
523        self.0.bits(bits);
524        self
525    }
526}
527#[doc = "Open Drain Mode 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 [odmer](index.html) module"]
528pub struct ODMER_SPEC;
529impl crate::RegisterSpec for ODMER_SPEC {
530    type Ux = u32;
531}
532#[doc = "`read()` method returns [odmer::R](R) reader structure"]
533impl crate::Readable for ODMER_SPEC {
534    type Reader = R;
535}
536#[doc = "`write(|w| ..)` method takes [odmer::W](W) writer structure"]
537impl crate::Writable for ODMER_SPEC {
538    type Writer = W;
539    const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
540    const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
541}
542#[doc = "`reset()` method sets ODMER%s to value 0"]
543impl crate::Resettable for ODMER_SPEC {
544    const RESET_VALUE: Self::Ux = 0;
545}