stm32g4_staging/stm32g431/gpioc/
ospeedr.rs1pub type R = crate::R<OSPEEDRrs>;
3pub type W = crate::W<OSPEEDRrs>;
5pub use crate::stm32g431::gpioa::ospeedr::OSPEEDR_R;
7pub use crate::stm32g431::gpioa::ospeedr::OSPEEDR_W;
9pub use crate::stm32g431::gpioa::ospeedr::OUTPUT_SPEED;
11impl R {
12 #[inline(always)]
16 pub fn ospeedr(&self, n: u8) -> OSPEEDR_R {
17 #[allow(clippy::no_effect)] [(); 16][n as usize];
18 OSPEEDR_R::new(((self.bits >> (n * 2)) & 3) as u8)
19 }
20 #[inline(always)]
23 pub fn ospeedr_iter(&self) -> impl Iterator<Item = OSPEEDR_R> + '_ {
24 (0..16).map(move |n| OSPEEDR_R::new(((self.bits >> (n * 2)) & 3) as u8))
25 }
26 #[inline(always)]
28 pub fn ospeedr0(&self) -> OSPEEDR_R {
29 OSPEEDR_R::new((self.bits & 3) as u8)
30 }
31 #[inline(always)]
33 pub fn ospeedr1(&self) -> OSPEEDR_R {
34 OSPEEDR_R::new(((self.bits >> 2) & 3) as u8)
35 }
36 #[inline(always)]
38 pub fn ospeedr2(&self) -> OSPEEDR_R {
39 OSPEEDR_R::new(((self.bits >> 4) & 3) as u8)
40 }
41 #[inline(always)]
43 pub fn ospeedr3(&self) -> OSPEEDR_R {
44 OSPEEDR_R::new(((self.bits >> 6) & 3) as u8)
45 }
46 #[inline(always)]
48 pub fn ospeedr4(&self) -> OSPEEDR_R {
49 OSPEEDR_R::new(((self.bits >> 8) & 3) as u8)
50 }
51 #[inline(always)]
53 pub fn ospeedr5(&self) -> OSPEEDR_R {
54 OSPEEDR_R::new(((self.bits >> 10) & 3) as u8)
55 }
56 #[inline(always)]
58 pub fn ospeedr6(&self) -> OSPEEDR_R {
59 OSPEEDR_R::new(((self.bits >> 12) & 3) as u8)
60 }
61 #[inline(always)]
63 pub fn ospeedr7(&self) -> OSPEEDR_R {
64 OSPEEDR_R::new(((self.bits >> 14) & 3) as u8)
65 }
66 #[inline(always)]
68 pub fn ospeedr8(&self) -> OSPEEDR_R {
69 OSPEEDR_R::new(((self.bits >> 16) & 3) as u8)
70 }
71 #[inline(always)]
73 pub fn ospeedr9(&self) -> OSPEEDR_R {
74 OSPEEDR_R::new(((self.bits >> 18) & 3) as u8)
75 }
76 #[inline(always)]
78 pub fn ospeedr10(&self) -> OSPEEDR_R {
79 OSPEEDR_R::new(((self.bits >> 20) & 3) as u8)
80 }
81 #[inline(always)]
83 pub fn ospeedr11(&self) -> OSPEEDR_R {
84 OSPEEDR_R::new(((self.bits >> 22) & 3) as u8)
85 }
86 #[inline(always)]
88 pub fn ospeedr12(&self) -> OSPEEDR_R {
89 OSPEEDR_R::new(((self.bits >> 24) & 3) as u8)
90 }
91 #[inline(always)]
93 pub fn ospeedr13(&self) -> OSPEEDR_R {
94 OSPEEDR_R::new(((self.bits >> 26) & 3) as u8)
95 }
96 #[inline(always)]
98 pub fn ospeedr14(&self) -> OSPEEDR_R {
99 OSPEEDR_R::new(((self.bits >> 28) & 3) as u8)
100 }
101 #[inline(always)]
103 pub fn ospeedr15(&self) -> OSPEEDR_R {
104 OSPEEDR_R::new(((self.bits >> 30) & 3) as u8)
105 }
106}
107impl core::fmt::Debug for R {
108 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
109 f.debug_struct("OSPEEDR")
110 .field("ospeedr0", &self.ospeedr0())
111 .field("ospeedr1", &self.ospeedr1())
112 .field("ospeedr2", &self.ospeedr2())
113 .field("ospeedr3", &self.ospeedr3())
114 .field("ospeedr4", &self.ospeedr4())
115 .field("ospeedr5", &self.ospeedr5())
116 .field("ospeedr6", &self.ospeedr6())
117 .field("ospeedr7", &self.ospeedr7())
118 .field("ospeedr8", &self.ospeedr8())
119 .field("ospeedr9", &self.ospeedr9())
120 .field("ospeedr10", &self.ospeedr10())
121 .field("ospeedr11", &self.ospeedr11())
122 .field("ospeedr12", &self.ospeedr12())
123 .field("ospeedr13", &self.ospeedr13())
124 .field("ospeedr14", &self.ospeedr14())
125 .field("ospeedr15", &self.ospeedr15())
126 .finish()
127 }
128}
129impl W {
130 #[inline(always)]
134 pub fn ospeedr(&mut self, n: u8) -> OSPEEDR_W<OSPEEDRrs> {
135 #[allow(clippy::no_effect)] [(); 16][n as usize];
136 OSPEEDR_W::new(self, n * 2)
137 }
138 #[inline(always)]
140 pub fn ospeedr0(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
141 OSPEEDR_W::new(self, 0)
142 }
143 #[inline(always)]
145 pub fn ospeedr1(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
146 OSPEEDR_W::new(self, 2)
147 }
148 #[inline(always)]
150 pub fn ospeedr2(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
151 OSPEEDR_W::new(self, 4)
152 }
153 #[inline(always)]
155 pub fn ospeedr3(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
156 OSPEEDR_W::new(self, 6)
157 }
158 #[inline(always)]
160 pub fn ospeedr4(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
161 OSPEEDR_W::new(self, 8)
162 }
163 #[inline(always)]
165 pub fn ospeedr5(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
166 OSPEEDR_W::new(self, 10)
167 }
168 #[inline(always)]
170 pub fn ospeedr6(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
171 OSPEEDR_W::new(self, 12)
172 }
173 #[inline(always)]
175 pub fn ospeedr7(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
176 OSPEEDR_W::new(self, 14)
177 }
178 #[inline(always)]
180 pub fn ospeedr8(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
181 OSPEEDR_W::new(self, 16)
182 }
183 #[inline(always)]
185 pub fn ospeedr9(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
186 OSPEEDR_W::new(self, 18)
187 }
188 #[inline(always)]
190 pub fn ospeedr10(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
191 OSPEEDR_W::new(self, 20)
192 }
193 #[inline(always)]
195 pub fn ospeedr11(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
196 OSPEEDR_W::new(self, 22)
197 }
198 #[inline(always)]
200 pub fn ospeedr12(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
201 OSPEEDR_W::new(self, 24)
202 }
203 #[inline(always)]
205 pub fn ospeedr13(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
206 OSPEEDR_W::new(self, 26)
207 }
208 #[inline(always)]
210 pub fn ospeedr14(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
211 OSPEEDR_W::new(self, 28)
212 }
213 #[inline(always)]
215 pub fn ospeedr15(&mut self) -> OSPEEDR_W<OSPEEDRrs> {
216 OSPEEDR_W::new(self, 30)
217 }
218}
219pub struct OSPEEDRrs;
225impl crate::RegisterSpec for OSPEEDRrs {
226 type Ux = u32;
227}
228impl crate::Readable for OSPEEDRrs {}
230impl crate::Writable for OSPEEDRrs {
232 type Safety = crate::Unsafe;
233}
234impl crate::Resettable for OSPEEDRrs {}