stm32l4x2_pac/gpioa/
ospeedr.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::OSPEEDR {
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 = "Possible values of the field `OSPEEDR15`"]
46#[derive(Clone, Copy, Debug, PartialEq)]
47pub enum OSPEEDR15R {
48 #[doc = "Low speed"]
49 LOWSPEED,
50 #[doc = "Medium speed"]
51 MEDIUMSPEED,
52 #[doc = "High speed"]
53 HIGHSPEED,
54 #[doc = "Very high speed"]
55 VERYHIGHSPEED,
56}
57impl OSPEEDR15R {
58 #[doc = r" Value of the field as raw bits"]
59 #[inline]
60 pub fn bits(&self) -> u8 {
61 match *self {
62 OSPEEDR15R::LOWSPEED => 0,
63 OSPEEDR15R::MEDIUMSPEED => 1,
64 OSPEEDR15R::HIGHSPEED => 2,
65 OSPEEDR15R::VERYHIGHSPEED => 3,
66 }
67 }
68 #[allow(missing_docs)]
69 #[doc(hidden)]
70 #[inline]
71 pub fn _from(value: u8) -> OSPEEDR15R {
72 match value {
73 0 => OSPEEDR15R::LOWSPEED,
74 1 => OSPEEDR15R::MEDIUMSPEED,
75 2 => OSPEEDR15R::HIGHSPEED,
76 3 => OSPEEDR15R::VERYHIGHSPEED,
77 _ => unreachable!(),
78 }
79 }
80 #[doc = "Checks if the value of the field is `LOWSPEED`"]
81 #[inline]
82 pub fn is_low_speed(&self) -> bool {
83 *self == OSPEEDR15R::LOWSPEED
84 }
85 #[doc = "Checks if the value of the field is `MEDIUMSPEED`"]
86 #[inline]
87 pub fn is_medium_speed(&self) -> bool {
88 *self == OSPEEDR15R::MEDIUMSPEED
89 }
90 #[doc = "Checks if the value of the field is `HIGHSPEED`"]
91 #[inline]
92 pub fn is_high_speed(&self) -> bool {
93 *self == OSPEEDR15R::HIGHSPEED
94 }
95 #[doc = "Checks if the value of the field is `VERYHIGHSPEED`"]
96 #[inline]
97 pub fn is_very_high_speed(&self) -> bool {
98 *self == OSPEEDR15R::VERYHIGHSPEED
99 }
100}
101#[doc = "Possible values of the field `OSPEEDR14`"]
102pub type OSPEEDR14R = OSPEEDR15R;
103#[doc = "Possible values of the field `OSPEEDR13`"]
104pub type OSPEEDR13R = OSPEEDR15R;
105#[doc = "Possible values of the field `OSPEEDR12`"]
106pub type OSPEEDR12R = OSPEEDR15R;
107#[doc = "Possible values of the field `OSPEEDR11`"]
108pub type OSPEEDR11R = OSPEEDR15R;
109#[doc = "Possible values of the field `OSPEEDR10`"]
110pub type OSPEEDR10R = OSPEEDR15R;
111#[doc = "Possible values of the field `OSPEEDR9`"]
112pub type OSPEEDR9R = OSPEEDR15R;
113#[doc = "Possible values of the field `OSPEEDR8`"]
114pub type OSPEEDR8R = OSPEEDR15R;
115#[doc = "Possible values of the field `OSPEEDR7`"]
116pub type OSPEEDR7R = OSPEEDR15R;
117#[doc = "Possible values of the field `OSPEEDR6`"]
118pub type OSPEEDR6R = OSPEEDR15R;
119#[doc = "Possible values of the field `OSPEEDR5`"]
120pub type OSPEEDR5R = OSPEEDR15R;
121#[doc = "Possible values of the field `OSPEEDR4`"]
122pub type OSPEEDR4R = OSPEEDR15R;
123#[doc = "Possible values of the field `OSPEEDR3`"]
124pub type OSPEEDR3R = OSPEEDR15R;
125#[doc = "Possible values of the field `OSPEEDR2`"]
126pub type OSPEEDR2R = OSPEEDR15R;
127#[doc = "Possible values of the field `OSPEEDR1`"]
128pub type OSPEEDR1R = OSPEEDR15R;
129#[doc = "Possible values of the field `OSPEEDR0`"]
130pub type OSPEEDR0R = OSPEEDR15R;
131#[doc = "Values that can be written to the field `OSPEEDR15`"]
132pub enum OSPEEDR15W {
133 #[doc = "Low speed"]
134 LOWSPEED,
135 #[doc = "Medium speed"]
136 MEDIUMSPEED,
137 #[doc = "High speed"]
138 HIGHSPEED,
139 #[doc = "Very high speed"]
140 VERYHIGHSPEED,
141}
142impl OSPEEDR15W {
143 #[allow(missing_docs)]
144 #[doc(hidden)]
145 #[inline]
146 pub fn _bits(&self) -> u8 {
147 match *self {
148 OSPEEDR15W::LOWSPEED => 0,
149 OSPEEDR15W::MEDIUMSPEED => 1,
150 OSPEEDR15W::HIGHSPEED => 2,
151 OSPEEDR15W::VERYHIGHSPEED => 3,
152 }
153 }
154}
155#[doc = r" Proxy"]
156pub struct _OSPEEDR15W<'a> {
157 w: &'a mut W,
158}
159impl<'a> _OSPEEDR15W<'a> {
160 #[doc = r" Writes `variant` to the field"]
161 #[inline]
162 pub fn variant(self, variant: OSPEEDR15W) -> &'a mut W {
163 {
164 self.bits(variant._bits())
165 }
166 }
167 #[doc = "Low speed"]
168 #[inline]
169 pub fn low_speed(self) -> &'a mut W {
170 self.variant(OSPEEDR15W::LOWSPEED)
171 }
172 #[doc = "Medium speed"]
173 #[inline]
174 pub fn medium_speed(self) -> &'a mut W {
175 self.variant(OSPEEDR15W::MEDIUMSPEED)
176 }
177 #[doc = "High speed"]
178 #[inline]
179 pub fn high_speed(self) -> &'a mut W {
180 self.variant(OSPEEDR15W::HIGHSPEED)
181 }
182 #[doc = "Very high speed"]
183 #[inline]
184 pub fn very_high_speed(self) -> &'a mut W {
185 self.variant(OSPEEDR15W::VERYHIGHSPEED)
186 }
187 #[doc = r" Writes raw bits to the field"]
188 #[inline]
189 pub fn bits(self, value: u8) -> &'a mut W {
190 const MASK: u8 = 3;
191 const OFFSET: u8 = 30;
192 self.w.bits &= !((MASK as u32) << OFFSET);
193 self.w.bits |= ((value & MASK) as u32) << OFFSET;
194 self.w
195 }
196}
197#[doc = "Values that can be written to the field `OSPEEDR14`"]
198pub type OSPEEDR14W = OSPEEDR15W;
199#[doc = r" Proxy"]
200pub struct _OSPEEDR14W<'a> {
201 w: &'a mut W,
202}
203impl<'a> _OSPEEDR14W<'a> {
204 #[doc = r" Writes `variant` to the field"]
205 #[inline]
206 pub fn variant(self, variant: OSPEEDR14W) -> &'a mut W {
207 {
208 self.bits(variant._bits())
209 }
210 }
211 #[doc = "Low speed"]
212 #[inline]
213 pub fn low_speed(self) -> &'a mut W {
214 self.variant(OSPEEDR15W::LOWSPEED)
215 }
216 #[doc = "Medium speed"]
217 #[inline]
218 pub fn medium_speed(self) -> &'a mut W {
219 self.variant(OSPEEDR15W::MEDIUMSPEED)
220 }
221 #[doc = "High speed"]
222 #[inline]
223 pub fn high_speed(self) -> &'a mut W {
224 self.variant(OSPEEDR15W::HIGHSPEED)
225 }
226 #[doc = "Very high speed"]
227 #[inline]
228 pub fn very_high_speed(self) -> &'a mut W {
229 self.variant(OSPEEDR15W::VERYHIGHSPEED)
230 }
231 #[doc = r" Writes raw bits to the field"]
232 #[inline]
233 pub fn bits(self, value: u8) -> &'a mut W {
234 const MASK: u8 = 3;
235 const OFFSET: u8 = 28;
236 self.w.bits &= !((MASK as u32) << OFFSET);
237 self.w.bits |= ((value & MASK) as u32) << OFFSET;
238 self.w
239 }
240}
241#[doc = "Values that can be written to the field `OSPEEDR13`"]
242pub type OSPEEDR13W = OSPEEDR15W;
243#[doc = r" Proxy"]
244pub struct _OSPEEDR13W<'a> {
245 w: &'a mut W,
246}
247impl<'a> _OSPEEDR13W<'a> {
248 #[doc = r" Writes `variant` to the field"]
249 #[inline]
250 pub fn variant(self, variant: OSPEEDR13W) -> &'a mut W {
251 {
252 self.bits(variant._bits())
253 }
254 }
255 #[doc = "Low speed"]
256 #[inline]
257 pub fn low_speed(self) -> &'a mut W {
258 self.variant(OSPEEDR15W::LOWSPEED)
259 }
260 #[doc = "Medium speed"]
261 #[inline]
262 pub fn medium_speed(self) -> &'a mut W {
263 self.variant(OSPEEDR15W::MEDIUMSPEED)
264 }
265 #[doc = "High speed"]
266 #[inline]
267 pub fn high_speed(self) -> &'a mut W {
268 self.variant(OSPEEDR15W::HIGHSPEED)
269 }
270 #[doc = "Very high speed"]
271 #[inline]
272 pub fn very_high_speed(self) -> &'a mut W {
273 self.variant(OSPEEDR15W::VERYHIGHSPEED)
274 }
275 #[doc = r" Writes raw bits to the field"]
276 #[inline]
277 pub fn bits(self, value: u8) -> &'a mut W {
278 const MASK: u8 = 3;
279 const OFFSET: u8 = 26;
280 self.w.bits &= !((MASK as u32) << OFFSET);
281 self.w.bits |= ((value & MASK) as u32) << OFFSET;
282 self.w
283 }
284}
285#[doc = "Values that can be written to the field `OSPEEDR12`"]
286pub type OSPEEDR12W = OSPEEDR15W;
287#[doc = r" Proxy"]
288pub struct _OSPEEDR12W<'a> {
289 w: &'a mut W,
290}
291impl<'a> _OSPEEDR12W<'a> {
292 #[doc = r" Writes `variant` to the field"]
293 #[inline]
294 pub fn variant(self, variant: OSPEEDR12W) -> &'a mut W {
295 {
296 self.bits(variant._bits())
297 }
298 }
299 #[doc = "Low speed"]
300 #[inline]
301 pub fn low_speed(self) -> &'a mut W {
302 self.variant(OSPEEDR15W::LOWSPEED)
303 }
304 #[doc = "Medium speed"]
305 #[inline]
306 pub fn medium_speed(self) -> &'a mut W {
307 self.variant(OSPEEDR15W::MEDIUMSPEED)
308 }
309 #[doc = "High speed"]
310 #[inline]
311 pub fn high_speed(self) -> &'a mut W {
312 self.variant(OSPEEDR15W::HIGHSPEED)
313 }
314 #[doc = "Very high speed"]
315 #[inline]
316 pub fn very_high_speed(self) -> &'a mut W {
317 self.variant(OSPEEDR15W::VERYHIGHSPEED)
318 }
319 #[doc = r" Writes raw bits to the field"]
320 #[inline]
321 pub fn bits(self, value: u8) -> &'a mut W {
322 const MASK: u8 = 3;
323 const OFFSET: u8 = 24;
324 self.w.bits &= !((MASK as u32) << OFFSET);
325 self.w.bits |= ((value & MASK) as u32) << OFFSET;
326 self.w
327 }
328}
329#[doc = "Values that can be written to the field `OSPEEDR11`"]
330pub type OSPEEDR11W = OSPEEDR15W;
331#[doc = r" Proxy"]
332pub struct _OSPEEDR11W<'a> {
333 w: &'a mut W,
334}
335impl<'a> _OSPEEDR11W<'a> {
336 #[doc = r" Writes `variant` to the field"]
337 #[inline]
338 pub fn variant(self, variant: OSPEEDR11W) -> &'a mut W {
339 {
340 self.bits(variant._bits())
341 }
342 }
343 #[doc = "Low speed"]
344 #[inline]
345 pub fn low_speed(self) -> &'a mut W {
346 self.variant(OSPEEDR15W::LOWSPEED)
347 }
348 #[doc = "Medium speed"]
349 #[inline]
350 pub fn medium_speed(self) -> &'a mut W {
351 self.variant(OSPEEDR15W::MEDIUMSPEED)
352 }
353 #[doc = "High speed"]
354 #[inline]
355 pub fn high_speed(self) -> &'a mut W {
356 self.variant(OSPEEDR15W::HIGHSPEED)
357 }
358 #[doc = "Very high speed"]
359 #[inline]
360 pub fn very_high_speed(self) -> &'a mut W {
361 self.variant(OSPEEDR15W::VERYHIGHSPEED)
362 }
363 #[doc = r" Writes raw bits to the field"]
364 #[inline]
365 pub fn bits(self, value: u8) -> &'a mut W {
366 const MASK: u8 = 3;
367 const OFFSET: u8 = 22;
368 self.w.bits &= !((MASK as u32) << OFFSET);
369 self.w.bits |= ((value & MASK) as u32) << OFFSET;
370 self.w
371 }
372}
373#[doc = "Values that can be written to the field `OSPEEDR10`"]
374pub type OSPEEDR10W = OSPEEDR15W;
375#[doc = r" Proxy"]
376pub struct _OSPEEDR10W<'a> {
377 w: &'a mut W,
378}
379impl<'a> _OSPEEDR10W<'a> {
380 #[doc = r" Writes `variant` to the field"]
381 #[inline]
382 pub fn variant(self, variant: OSPEEDR10W) -> &'a mut W {
383 {
384 self.bits(variant._bits())
385 }
386 }
387 #[doc = "Low speed"]
388 #[inline]
389 pub fn low_speed(self) -> &'a mut W {
390 self.variant(OSPEEDR15W::LOWSPEED)
391 }
392 #[doc = "Medium speed"]
393 #[inline]
394 pub fn medium_speed(self) -> &'a mut W {
395 self.variant(OSPEEDR15W::MEDIUMSPEED)
396 }
397 #[doc = "High speed"]
398 #[inline]
399 pub fn high_speed(self) -> &'a mut W {
400 self.variant(OSPEEDR15W::HIGHSPEED)
401 }
402 #[doc = "Very high speed"]
403 #[inline]
404 pub fn very_high_speed(self) -> &'a mut W {
405 self.variant(OSPEEDR15W::VERYHIGHSPEED)
406 }
407 #[doc = r" Writes raw bits to the field"]
408 #[inline]
409 pub fn bits(self, value: u8) -> &'a mut W {
410 const MASK: u8 = 3;
411 const OFFSET: u8 = 20;
412 self.w.bits &= !((MASK as u32) << OFFSET);
413 self.w.bits |= ((value & MASK) as u32) << OFFSET;
414 self.w
415 }
416}
417#[doc = "Values that can be written to the field `OSPEEDR9`"]
418pub type OSPEEDR9W = OSPEEDR15W;
419#[doc = r" Proxy"]
420pub struct _OSPEEDR9W<'a> {
421 w: &'a mut W,
422}
423impl<'a> _OSPEEDR9W<'a> {
424 #[doc = r" Writes `variant` to the field"]
425 #[inline]
426 pub fn variant(self, variant: OSPEEDR9W) -> &'a mut W {
427 {
428 self.bits(variant._bits())
429 }
430 }
431 #[doc = "Low speed"]
432 #[inline]
433 pub fn low_speed(self) -> &'a mut W {
434 self.variant(OSPEEDR15W::LOWSPEED)
435 }
436 #[doc = "Medium speed"]
437 #[inline]
438 pub fn medium_speed(self) -> &'a mut W {
439 self.variant(OSPEEDR15W::MEDIUMSPEED)
440 }
441 #[doc = "High speed"]
442 #[inline]
443 pub fn high_speed(self) -> &'a mut W {
444 self.variant(OSPEEDR15W::HIGHSPEED)
445 }
446 #[doc = "Very high speed"]
447 #[inline]
448 pub fn very_high_speed(self) -> &'a mut W {
449 self.variant(OSPEEDR15W::VERYHIGHSPEED)
450 }
451 #[doc = r" Writes raw bits to the field"]
452 #[inline]
453 pub fn bits(self, value: u8) -> &'a mut W {
454 const MASK: u8 = 3;
455 const OFFSET: u8 = 18;
456 self.w.bits &= !((MASK as u32) << OFFSET);
457 self.w.bits |= ((value & MASK) as u32) << OFFSET;
458 self.w
459 }
460}
461#[doc = "Values that can be written to the field `OSPEEDR8`"]
462pub type OSPEEDR8W = OSPEEDR15W;
463#[doc = r" Proxy"]
464pub struct _OSPEEDR8W<'a> {
465 w: &'a mut W,
466}
467impl<'a> _OSPEEDR8W<'a> {
468 #[doc = r" Writes `variant` to the field"]
469 #[inline]
470 pub fn variant(self, variant: OSPEEDR8W) -> &'a mut W {
471 {
472 self.bits(variant._bits())
473 }
474 }
475 #[doc = "Low speed"]
476 #[inline]
477 pub fn low_speed(self) -> &'a mut W {
478 self.variant(OSPEEDR15W::LOWSPEED)
479 }
480 #[doc = "Medium speed"]
481 #[inline]
482 pub fn medium_speed(self) -> &'a mut W {
483 self.variant(OSPEEDR15W::MEDIUMSPEED)
484 }
485 #[doc = "High speed"]
486 #[inline]
487 pub fn high_speed(self) -> &'a mut W {
488 self.variant(OSPEEDR15W::HIGHSPEED)
489 }
490 #[doc = "Very high speed"]
491 #[inline]
492 pub fn very_high_speed(self) -> &'a mut W {
493 self.variant(OSPEEDR15W::VERYHIGHSPEED)
494 }
495 #[doc = r" Writes raw bits to the field"]
496 #[inline]
497 pub fn bits(self, value: u8) -> &'a mut W {
498 const MASK: u8 = 3;
499 const OFFSET: u8 = 16;
500 self.w.bits &= !((MASK as u32) << OFFSET);
501 self.w.bits |= ((value & MASK) as u32) << OFFSET;
502 self.w
503 }
504}
505#[doc = "Values that can be written to the field `OSPEEDR7`"]
506pub type OSPEEDR7W = OSPEEDR15W;
507#[doc = r" Proxy"]
508pub struct _OSPEEDR7W<'a> {
509 w: &'a mut W,
510}
511impl<'a> _OSPEEDR7W<'a> {
512 #[doc = r" Writes `variant` to the field"]
513 #[inline]
514 pub fn variant(self, variant: OSPEEDR7W) -> &'a mut W {
515 {
516 self.bits(variant._bits())
517 }
518 }
519 #[doc = "Low speed"]
520 #[inline]
521 pub fn low_speed(self) -> &'a mut W {
522 self.variant(OSPEEDR15W::LOWSPEED)
523 }
524 #[doc = "Medium speed"]
525 #[inline]
526 pub fn medium_speed(self) -> &'a mut W {
527 self.variant(OSPEEDR15W::MEDIUMSPEED)
528 }
529 #[doc = "High speed"]
530 #[inline]
531 pub fn high_speed(self) -> &'a mut W {
532 self.variant(OSPEEDR15W::HIGHSPEED)
533 }
534 #[doc = "Very high speed"]
535 #[inline]
536 pub fn very_high_speed(self) -> &'a mut W {
537 self.variant(OSPEEDR15W::VERYHIGHSPEED)
538 }
539 #[doc = r" Writes raw bits to the field"]
540 #[inline]
541 pub fn bits(self, value: u8) -> &'a mut W {
542 const MASK: u8 = 3;
543 const OFFSET: u8 = 14;
544 self.w.bits &= !((MASK as u32) << OFFSET);
545 self.w.bits |= ((value & MASK) as u32) << OFFSET;
546 self.w
547 }
548}
549#[doc = "Values that can be written to the field `OSPEEDR6`"]
550pub type OSPEEDR6W = OSPEEDR15W;
551#[doc = r" Proxy"]
552pub struct _OSPEEDR6W<'a> {
553 w: &'a mut W,
554}
555impl<'a> _OSPEEDR6W<'a> {
556 #[doc = r" Writes `variant` to the field"]
557 #[inline]
558 pub fn variant(self, variant: OSPEEDR6W) -> &'a mut W {
559 {
560 self.bits(variant._bits())
561 }
562 }
563 #[doc = "Low speed"]
564 #[inline]
565 pub fn low_speed(self) -> &'a mut W {
566 self.variant(OSPEEDR15W::LOWSPEED)
567 }
568 #[doc = "Medium speed"]
569 #[inline]
570 pub fn medium_speed(self) -> &'a mut W {
571 self.variant(OSPEEDR15W::MEDIUMSPEED)
572 }
573 #[doc = "High speed"]
574 #[inline]
575 pub fn high_speed(self) -> &'a mut W {
576 self.variant(OSPEEDR15W::HIGHSPEED)
577 }
578 #[doc = "Very high speed"]
579 #[inline]
580 pub fn very_high_speed(self) -> &'a mut W {
581 self.variant(OSPEEDR15W::VERYHIGHSPEED)
582 }
583 #[doc = r" Writes raw bits to the field"]
584 #[inline]
585 pub fn bits(self, value: u8) -> &'a mut W {
586 const MASK: u8 = 3;
587 const OFFSET: u8 = 12;
588 self.w.bits &= !((MASK as u32) << OFFSET);
589 self.w.bits |= ((value & MASK) as u32) << OFFSET;
590 self.w
591 }
592}
593#[doc = "Values that can be written to the field `OSPEEDR5`"]
594pub type OSPEEDR5W = OSPEEDR15W;
595#[doc = r" Proxy"]
596pub struct _OSPEEDR5W<'a> {
597 w: &'a mut W,
598}
599impl<'a> _OSPEEDR5W<'a> {
600 #[doc = r" Writes `variant` to the field"]
601 #[inline]
602 pub fn variant(self, variant: OSPEEDR5W) -> &'a mut W {
603 {
604 self.bits(variant._bits())
605 }
606 }
607 #[doc = "Low speed"]
608 #[inline]
609 pub fn low_speed(self) -> &'a mut W {
610 self.variant(OSPEEDR15W::LOWSPEED)
611 }
612 #[doc = "Medium speed"]
613 #[inline]
614 pub fn medium_speed(self) -> &'a mut W {
615 self.variant(OSPEEDR15W::MEDIUMSPEED)
616 }
617 #[doc = "High speed"]
618 #[inline]
619 pub fn high_speed(self) -> &'a mut W {
620 self.variant(OSPEEDR15W::HIGHSPEED)
621 }
622 #[doc = "Very high speed"]
623 #[inline]
624 pub fn very_high_speed(self) -> &'a mut W {
625 self.variant(OSPEEDR15W::VERYHIGHSPEED)
626 }
627 #[doc = r" Writes raw bits to the field"]
628 #[inline]
629 pub fn bits(self, value: u8) -> &'a mut W {
630 const MASK: u8 = 3;
631 const OFFSET: u8 = 10;
632 self.w.bits &= !((MASK as u32) << OFFSET);
633 self.w.bits |= ((value & MASK) as u32) << OFFSET;
634 self.w
635 }
636}
637#[doc = "Values that can be written to the field `OSPEEDR4`"]
638pub type OSPEEDR4W = OSPEEDR15W;
639#[doc = r" Proxy"]
640pub struct _OSPEEDR4W<'a> {
641 w: &'a mut W,
642}
643impl<'a> _OSPEEDR4W<'a> {
644 #[doc = r" Writes `variant` to the field"]
645 #[inline]
646 pub fn variant(self, variant: OSPEEDR4W) -> &'a mut W {
647 {
648 self.bits(variant._bits())
649 }
650 }
651 #[doc = "Low speed"]
652 #[inline]
653 pub fn low_speed(self) -> &'a mut W {
654 self.variant(OSPEEDR15W::LOWSPEED)
655 }
656 #[doc = "Medium speed"]
657 #[inline]
658 pub fn medium_speed(self) -> &'a mut W {
659 self.variant(OSPEEDR15W::MEDIUMSPEED)
660 }
661 #[doc = "High speed"]
662 #[inline]
663 pub fn high_speed(self) -> &'a mut W {
664 self.variant(OSPEEDR15W::HIGHSPEED)
665 }
666 #[doc = "Very high speed"]
667 #[inline]
668 pub fn very_high_speed(self) -> &'a mut W {
669 self.variant(OSPEEDR15W::VERYHIGHSPEED)
670 }
671 #[doc = r" Writes raw bits to the field"]
672 #[inline]
673 pub fn bits(self, value: u8) -> &'a mut W {
674 const MASK: u8 = 3;
675 const OFFSET: u8 = 8;
676 self.w.bits &= !((MASK as u32) << OFFSET);
677 self.w.bits |= ((value & MASK) as u32) << OFFSET;
678 self.w
679 }
680}
681#[doc = "Values that can be written to the field `OSPEEDR3`"]
682pub type OSPEEDR3W = OSPEEDR15W;
683#[doc = r" Proxy"]
684pub struct _OSPEEDR3W<'a> {
685 w: &'a mut W,
686}
687impl<'a> _OSPEEDR3W<'a> {
688 #[doc = r" Writes `variant` to the field"]
689 #[inline]
690 pub fn variant(self, variant: OSPEEDR3W) -> &'a mut W {
691 {
692 self.bits(variant._bits())
693 }
694 }
695 #[doc = "Low speed"]
696 #[inline]
697 pub fn low_speed(self) -> &'a mut W {
698 self.variant(OSPEEDR15W::LOWSPEED)
699 }
700 #[doc = "Medium speed"]
701 #[inline]
702 pub fn medium_speed(self) -> &'a mut W {
703 self.variant(OSPEEDR15W::MEDIUMSPEED)
704 }
705 #[doc = "High speed"]
706 #[inline]
707 pub fn high_speed(self) -> &'a mut W {
708 self.variant(OSPEEDR15W::HIGHSPEED)
709 }
710 #[doc = "Very high speed"]
711 #[inline]
712 pub fn very_high_speed(self) -> &'a mut W {
713 self.variant(OSPEEDR15W::VERYHIGHSPEED)
714 }
715 #[doc = r" Writes raw bits to the field"]
716 #[inline]
717 pub fn bits(self, value: u8) -> &'a mut W {
718 const MASK: u8 = 3;
719 const OFFSET: u8 = 6;
720 self.w.bits &= !((MASK as u32) << OFFSET);
721 self.w.bits |= ((value & MASK) as u32) << OFFSET;
722 self.w
723 }
724}
725#[doc = "Values that can be written to the field `OSPEEDR2`"]
726pub type OSPEEDR2W = OSPEEDR15W;
727#[doc = r" Proxy"]
728pub struct _OSPEEDR2W<'a> {
729 w: &'a mut W,
730}
731impl<'a> _OSPEEDR2W<'a> {
732 #[doc = r" Writes `variant` to the field"]
733 #[inline]
734 pub fn variant(self, variant: OSPEEDR2W) -> &'a mut W {
735 {
736 self.bits(variant._bits())
737 }
738 }
739 #[doc = "Low speed"]
740 #[inline]
741 pub fn low_speed(self) -> &'a mut W {
742 self.variant(OSPEEDR15W::LOWSPEED)
743 }
744 #[doc = "Medium speed"]
745 #[inline]
746 pub fn medium_speed(self) -> &'a mut W {
747 self.variant(OSPEEDR15W::MEDIUMSPEED)
748 }
749 #[doc = "High speed"]
750 #[inline]
751 pub fn high_speed(self) -> &'a mut W {
752 self.variant(OSPEEDR15W::HIGHSPEED)
753 }
754 #[doc = "Very high speed"]
755 #[inline]
756 pub fn very_high_speed(self) -> &'a mut W {
757 self.variant(OSPEEDR15W::VERYHIGHSPEED)
758 }
759 #[doc = r" Writes raw bits to the field"]
760 #[inline]
761 pub fn bits(self, value: u8) -> &'a mut W {
762 const MASK: u8 = 3;
763 const OFFSET: u8 = 4;
764 self.w.bits &= !((MASK as u32) << OFFSET);
765 self.w.bits |= ((value & MASK) as u32) << OFFSET;
766 self.w
767 }
768}
769#[doc = "Values that can be written to the field `OSPEEDR1`"]
770pub type OSPEEDR1W = OSPEEDR15W;
771#[doc = r" Proxy"]
772pub struct _OSPEEDR1W<'a> {
773 w: &'a mut W,
774}
775impl<'a> _OSPEEDR1W<'a> {
776 #[doc = r" Writes `variant` to the field"]
777 #[inline]
778 pub fn variant(self, variant: OSPEEDR1W) -> &'a mut W {
779 {
780 self.bits(variant._bits())
781 }
782 }
783 #[doc = "Low speed"]
784 #[inline]
785 pub fn low_speed(self) -> &'a mut W {
786 self.variant(OSPEEDR15W::LOWSPEED)
787 }
788 #[doc = "Medium speed"]
789 #[inline]
790 pub fn medium_speed(self) -> &'a mut W {
791 self.variant(OSPEEDR15W::MEDIUMSPEED)
792 }
793 #[doc = "High speed"]
794 #[inline]
795 pub fn high_speed(self) -> &'a mut W {
796 self.variant(OSPEEDR15W::HIGHSPEED)
797 }
798 #[doc = "Very high speed"]
799 #[inline]
800 pub fn very_high_speed(self) -> &'a mut W {
801 self.variant(OSPEEDR15W::VERYHIGHSPEED)
802 }
803 #[doc = r" Writes raw bits to the field"]
804 #[inline]
805 pub fn bits(self, value: u8) -> &'a mut W {
806 const MASK: u8 = 3;
807 const OFFSET: u8 = 2;
808 self.w.bits &= !((MASK as u32) << OFFSET);
809 self.w.bits |= ((value & MASK) as u32) << OFFSET;
810 self.w
811 }
812}
813#[doc = "Values that can be written to the field `OSPEEDR0`"]
814pub type OSPEEDR0W = OSPEEDR15W;
815#[doc = r" Proxy"]
816pub struct _OSPEEDR0W<'a> {
817 w: &'a mut W,
818}
819impl<'a> _OSPEEDR0W<'a> {
820 #[doc = r" Writes `variant` to the field"]
821 #[inline]
822 pub fn variant(self, variant: OSPEEDR0W) -> &'a mut W {
823 {
824 self.bits(variant._bits())
825 }
826 }
827 #[doc = "Low speed"]
828 #[inline]
829 pub fn low_speed(self) -> &'a mut W {
830 self.variant(OSPEEDR15W::LOWSPEED)
831 }
832 #[doc = "Medium speed"]
833 #[inline]
834 pub fn medium_speed(self) -> &'a mut W {
835 self.variant(OSPEEDR15W::MEDIUMSPEED)
836 }
837 #[doc = "High speed"]
838 #[inline]
839 pub fn high_speed(self) -> &'a mut W {
840 self.variant(OSPEEDR15W::HIGHSPEED)
841 }
842 #[doc = "Very high speed"]
843 #[inline]
844 pub fn very_high_speed(self) -> &'a mut W {
845 self.variant(OSPEEDR15W::VERYHIGHSPEED)
846 }
847 #[doc = r" Writes raw bits to the field"]
848 #[inline]
849 pub fn bits(self, value: u8) -> &'a mut W {
850 const MASK: u8 = 3;
851 const OFFSET: u8 = 0;
852 self.w.bits &= !((MASK as u32) << OFFSET);
853 self.w.bits |= ((value & MASK) as u32) << OFFSET;
854 self.w
855 }
856}
857impl R {
858 #[doc = r" Value of the register as raw bits"]
859 #[inline]
860 pub fn bits(&self) -> u32 {
861 self.bits
862 }
863 #[doc = "Bits 30:31 - Port x configuration bits (y = 0..15)"]
864 #[inline]
865 pub fn ospeedr15(&self) -> OSPEEDR15R {
866 OSPEEDR15R::_from({
867 const MASK: u8 = 3;
868 const OFFSET: u8 = 30;
869 ((self.bits >> OFFSET) & MASK as u32) as u8
870 })
871 }
872 #[doc = "Bits 28:29 - Port x configuration bits (y = 0..15)"]
873 #[inline]
874 pub fn ospeedr14(&self) -> OSPEEDR14R {
875 OSPEEDR14R::_from({
876 const MASK: u8 = 3;
877 const OFFSET: u8 = 28;
878 ((self.bits >> OFFSET) & MASK as u32) as u8
879 })
880 }
881 #[doc = "Bits 26:27 - Port x configuration bits (y = 0..15)"]
882 #[inline]
883 pub fn ospeedr13(&self) -> OSPEEDR13R {
884 OSPEEDR13R::_from({
885 const MASK: u8 = 3;
886 const OFFSET: u8 = 26;
887 ((self.bits >> OFFSET) & MASK as u32) as u8
888 })
889 }
890 #[doc = "Bits 24:25 - Port x configuration bits (y = 0..15)"]
891 #[inline]
892 pub fn ospeedr12(&self) -> OSPEEDR12R {
893 OSPEEDR12R::_from({
894 const MASK: u8 = 3;
895 const OFFSET: u8 = 24;
896 ((self.bits >> OFFSET) & MASK as u32) as u8
897 })
898 }
899 #[doc = "Bits 22:23 - Port x configuration bits (y = 0..15)"]
900 #[inline]
901 pub fn ospeedr11(&self) -> OSPEEDR11R {
902 OSPEEDR11R::_from({
903 const MASK: u8 = 3;
904 const OFFSET: u8 = 22;
905 ((self.bits >> OFFSET) & MASK as u32) as u8
906 })
907 }
908 #[doc = "Bits 20:21 - Port x configuration bits (y = 0..15)"]
909 #[inline]
910 pub fn ospeedr10(&self) -> OSPEEDR10R {
911 OSPEEDR10R::_from({
912 const MASK: u8 = 3;
913 const OFFSET: u8 = 20;
914 ((self.bits >> OFFSET) & MASK as u32) as u8
915 })
916 }
917 #[doc = "Bits 18:19 - Port x configuration bits (y = 0..15)"]
918 #[inline]
919 pub fn ospeedr9(&self) -> OSPEEDR9R {
920 OSPEEDR9R::_from({
921 const MASK: u8 = 3;
922 const OFFSET: u8 = 18;
923 ((self.bits >> OFFSET) & MASK as u32) as u8
924 })
925 }
926 #[doc = "Bits 16:17 - Port x configuration bits (y = 0..15)"]
927 #[inline]
928 pub fn ospeedr8(&self) -> OSPEEDR8R {
929 OSPEEDR8R::_from({
930 const MASK: u8 = 3;
931 const OFFSET: u8 = 16;
932 ((self.bits >> OFFSET) & MASK as u32) as u8
933 })
934 }
935 #[doc = "Bits 14:15 - Port x configuration bits (y = 0..15)"]
936 #[inline]
937 pub fn ospeedr7(&self) -> OSPEEDR7R {
938 OSPEEDR7R::_from({
939 const MASK: u8 = 3;
940 const OFFSET: u8 = 14;
941 ((self.bits >> OFFSET) & MASK as u32) as u8
942 })
943 }
944 #[doc = "Bits 12:13 - Port x configuration bits (y = 0..15)"]
945 #[inline]
946 pub fn ospeedr6(&self) -> OSPEEDR6R {
947 OSPEEDR6R::_from({
948 const MASK: u8 = 3;
949 const OFFSET: u8 = 12;
950 ((self.bits >> OFFSET) & MASK as u32) as u8
951 })
952 }
953 #[doc = "Bits 10:11 - Port x configuration bits (y = 0..15)"]
954 #[inline]
955 pub fn ospeedr5(&self) -> OSPEEDR5R {
956 OSPEEDR5R::_from({
957 const MASK: u8 = 3;
958 const OFFSET: u8 = 10;
959 ((self.bits >> OFFSET) & MASK as u32) as u8
960 })
961 }
962 #[doc = "Bits 8:9 - Port x configuration bits (y = 0..15)"]
963 #[inline]
964 pub fn ospeedr4(&self) -> OSPEEDR4R {
965 OSPEEDR4R::_from({
966 const MASK: u8 = 3;
967 const OFFSET: u8 = 8;
968 ((self.bits >> OFFSET) & MASK as u32) as u8
969 })
970 }
971 #[doc = "Bits 6:7 - Port x configuration bits (y = 0..15)"]
972 #[inline]
973 pub fn ospeedr3(&self) -> OSPEEDR3R {
974 OSPEEDR3R::_from({
975 const MASK: u8 = 3;
976 const OFFSET: u8 = 6;
977 ((self.bits >> OFFSET) & MASK as u32) as u8
978 })
979 }
980 #[doc = "Bits 4:5 - Port x configuration bits (y = 0..15)"]
981 #[inline]
982 pub fn ospeedr2(&self) -> OSPEEDR2R {
983 OSPEEDR2R::_from({
984 const MASK: u8 = 3;
985 const OFFSET: u8 = 4;
986 ((self.bits >> OFFSET) & MASK as u32) as u8
987 })
988 }
989 #[doc = "Bits 2:3 - Port x configuration bits (y = 0..15)"]
990 #[inline]
991 pub fn ospeedr1(&self) -> OSPEEDR1R {
992 OSPEEDR1R::_from({
993 const MASK: u8 = 3;
994 const OFFSET: u8 = 2;
995 ((self.bits >> OFFSET) & MASK as u32) as u8
996 })
997 }
998 #[doc = "Bits 0:1 - Port x configuration bits (y = 0..15)"]
999 #[inline]
1000 pub fn ospeedr0(&self) -> OSPEEDR0R {
1001 OSPEEDR0R::_from({
1002 const MASK: u8 = 3;
1003 const OFFSET: u8 = 0;
1004 ((self.bits >> OFFSET) & MASK as u32) as u8
1005 })
1006 }
1007}
1008impl W {
1009 #[doc = r" Reset value of the register"]
1010 #[inline]
1011 pub fn reset_value() -> W {
1012 W { bits: 0 }
1013 }
1014 #[doc = r" Writes raw bits to the register"]
1015 #[inline]
1016 pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
1017 self.bits = bits;
1018 self
1019 }
1020 #[doc = "Bits 30:31 - Port x configuration bits (y = 0..15)"]
1021 #[inline]
1022 pub fn ospeedr15(&mut self) -> _OSPEEDR15W {
1023 _OSPEEDR15W { w: self }
1024 }
1025 #[doc = "Bits 28:29 - Port x configuration bits (y = 0..15)"]
1026 #[inline]
1027 pub fn ospeedr14(&mut self) -> _OSPEEDR14W {
1028 _OSPEEDR14W { w: self }
1029 }
1030 #[doc = "Bits 26:27 - Port x configuration bits (y = 0..15)"]
1031 #[inline]
1032 pub fn ospeedr13(&mut self) -> _OSPEEDR13W {
1033 _OSPEEDR13W { w: self }
1034 }
1035 #[doc = "Bits 24:25 - Port x configuration bits (y = 0..15)"]
1036 #[inline]
1037 pub fn ospeedr12(&mut self) -> _OSPEEDR12W {
1038 _OSPEEDR12W { w: self }
1039 }
1040 #[doc = "Bits 22:23 - Port x configuration bits (y = 0..15)"]
1041 #[inline]
1042 pub fn ospeedr11(&mut self) -> _OSPEEDR11W {
1043 _OSPEEDR11W { w: self }
1044 }
1045 #[doc = "Bits 20:21 - Port x configuration bits (y = 0..15)"]
1046 #[inline]
1047 pub fn ospeedr10(&mut self) -> _OSPEEDR10W {
1048 _OSPEEDR10W { w: self }
1049 }
1050 #[doc = "Bits 18:19 - Port x configuration bits (y = 0..15)"]
1051 #[inline]
1052 pub fn ospeedr9(&mut self) -> _OSPEEDR9W {
1053 _OSPEEDR9W { w: self }
1054 }
1055 #[doc = "Bits 16:17 - Port x configuration bits (y = 0..15)"]
1056 #[inline]
1057 pub fn ospeedr8(&mut self) -> _OSPEEDR8W {
1058 _OSPEEDR8W { w: self }
1059 }
1060 #[doc = "Bits 14:15 - Port x configuration bits (y = 0..15)"]
1061 #[inline]
1062 pub fn ospeedr7(&mut self) -> _OSPEEDR7W {
1063 _OSPEEDR7W { w: self }
1064 }
1065 #[doc = "Bits 12:13 - Port x configuration bits (y = 0..15)"]
1066 #[inline]
1067 pub fn ospeedr6(&mut self) -> _OSPEEDR6W {
1068 _OSPEEDR6W { w: self }
1069 }
1070 #[doc = "Bits 10:11 - Port x configuration bits (y = 0..15)"]
1071 #[inline]
1072 pub fn ospeedr5(&mut self) -> _OSPEEDR5W {
1073 _OSPEEDR5W { w: self }
1074 }
1075 #[doc = "Bits 8:9 - Port x configuration bits (y = 0..15)"]
1076 #[inline]
1077 pub fn ospeedr4(&mut self) -> _OSPEEDR4W {
1078 _OSPEEDR4W { w: self }
1079 }
1080 #[doc = "Bits 6:7 - Port x configuration bits (y = 0..15)"]
1081 #[inline]
1082 pub fn ospeedr3(&mut self) -> _OSPEEDR3W {
1083 _OSPEEDR3W { w: self }
1084 }
1085 #[doc = "Bits 4:5 - Port x configuration bits (y = 0..15)"]
1086 #[inline]
1087 pub fn ospeedr2(&mut self) -> _OSPEEDR2W {
1088 _OSPEEDR2W { w: self }
1089 }
1090 #[doc = "Bits 2:3 - Port x configuration bits (y = 0..15)"]
1091 #[inline]
1092 pub fn ospeedr1(&mut self) -> _OSPEEDR1W {
1093 _OSPEEDR1W { w: self }
1094 }
1095 #[doc = "Bits 0:1 - Port x configuration bits (y = 0..15)"]
1096 #[inline]
1097 pub fn ospeedr0(&mut self) -> _OSPEEDR0W {
1098 _OSPEEDR0W { w: self }
1099 }
1100}