stm32l0x1/gpioa/afrh/
mod.rs

1#[doc = r" Value read from the register"]
2pub struct R {
3    bits: u32,
4}
5#[doc = r" Value to write to the register"]
6pub struct W {
7    bits: u32,
8}
9impl super::AFRH {
10    #[doc = r" Modifies the contents of the register"]
11    #[inline]
12    pub fn modify<F>(&self, f: F)
13    where
14        for<'w> F: FnOnce(&R, &'w mut W) -> &'w mut W,
15    {
16        let bits = self.register.get();
17        let r = R { bits: bits };
18        let mut w = W { bits: bits };
19        f(&r, &mut w);
20        self.register.set(w.bits);
21    }
22    #[doc = r" Reads the contents of the register"]
23    #[inline]
24    pub fn read(&self) -> R {
25        R {
26            bits: self.register.get(),
27        }
28    }
29    #[doc = r" Writes to the register"]
30    #[inline]
31    pub fn write<F>(&self, f: F)
32    where
33        F: FnOnce(&mut W) -> &mut W,
34    {
35        let mut w = W::reset_value();
36        f(&mut w);
37        self.register.set(w.bits);
38    }
39    #[doc = r" Writes the reset value to the register"]
40    #[inline]
41    pub fn reset(&self) {
42        self.write(|w| w)
43    }
44}
45#[doc = r" Value of the field"]
46pub struct AFSEL15R {
47    bits: u8,
48}
49impl AFSEL15R {
50    #[doc = r" Value of the field as raw bits"]
51    #[inline]
52    pub fn bits(&self) -> u8 {
53        self.bits
54    }
55}
56#[doc = r" Value of the field"]
57pub struct AFSEL14R {
58    bits: u8,
59}
60impl AFSEL14R {
61    #[doc = r" Value of the field as raw bits"]
62    #[inline]
63    pub fn bits(&self) -> u8 {
64        self.bits
65    }
66}
67#[doc = r" Value of the field"]
68pub struct AFSEL13R {
69    bits: u8,
70}
71impl AFSEL13R {
72    #[doc = r" Value of the field as raw bits"]
73    #[inline]
74    pub fn bits(&self) -> u8 {
75        self.bits
76    }
77}
78#[doc = r" Value of the field"]
79pub struct AFSEL12R {
80    bits: u8,
81}
82impl AFSEL12R {
83    #[doc = r" Value of the field as raw bits"]
84    #[inline]
85    pub fn bits(&self) -> u8 {
86        self.bits
87    }
88}
89#[doc = r" Value of the field"]
90pub struct AFSEL11R {
91    bits: u8,
92}
93impl AFSEL11R {
94    #[doc = r" Value of the field as raw bits"]
95    #[inline]
96    pub fn bits(&self) -> u8 {
97        self.bits
98    }
99}
100#[doc = r" Value of the field"]
101pub struct AFSEL10R {
102    bits: u8,
103}
104impl AFSEL10R {
105    #[doc = r" Value of the field as raw bits"]
106    #[inline]
107    pub fn bits(&self) -> u8 {
108        self.bits
109    }
110}
111#[doc = r" Value of the field"]
112pub struct AFSEL9R {
113    bits: u8,
114}
115impl AFSEL9R {
116    #[doc = r" Value of the field as raw bits"]
117    #[inline]
118    pub fn bits(&self) -> u8 {
119        self.bits
120    }
121}
122#[doc = r" Value of the field"]
123pub struct AFSEL8R {
124    bits: u8,
125}
126impl AFSEL8R {
127    #[doc = r" Value of the field as raw bits"]
128    #[inline]
129    pub fn bits(&self) -> u8 {
130        self.bits
131    }
132}
133#[doc = r" Proxy"]
134pub struct _AFSEL15W<'a> {
135    w: &'a mut W,
136}
137impl<'a> _AFSEL15W<'a> {
138    #[doc = r" Writes raw bits to the field"]
139    #[inline]
140    pub unsafe fn bits(self, value: u8) -> &'a mut W {
141        const MASK: u8 = 15;
142        const OFFSET: u8 = 28;
143        self.w.bits &= !((MASK as u32) << OFFSET);
144        self.w.bits |= ((value & MASK) as u32) << OFFSET;
145        self.w
146    }
147}
148#[doc = r" Proxy"]
149pub struct _AFSEL14W<'a> {
150    w: &'a mut W,
151}
152impl<'a> _AFSEL14W<'a> {
153    #[doc = r" Writes raw bits to the field"]
154    #[inline]
155    pub unsafe fn bits(self, value: u8) -> &'a mut W {
156        const MASK: u8 = 15;
157        const OFFSET: u8 = 24;
158        self.w.bits &= !((MASK as u32) << OFFSET);
159        self.w.bits |= ((value & MASK) as u32) << OFFSET;
160        self.w
161    }
162}
163#[doc = r" Proxy"]
164pub struct _AFSEL13W<'a> {
165    w: &'a mut W,
166}
167impl<'a> _AFSEL13W<'a> {
168    #[doc = r" Writes raw bits to the field"]
169    #[inline]
170    pub unsafe fn bits(self, value: u8) -> &'a mut W {
171        const MASK: u8 = 15;
172        const OFFSET: u8 = 20;
173        self.w.bits &= !((MASK as u32) << OFFSET);
174        self.w.bits |= ((value & MASK) as u32) << OFFSET;
175        self.w
176    }
177}
178#[doc = r" Proxy"]
179pub struct _AFSEL12W<'a> {
180    w: &'a mut W,
181}
182impl<'a> _AFSEL12W<'a> {
183    #[doc = r" Writes raw bits to the field"]
184    #[inline]
185    pub unsafe fn bits(self, value: u8) -> &'a mut W {
186        const MASK: u8 = 15;
187        const OFFSET: u8 = 16;
188        self.w.bits &= !((MASK as u32) << OFFSET);
189        self.w.bits |= ((value & MASK) as u32) << OFFSET;
190        self.w
191    }
192}
193#[doc = r" Proxy"]
194pub struct _AFSEL11W<'a> {
195    w: &'a mut W,
196}
197impl<'a> _AFSEL11W<'a> {
198    #[doc = r" Writes raw bits to the field"]
199    #[inline]
200    pub unsafe fn bits(self, value: u8) -> &'a mut W {
201        const MASK: u8 = 15;
202        const OFFSET: u8 = 12;
203        self.w.bits &= !((MASK as u32) << OFFSET);
204        self.w.bits |= ((value & MASK) as u32) << OFFSET;
205        self.w
206    }
207}
208#[doc = r" Proxy"]
209pub struct _AFSEL10W<'a> {
210    w: &'a mut W,
211}
212impl<'a> _AFSEL10W<'a> {
213    #[doc = r" Writes raw bits to the field"]
214    #[inline]
215    pub unsafe fn bits(self, value: u8) -> &'a mut W {
216        const MASK: u8 = 15;
217        const OFFSET: u8 = 8;
218        self.w.bits &= !((MASK as u32) << OFFSET);
219        self.w.bits |= ((value & MASK) as u32) << OFFSET;
220        self.w
221    }
222}
223#[doc = r" Proxy"]
224pub struct _AFSEL9W<'a> {
225    w: &'a mut W,
226}
227impl<'a> _AFSEL9W<'a> {
228    #[doc = r" Writes raw bits to the field"]
229    #[inline]
230    pub unsafe fn bits(self, value: u8) -> &'a mut W {
231        const MASK: u8 = 15;
232        const OFFSET: u8 = 4;
233        self.w.bits &= !((MASK as u32) << OFFSET);
234        self.w.bits |= ((value & MASK) as u32) << OFFSET;
235        self.w
236    }
237}
238#[doc = r" Proxy"]
239pub struct _AFSEL8W<'a> {
240    w: &'a mut W,
241}
242impl<'a> _AFSEL8W<'a> {
243    #[doc = r" Writes raw bits to the field"]
244    #[inline]
245    pub unsafe fn bits(self, value: u8) -> &'a mut W {
246        const MASK: u8 = 15;
247        const OFFSET: u8 = 0;
248        self.w.bits &= !((MASK as u32) << OFFSET);
249        self.w.bits |= ((value & MASK) as u32) << OFFSET;
250        self.w
251    }
252}
253impl R {
254    #[doc = r" Value of the register as raw bits"]
255    #[inline]
256    pub fn bits(&self) -> u32 {
257        self.bits
258    }
259    #[doc = "Bits 28:31 - Alternate function selection for port x pin y (y = 8..15)"]
260    #[inline]
261    pub fn afsel15(&self) -> AFSEL15R {
262        let bits = {
263            const MASK: u8 = 15;
264            const OFFSET: u8 = 28;
265            ((self.bits >> OFFSET) & MASK as u32) as u8
266        };
267        AFSEL15R { bits }
268    }
269    #[doc = "Bits 24:27 - Alternate function selection for port x pin y (y = 8..15)"]
270    #[inline]
271    pub fn afsel14(&self) -> AFSEL14R {
272        let bits = {
273            const MASK: u8 = 15;
274            const OFFSET: u8 = 24;
275            ((self.bits >> OFFSET) & MASK as u32) as u8
276        };
277        AFSEL14R { bits }
278    }
279    #[doc = "Bits 20:23 - Alternate function selection for port x pin y (y = 8..15)"]
280    #[inline]
281    pub fn afsel13(&self) -> AFSEL13R {
282        let bits = {
283            const MASK: u8 = 15;
284            const OFFSET: u8 = 20;
285            ((self.bits >> OFFSET) & MASK as u32) as u8
286        };
287        AFSEL13R { bits }
288    }
289    #[doc = "Bits 16:19 - Alternate function selection for port x pin y (y = 8..15)"]
290    #[inline]
291    pub fn afsel12(&self) -> AFSEL12R {
292        let bits = {
293            const MASK: u8 = 15;
294            const OFFSET: u8 = 16;
295            ((self.bits >> OFFSET) & MASK as u32) as u8
296        };
297        AFSEL12R { bits }
298    }
299    #[doc = "Bits 12:15 - Alternate function selection for port x pin y (y = 8..15)"]
300    #[inline]
301    pub fn afsel11(&self) -> AFSEL11R {
302        let bits = {
303            const MASK: u8 = 15;
304            const OFFSET: u8 = 12;
305            ((self.bits >> OFFSET) & MASK as u32) as u8
306        };
307        AFSEL11R { bits }
308    }
309    #[doc = "Bits 8:11 - Alternate function selection for port x pin y (y = 8..15)"]
310    #[inline]
311    pub fn afsel10(&self) -> AFSEL10R {
312        let bits = {
313            const MASK: u8 = 15;
314            const OFFSET: u8 = 8;
315            ((self.bits >> OFFSET) & MASK as u32) as u8
316        };
317        AFSEL10R { bits }
318    }
319    #[doc = "Bits 4:7 - Alternate function selection for port x pin y (y = 8..15)"]
320    #[inline]
321    pub fn afsel9(&self) -> AFSEL9R {
322        let bits = {
323            const MASK: u8 = 15;
324            const OFFSET: u8 = 4;
325            ((self.bits >> OFFSET) & MASK as u32) as u8
326        };
327        AFSEL9R { bits }
328    }
329    #[doc = "Bits 0:3 - Alternate function selection for port x pin y (y = 8..15)"]
330    #[inline]
331    pub fn afsel8(&self) -> AFSEL8R {
332        let bits = {
333            const MASK: u8 = 15;
334            const OFFSET: u8 = 0;
335            ((self.bits >> OFFSET) & MASK as u32) as u8
336        };
337        AFSEL8R { bits }
338    }
339}
340impl W {
341    #[doc = r" Reset value of the register"]
342    #[inline]
343    pub fn reset_value() -> W {
344        W { bits: 0 }
345    }
346    #[doc = r" Writes raw bits to the register"]
347    #[inline]
348    pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
349        self.bits = bits;
350        self
351    }
352    #[doc = "Bits 28:31 - Alternate function selection for port x pin y (y = 8..15)"]
353    #[inline]
354    pub fn afsel15(&mut self) -> _AFSEL15W {
355        _AFSEL15W { w: self }
356    }
357    #[doc = "Bits 24:27 - Alternate function selection for port x pin y (y = 8..15)"]
358    #[inline]
359    pub fn afsel14(&mut self) -> _AFSEL14W {
360        _AFSEL14W { w: self }
361    }
362    #[doc = "Bits 20:23 - Alternate function selection for port x pin y (y = 8..15)"]
363    #[inline]
364    pub fn afsel13(&mut self) -> _AFSEL13W {
365        _AFSEL13W { w: self }
366    }
367    #[doc = "Bits 16:19 - Alternate function selection for port x pin y (y = 8..15)"]
368    #[inline]
369    pub fn afsel12(&mut self) -> _AFSEL12W {
370        _AFSEL12W { w: self }
371    }
372    #[doc = "Bits 12:15 - Alternate function selection for port x pin y (y = 8..15)"]
373    #[inline]
374    pub fn afsel11(&mut self) -> _AFSEL11W {
375        _AFSEL11W { w: self }
376    }
377    #[doc = "Bits 8:11 - Alternate function selection for port x pin y (y = 8..15)"]
378    #[inline]
379    pub fn afsel10(&mut self) -> _AFSEL10W {
380        _AFSEL10W { w: self }
381    }
382    #[doc = "Bits 4:7 - Alternate function selection for port x pin y (y = 8..15)"]
383    #[inline]
384    pub fn afsel9(&mut self) -> _AFSEL9W {
385        _AFSEL9W { w: self }
386    }
387    #[doc = "Bits 0:3 - Alternate function selection for port x pin y (y = 8..15)"]
388    #[inline]
389    pub fn afsel8(&mut self) -> _AFSEL8W {
390        _AFSEL8W { w: self }
391    }
392}