py32f0/py32f040/tim3/
ccmr2_output.rs1pub struct R(crate::R<CCMR2_OUTPUT_SPEC>);
3impl core::ops::Deref for R {
4 type Target = crate::R<CCMR2_OUTPUT_SPEC>;
5 #[inline(always)]
6 fn deref(&self) -> &Self::Target {
7 &self.0
8 }
9}
10impl From<crate::R<CCMR2_OUTPUT_SPEC>> for R {
11 #[inline(always)]
12 fn from(reader: crate::R<CCMR2_OUTPUT_SPEC>) -> Self {
13 R(reader)
14 }
15}
16pub struct W(crate::W<CCMR2_OUTPUT_SPEC>);
18impl core::ops::Deref for W {
19 type Target = crate::W<CCMR2_OUTPUT_SPEC>;
20 #[inline(always)]
21 fn deref(&self) -> &Self::Target {
22 &self.0
23 }
24}
25impl core::ops::DerefMut for W {
26 #[inline(always)]
27 fn deref_mut(&mut self) -> &mut Self::Target {
28 &mut self.0
29 }
30}
31impl From<crate::W<CCMR2_OUTPUT_SPEC>> for W {
32 #[inline(always)]
33 fn from(writer: crate::W<CCMR2_OUTPUT_SPEC>) -> Self {
34 W(writer)
35 }
36}
37pub type CC3S_R = crate::FieldReader<u8, CC3S_A>;
39#[derive(Clone, Copy, Debug, PartialEq, Eq)]
43#[repr(u8)]
44pub enum CC3S_A {
45 Output = 0,
47}
48impl From<CC3S_A> for u8 {
49 #[inline(always)]
50 fn from(variant: CC3S_A) -> Self {
51 variant as _
52 }
53}
54impl CC3S_R {
55 #[inline(always)]
57 pub fn variant(&self) -> Option<CC3S_A> {
58 match self.bits {
59 0 => Some(CC3S_A::Output),
60 _ => None,
61 }
62 }
63 #[inline(always)]
65 pub fn is_output(&self) -> bool {
66 *self == CC3S_A::Output
67 }
68}
69pub type CC3S_W<'a, const O: u8> = crate::FieldWriter<'a, u32, CCMR2_OUTPUT_SPEC, u8, CC3S_A, 2, O>;
71impl<'a, const O: u8> CC3S_W<'a, O> {
72 #[inline(always)]
74 pub fn output(self) -> &'a mut W {
75 self.variant(CC3S_A::Output)
76 }
77}
78pub type OC3FE_R = crate::BitReader<OC3FE_A>;
80#[derive(Clone, Copy, Debug, PartialEq, Eq)]
84pub enum OC3FE_A {
85 Disabled = 0,
87 Enabled = 1,
89}
90impl From<OC3FE_A> for bool {
91 #[inline(always)]
92 fn from(variant: OC3FE_A) -> Self {
93 variant as u8 != 0
94 }
95}
96impl OC3FE_R {
97 #[inline(always)]
99 pub fn variant(&self) -> OC3FE_A {
100 match self.bits {
101 false => OC3FE_A::Disabled,
102 true => OC3FE_A::Enabled,
103 }
104 }
105 #[inline(always)]
107 pub fn is_disabled(&self) -> bool {
108 *self == OC3FE_A::Disabled
109 }
110 #[inline(always)]
112 pub fn is_enabled(&self) -> bool {
113 *self == OC3FE_A::Enabled
114 }
115}
116pub type OC3FE_W<'a, const O: u8> = crate::BitWriter<'a, u32, CCMR2_OUTPUT_SPEC, OC3FE_A, O>;
118impl<'a, const O: u8> OC3FE_W<'a, O> {
119 #[inline(always)]
121 pub fn disabled(self) -> &'a mut W {
122 self.variant(OC3FE_A::Disabled)
123 }
124 #[inline(always)]
126 pub fn enabled(self) -> &'a mut W {
127 self.variant(OC3FE_A::Enabled)
128 }
129}
130pub type OC3PE_R = crate::BitReader<OC3PE_A>;
132#[derive(Clone, Copy, Debug, PartialEq, Eq)]
136pub enum OC3PE_A {
137 Disabled = 0,
139 Enabled = 1,
141}
142impl From<OC3PE_A> for bool {
143 #[inline(always)]
144 fn from(variant: OC3PE_A) -> Self {
145 variant as u8 != 0
146 }
147}
148impl OC3PE_R {
149 #[inline(always)]
151 pub fn variant(&self) -> OC3PE_A {
152 match self.bits {
153 false => OC3PE_A::Disabled,
154 true => OC3PE_A::Enabled,
155 }
156 }
157 #[inline(always)]
159 pub fn is_disabled(&self) -> bool {
160 *self == OC3PE_A::Disabled
161 }
162 #[inline(always)]
164 pub fn is_enabled(&self) -> bool {
165 *self == OC3PE_A::Enabled
166 }
167}
168pub type OC3PE_W<'a, const O: u8> = crate::BitWriter<'a, u32, CCMR2_OUTPUT_SPEC, OC3PE_A, O>;
170impl<'a, const O: u8> OC3PE_W<'a, O> {
171 #[inline(always)]
173 pub fn disabled(self) -> &'a mut W {
174 self.variant(OC3PE_A::Disabled)
175 }
176 #[inline(always)]
178 pub fn enabled(self) -> &'a mut W {
179 self.variant(OC3PE_A::Enabled)
180 }
181}
182pub type OC3M_R = crate::FieldReader<u8, u8>;
184pub type OC3M_W<'a, const O: u8> = crate::FieldWriter<'a, u32, CCMR2_OUTPUT_SPEC, u8, u8, 3, O>;
186pub type OC3CE_R = crate::BitReader<OC3CE_A>;
188#[derive(Clone, Copy, Debug, PartialEq, Eq)]
192pub enum OC3CE_A {
193 Disabled = 0,
195 Enabled = 1,
197}
198impl From<OC3CE_A> for bool {
199 #[inline(always)]
200 fn from(variant: OC3CE_A) -> Self {
201 variant as u8 != 0
202 }
203}
204impl OC3CE_R {
205 #[inline(always)]
207 pub fn variant(&self) -> OC3CE_A {
208 match self.bits {
209 false => OC3CE_A::Disabled,
210 true => OC3CE_A::Enabled,
211 }
212 }
213 #[inline(always)]
215 pub fn is_disabled(&self) -> bool {
216 *self == OC3CE_A::Disabled
217 }
218 #[inline(always)]
220 pub fn is_enabled(&self) -> bool {
221 *self == OC3CE_A::Enabled
222 }
223}
224pub type OC3CE_W<'a, const O: u8> = crate::BitWriter<'a, u32, CCMR2_OUTPUT_SPEC, OC3CE_A, O>;
226impl<'a, const O: u8> OC3CE_W<'a, O> {
227 #[inline(always)]
229 pub fn disabled(self) -> &'a mut W {
230 self.variant(OC3CE_A::Disabled)
231 }
232 #[inline(always)]
234 pub fn enabled(self) -> &'a mut W {
235 self.variant(OC3CE_A::Enabled)
236 }
237}
238pub use CC3S_R as CC4S_R;
240pub use CC3S_W as CC4S_W;
242pub type OC4FE_R = crate::BitReader<bool>;
244pub type OC4FE_W<'a, const O: u8> = crate::BitWriter<'a, u32, CCMR2_OUTPUT_SPEC, bool, O>;
246pub use OC3PE_R as OC4PE_R;
248pub use OC3PE_W as OC4PE_W;
250pub type OC4M_R = crate::FieldReader<u8, u8>;
252pub type OC4M_W<'a, const O: u8> = crate::FieldWriter<'a, u32, CCMR2_OUTPUT_SPEC, u8, u8, 3, O>;
254pub use OC3CE_R as OC4CE_R;
256pub use OC3CE_W as OC4CE_W;
258impl R {
259 #[inline(always)]
261 pub fn cc3s(&self) -> CC3S_R {
262 CC3S_R::new((self.bits & 3) as u8)
263 }
264 #[inline(always)]
266 pub fn oc3fe(&self) -> OC3FE_R {
267 OC3FE_R::new(((self.bits >> 2) & 1) != 0)
268 }
269 #[inline(always)]
271 pub fn oc3pe(&self) -> OC3PE_R {
272 OC3PE_R::new(((self.bits >> 3) & 1) != 0)
273 }
274 #[inline(always)]
276 pub fn oc3m(&self) -> OC3M_R {
277 OC3M_R::new(((self.bits >> 4) & 7) as u8)
278 }
279 #[inline(always)]
281 pub fn oc3ce(&self) -> OC3CE_R {
282 OC3CE_R::new(((self.bits >> 7) & 1) != 0)
283 }
284 #[inline(always)]
286 pub fn cc4s(&self) -> CC4S_R {
287 CC4S_R::new(((self.bits >> 8) & 3) as u8)
288 }
289 #[inline(always)]
291 pub fn oc4fe(&self) -> OC4FE_R {
292 OC4FE_R::new(((self.bits >> 10) & 1) != 0)
293 }
294 #[inline(always)]
296 pub fn oc4pe(&self) -> OC4PE_R {
297 OC4PE_R::new(((self.bits >> 11) & 1) != 0)
298 }
299 #[inline(always)]
301 pub fn oc4m(&self) -> OC4M_R {
302 OC4M_R::new(((self.bits >> 12) & 7) as u8)
303 }
304 #[inline(always)]
306 pub fn oc4ce(&self) -> OC4CE_R {
307 OC4CE_R::new(((self.bits >> 15) & 1) != 0)
308 }
309}
310impl W {
311 #[inline(always)]
313 #[must_use]
314 pub fn cc3s(&mut self) -> CC3S_W<0> {
315 CC3S_W::new(self)
316 }
317 #[inline(always)]
319 #[must_use]
320 pub fn oc3fe(&mut self) -> OC3FE_W<2> {
321 OC3FE_W::new(self)
322 }
323 #[inline(always)]
325 #[must_use]
326 pub fn oc3pe(&mut self) -> OC3PE_W<3> {
327 OC3PE_W::new(self)
328 }
329 #[inline(always)]
331 #[must_use]
332 pub fn oc3m(&mut self) -> OC3M_W<4> {
333 OC3M_W::new(self)
334 }
335 #[inline(always)]
337 #[must_use]
338 pub fn oc3ce(&mut self) -> OC3CE_W<7> {
339 OC3CE_W::new(self)
340 }
341 #[inline(always)]
343 #[must_use]
344 pub fn cc4s(&mut self) -> CC4S_W<8> {
345 CC4S_W::new(self)
346 }
347 #[inline(always)]
349 #[must_use]
350 pub fn oc4fe(&mut self) -> OC4FE_W<10> {
351 OC4FE_W::new(self)
352 }
353 #[inline(always)]
355 #[must_use]
356 pub fn oc4pe(&mut self) -> OC4PE_W<11> {
357 OC4PE_W::new(self)
358 }
359 #[inline(always)]
361 #[must_use]
362 pub fn oc4m(&mut self) -> OC4M_W<12> {
363 OC4M_W::new(self)
364 }
365 #[inline(always)]
367 #[must_use]
368 pub fn oc4ce(&mut self) -> OC4CE_W<15> {
369 OC4CE_W::new(self)
370 }
371 #[inline(always)]
373 pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
374 self.0.bits(bits);
375 self
376 }
377}
378pub struct CCMR2_OUTPUT_SPEC;
384impl crate::RegisterSpec for CCMR2_OUTPUT_SPEC {
385 type Ux = u32;
386}
387impl crate::Readable for CCMR2_OUTPUT_SPEC {
389 type Reader = R;
390}
391impl crate::Writable for CCMR2_OUTPUT_SPEC {
393 type Writer = W;
394 const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
395 const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
396}
397impl crate::Resettable for CCMR2_OUTPUT_SPEC {
399 const RESET_VALUE: Self::Ux = 0;
400}