stm32f4_staging/stm32f401/gpioh/
ospeedr.rs1pub type R = crate::R<OSPEEDRrs>;
3pub type W = crate::W<OSPEEDRrs>;
5pub use crate::stm32f401::gpioa::ospeedr::OSPEEDR_R;
7pub use crate::stm32f401::gpioa::ospeedr::OSPEEDR_W;
9pub use crate::stm32f401::gpioa::ospeedr::OUTPUT_SPEED;
11impl R {
12 #[inline(always)]
16 pub fn ospeedr(&self, n: u8) -> OSPEEDR_R {
17 #[allow(clippy::no_effect)]
18 [(); 16][n as usize];
19 OSPEEDR_R::new(((self.bits >> (n * 2)) & 3) as u8)
20 }
21 #[inline(always)]
24 pub fn ospeedr_iter(&self) -> impl Iterator<Item = OSPEEDR_R> + '_ {
25 (0..16).map(move |n| OSPEEDR_R::new(((self.bits >> (n * 2)) & 3) as u8))
26 }
27 #[inline(always)]
29 pub fn ospeedr0(&self) -> OSPEEDR_R {
30 OSPEEDR_R::new((self.bits & 3) as u8)
31 }
32 #[inline(always)]
34 pub fn ospeedr1(&self) -> OSPEEDR_R {
35 OSPEEDR_R::new(((self.bits >> 2) & 3) as u8)
36 }
37 #[inline(always)]
39 pub fn ospeedr2(&self) -> OSPEEDR_R {
40 OSPEEDR_R::new(((self.bits >> 4) & 3) as u8)
41 }
42 #[inline(always)]
44 pub fn ospeedr3(&self) -> OSPEEDR_R {
45 OSPEEDR_R::new(((self.bits >> 6) & 3) as u8)
46 }
47 #[inline(always)]
49 pub fn ospeedr4(&self) -> OSPEEDR_R {
50 OSPEEDR_R::new(((self.bits >> 8) & 3) as u8)
51 }
52 #[inline(always)]
54 pub fn ospeedr5(&self) -> OSPEEDR_R {
55 OSPEEDR_R::new(((self.bits >> 10) & 3) as u8)
56 }
57 #[inline(always)]
59 pub fn ospeedr6(&self) -> OSPEEDR_R {
60 OSPEEDR_R::new(((self.bits >> 12) & 3) as u8)
61 }
62 #[inline(always)]
64 pub fn ospeedr7(&self) -> OSPEEDR_R {
65 OSPEEDR_R::new(((self.bits >> 14) & 3) as u8)
66 }
67 #[inline(always)]
69 pub fn ospeedr8(&self) -> OSPEEDR_R {
70 OSPEEDR_R::new(((self.bits >> 16) & 3) as u8)
71 }
72 #[inline(always)]
74 pub fn ospeedr9(&self) -> OSPEEDR_R {
75 OSPEEDR_R::new(((self.bits >> 18) & 3) as u8)
76 }
77 #[inline(always)]
79 pub fn ospeedr10(&self) -> OSPEEDR_R {
80 OSPEEDR_R::new(((self.bits >> 20) & 3) as u8)
81 }
82 #[inline(always)]
84 pub fn ospeedr11(&self) -> OSPEEDR_R {
85 OSPEEDR_R::new(((self.bits >> 22) & 3) as u8)
86 }
87 #[inline(always)]
89 pub fn ospeedr12(&self) -> OSPEEDR_R {
90 OSPEEDR_R::new(((self.bits >> 24) & 3) as u8)
91 }
92 #[inline(always)]
94 pub fn ospeedr13(&self) -> OSPEEDR_R {
95 OSPEEDR_R::new(((self.bits >> 26) & 3) as u8)
96 }
97 #[inline(always)]
99 pub fn ospeedr14(&self) -> OSPEEDR_R {
100 OSPEEDR_R::new(((self.bits >> 28) & 3) as u8)
101 }
102 #[inline(always)]
104 pub fn ospeedr15(&self) -> OSPEEDR_R {
105 OSPEEDR_R::new(((self.bits >> 30) & 3) as u8)
106 }
107}
108impl core::fmt::Debug for R {
109 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
110 f.debug_struct("OSPEEDR")
111 .field("ospeedr0", &self.ospeedr0())
112 .field("ospeedr1", &self.ospeedr1())
113 .field("ospeedr2", &self.ospeedr2())
114 .field("ospeedr3", &self.ospeedr3())
115 .field("ospeedr4", &self.ospeedr4())
116 .field("ospeedr5", &self.ospeedr5())
117 .field("ospeedr6", &self.ospeedr6())
118 .field("ospeedr7", &self.ospeedr7())
119 .field("ospeedr8", &self.ospeedr8())
120 .field("ospeedr9", &self.ospeedr9())
121 .field("ospeedr10", &self.ospeedr10())
122 .field("ospeedr11", &self.ospeedr11())
123 .field("ospeedr12", &self.ospeedr12())
124 .field("ospeedr13", &self.ospeedr13())
125 .field("ospeedr14", &self.ospeedr14())
126 .field("ospeedr15", &self.ospeedr15())
127 .finish()
128 }
129}
130impl W {
131 #[inline(always)]
135 pub fn ospeedr(&mut self, n: u8) -> OSPEEDR_W<OSPEEDRrs> {
136 #[allow(clippy::no_effect)]
137 [(); 16][n as usize];
138 OSPEEDR_W::new(self, n * 2)
139 }
140 #[inline(always)]
142 pub fn ospeedr0(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
143 OSPEEDR_W::new(self, 0)
144 }
145 #[inline(always)]
147 pub fn ospeedr1(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
148 OSPEEDR_W::new(self, 2)
149 }
150 #[inline(always)]
152 pub fn ospeedr2(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
153 OSPEEDR_W::new(self, 4)
154 }
155 #[inline(always)]
157 pub fn ospeedr3(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
158 OSPEEDR_W::new(self, 6)
159 }
160 #[inline(always)]
162 pub fn ospeedr4(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
163 OSPEEDR_W::new(self, 8)
164 }
165 #[inline(always)]
167 pub fn ospeedr5(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
168 OSPEEDR_W::new(self, 10)
169 }
170 #[inline(always)]
172 pub fn ospeedr6(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
173 OSPEEDR_W::new(self, 12)
174 }
175 #[inline(always)]
177 pub fn ospeedr7(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
178 OSPEEDR_W::new(self, 14)
179 }
180 #[inline(always)]
182 pub fn ospeedr8(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
183 OSPEEDR_W::new(self, 16)
184 }
185 #[inline(always)]
187 pub fn ospeedr9(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
188 OSPEEDR_W::new(self, 18)
189 }
190 #[inline(always)]
192 pub fn ospeedr10(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
193 OSPEEDR_W::new(self, 20)
194 }
195 #[inline(always)]
197 pub fn ospeedr11(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
198 OSPEEDR_W::new(self, 22)
199 }
200 #[inline(always)]
202 pub fn ospeedr12(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
203 OSPEEDR_W::new(self, 24)
204 }
205 #[inline(always)]
207 pub fn ospeedr13(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
208 OSPEEDR_W::new(self, 26)
209 }
210 #[inline(always)]
212 pub fn ospeedr14(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
213 OSPEEDR_W::new(self, 28)
214 }
215 #[inline(always)]
217 pub fn ospeedr15(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
218 OSPEEDR_W::new(self, 30)
219 }
220}
221pub struct OSPEEDRrs;
227impl crate::RegisterSpec for OSPEEDRrs {
228 type Ux = u32;
229}
230impl crate::Readable for OSPEEDRrs {}
232impl crate::Writable for OSPEEDRrs {
234 type Safety = crate::Unsafe;
235}
236impl crate::Resettable for OSPEEDRrs {}