stm32l0x1/gpioa/afrh/
mod.rs1#[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}