stm32g0/stm32g070/tim1/
ccmr2_output.rs1pub type R = crate::R<CCMR2_OUTPUTrs>;
3pub type W = crate::W<CCMR2_OUTPUTrs>;
5pub use super::ccmr1_output::CC1S;
7pub use super::ccmr1_output::CCS_R;
9pub use super::ccmr1_output::CCS_W;
11pub use super::ccmr1_output::OC1CE;
13pub use super::ccmr1_output::OC1FE;
15pub use super::ccmr1_output::OC1M;
17pub use super::ccmr1_output::OC1M_3;
19pub use super::ccmr1_output::OC1PE;
21pub use super::ccmr1_output::OCCE_R;
23pub use super::ccmr1_output::OCCE_W;
25pub use super::ccmr1_output::OCFE_R;
27pub use super::ccmr1_output::OCFE_W;
29pub use super::ccmr1_output::OCM_3_R;
31pub use super::ccmr1_output::OCM_3_W;
33pub use super::ccmr1_output::OCM_R;
35pub use super::ccmr1_output::OCM_W;
37pub use super::ccmr1_output::OCPE_R;
39pub use super::ccmr1_output::OCPE_W;
41impl R {
42 #[inline(always)]
46 pub fn ccs(&self, n: u8) -> CCS_R {
47 #[allow(clippy::no_effect)]
48 [(); 2][n as usize];
49 CCS_R::new(((self.bits >> (n * 8)) & 3) as u8)
50 }
51 #[inline(always)]
54 pub fn ccs_iter(&self) -> impl Iterator<Item = CCS_R> + '_ {
55 (0..2).map(move |n| CCS_R::new(((self.bits >> (n * 8)) & 3) as u8))
56 }
57 #[inline(always)]
59 pub fn cc3s(&self) -> CCS_R {
60 CCS_R::new((self.bits & 3) as u8)
61 }
62 #[inline(always)]
64 pub fn cc4s(&self) -> CCS_R {
65 CCS_R::new(((self.bits >> 8) & 3) as u8)
66 }
67 #[inline(always)]
71 pub fn ocfe(&self, n: u8) -> OCFE_R {
72 #[allow(clippy::no_effect)]
73 [(); 2][n as usize];
74 OCFE_R::new(((self.bits >> (n * 8 + 2)) & 1) != 0)
75 }
76 #[inline(always)]
79 pub fn ocfe_iter(&self) -> impl Iterator<Item = OCFE_R> + '_ {
80 (0..2).map(move |n| OCFE_R::new(((self.bits >> (n * 8 + 2)) & 1) != 0))
81 }
82 #[inline(always)]
84 pub fn oc3fe(&self) -> OCFE_R {
85 OCFE_R::new(((self.bits >> 2) & 1) != 0)
86 }
87 #[inline(always)]
89 pub fn oc4fe(&self) -> OCFE_R {
90 OCFE_R::new(((self.bits >> 10) & 1) != 0)
91 }
92 #[inline(always)]
96 pub fn ocpe(&self, n: u8) -> OCPE_R {
97 #[allow(clippy::no_effect)]
98 [(); 2][n as usize];
99 OCPE_R::new(((self.bits >> (n * 8 + 3)) & 1) != 0)
100 }
101 #[inline(always)]
104 pub fn ocpe_iter(&self) -> impl Iterator<Item = OCPE_R> + '_ {
105 (0..2).map(move |n| OCPE_R::new(((self.bits >> (n * 8 + 3)) & 1) != 0))
106 }
107 #[inline(always)]
109 pub fn oc3pe(&self) -> OCPE_R {
110 OCPE_R::new(((self.bits >> 3) & 1) != 0)
111 }
112 #[inline(always)]
114 pub fn oc4pe(&self) -> OCPE_R {
115 OCPE_R::new(((self.bits >> 11) & 1) != 0)
116 }
117 #[inline(always)]
121 pub fn ocm(&self, n: u8) -> OCM_R {
122 #[allow(clippy::no_effect)]
123 [(); 2][n as usize];
124 OCM_R::new(((self.bits >> (n * 8 + 4)) & 7) as u8)
125 }
126 #[inline(always)]
129 pub fn ocm_iter(&self) -> impl Iterator<Item = OCM_R> + '_ {
130 (0..2).map(move |n| OCM_R::new(((self.bits >> (n * 8 + 4)) & 7) as u8))
131 }
132 #[inline(always)]
134 pub fn oc3m(&self) -> OCM_R {
135 OCM_R::new(((self.bits >> 4) & 7) as u8)
136 }
137 #[inline(always)]
139 pub fn oc4m(&self) -> OCM_R {
140 OCM_R::new(((self.bits >> 12) & 7) as u8)
141 }
142 #[inline(always)]
146 pub fn occe(&self, n: u8) -> OCCE_R {
147 #[allow(clippy::no_effect)]
148 [(); 2][n as usize];
149 OCCE_R::new(((self.bits >> (n * 8 + 7)) & 1) != 0)
150 }
151 #[inline(always)]
154 pub fn occe_iter(&self) -> impl Iterator<Item = OCCE_R> + '_ {
155 (0..2).map(move |n| OCCE_R::new(((self.bits >> (n * 8 + 7)) & 1) != 0))
156 }
157 #[inline(always)]
159 pub fn oc3ce(&self) -> OCCE_R {
160 OCCE_R::new(((self.bits >> 7) & 1) != 0)
161 }
162 #[inline(always)]
164 pub fn oc4ce(&self) -> OCCE_R {
165 OCCE_R::new(((self.bits >> 15) & 1) != 0)
166 }
167 #[inline(always)]
171 pub fn ocm_3(&self, n: u8) -> OCM_3_R {
172 #[allow(clippy::no_effect)]
173 [(); 2][n as usize];
174 OCM_3_R::new(((self.bits >> (n * 8 + 16)) & 1) != 0)
175 }
176 #[inline(always)]
179 pub fn ocm_3_iter(&self) -> impl Iterator<Item = OCM_3_R> + '_ {
180 (0..2).map(move |n| OCM_3_R::new(((self.bits >> (n * 8 + 16)) & 1) != 0))
181 }
182 #[inline(always)]
184 pub fn oc3m_3(&self) -> OCM_3_R {
185 OCM_3_R::new(((self.bits >> 16) & 1) != 0)
186 }
187 #[inline(always)]
189 pub fn oc4m_3(&self) -> OCM_3_R {
190 OCM_3_R::new(((self.bits >> 24) & 1) != 0)
191 }
192}
193impl core::fmt::Debug for R {
194 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
195 f.debug_struct("CCMR2_Output")
196 .field("cc3s", &self.cc3s())
197 .field("cc4s", &self.cc4s())
198 .field("oc3fe", &self.oc3fe())
199 .field("oc4fe", &self.oc4fe())
200 .field("oc3pe", &self.oc3pe())
201 .field("oc4pe", &self.oc4pe())
202 .field("oc3m", &self.oc3m())
203 .field("oc4m", &self.oc4m())
204 .field("oc3ce", &self.oc3ce())
205 .field("oc4ce", &self.oc4ce())
206 .field("oc3m_3", &self.oc3m_3())
207 .field("oc4m_3", &self.oc4m_3())
208 .finish()
209 }
210}
211impl W {
212 #[inline(always)]
216 pub fn ccs(&mut self, n: u8) -> CCS_W<CCMR2_OUTPUTrs> {
217 #[allow(clippy::no_effect)]
218 [(); 2][n as usize];
219 CCS_W::new(self, n * 8)
220 }
221 #[inline(always)]
223 pub fn cc3s(&mut self) -> CCS_W<CCMR2_OUTPUTrs> {
224 CCS_W::new(self, 0)
225 }
226 #[inline(always)]
228 pub fn cc4s(&mut self) -> CCS_W<CCMR2_OUTPUTrs> {
229 CCS_W::new(self, 8)
230 }
231 #[inline(always)]
235 pub fn ocfe(&mut self, n: u8) -> OCFE_W<CCMR2_OUTPUTrs> {
236 #[allow(clippy::no_effect)]
237 [(); 2][n as usize];
238 OCFE_W::new(self, n * 8 + 2)
239 }
240 #[inline(always)]
242 pub fn oc3fe(&mut self) -> OCFE_W<CCMR2_OUTPUTrs> {
243 OCFE_W::new(self, 2)
244 }
245 #[inline(always)]
247 pub fn oc4fe(&mut self) -> OCFE_W<CCMR2_OUTPUTrs> {
248 OCFE_W::new(self, 10)
249 }
250 #[inline(always)]
254 pub fn ocpe(&mut self, n: u8) -> OCPE_W<CCMR2_OUTPUTrs> {
255 #[allow(clippy::no_effect)]
256 [(); 2][n as usize];
257 OCPE_W::new(self, n * 8 + 3)
258 }
259 #[inline(always)]
261 pub fn oc3pe(&mut self) -> OCPE_W<CCMR2_OUTPUTrs> {
262 OCPE_W::new(self, 3)
263 }
264 #[inline(always)]
266 pub fn oc4pe(&mut self) -> OCPE_W<CCMR2_OUTPUTrs> {
267 OCPE_W::new(self, 11)
268 }
269 #[inline(always)]
273 pub fn ocm(&mut self, n: u8) -> OCM_W<CCMR2_OUTPUTrs> {
274 #[allow(clippy::no_effect)]
275 [(); 2][n as usize];
276 OCM_W::new(self, n * 8 + 4)
277 }
278 #[inline(always)]
280 pub fn oc3m(&mut self) -> OCM_W<CCMR2_OUTPUTrs> {
281 OCM_W::new(self, 4)
282 }
283 #[inline(always)]
285 pub fn oc4m(&mut self) -> OCM_W<CCMR2_OUTPUTrs> {
286 OCM_W::new(self, 12)
287 }
288 #[inline(always)]
292 pub fn occe(&mut self, n: u8) -> OCCE_W<CCMR2_OUTPUTrs> {
293 #[allow(clippy::no_effect)]
294 [(); 2][n as usize];
295 OCCE_W::new(self, n * 8 + 7)
296 }
297 #[inline(always)]
299 pub fn oc3ce(&mut self) -> OCCE_W<CCMR2_OUTPUTrs> {
300 OCCE_W::new(self, 7)
301 }
302 #[inline(always)]
304 pub fn oc4ce(&mut self) -> OCCE_W<CCMR2_OUTPUTrs> {
305 OCCE_W::new(self, 15)
306 }
307 #[inline(always)]
311 pub fn ocm_3(&mut self, n: u8) -> OCM_3_W<CCMR2_OUTPUTrs> {
312 #[allow(clippy::no_effect)]
313 [(); 2][n as usize];
314 OCM_3_W::new(self, n * 8 + 16)
315 }
316 #[inline(always)]
318 pub fn oc3m_3(&mut self) -> OCM_3_W<CCMR2_OUTPUTrs> {
319 OCM_3_W::new(self, 16)
320 }
321 #[inline(always)]
323 pub fn oc4m_3(&mut self) -> OCM_3_W<CCMR2_OUTPUTrs> {
324 OCM_3_W::new(self, 24)
325 }
326}
327pub struct CCMR2_OUTPUTrs;
333impl crate::RegisterSpec for CCMR2_OUTPUTrs {
334 type Ux = u32;
335}
336impl crate::Readable for CCMR2_OUTPUTrs {}
338impl crate::Writable for CCMR2_OUTPUTrs {
340 type Safety = crate::Unsafe;
341}
342impl crate::Resettable for CCMR2_OUTPUTrs {}