1#![allow(clippy::identity_op)]
21#![allow(clippy::module_inception)]
22#![allow(clippy::derivable_impls)]
23#[allow(unused_imports)]
24use crate::common::sealed;
25#[allow(unused_imports)]
26use crate::common::*;
27#[doc = r"TIMER1 registers"]
28unsafe impl ::core::marker::Send for super::Timer1 {}
29unsafe impl ::core::marker::Sync for super::Timer1 {}
30impl super::Timer1 {
31 #[allow(unused)]
32 #[inline(always)]
33 pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34 self.ptr
35 }
36
37 #[doc = "Capture Timer value for event on GPIO1"]
38 #[inline(always)]
39 pub const fn captim_capture_gpio1_reg(
40 &self,
41 ) -> &'static crate::common::Reg<self::CaptimCaptureGpio1Reg_SPEC, crate::common::RW> {
42 unsafe {
43 crate::common::Reg::<self::CaptimCaptureGpio1Reg_SPEC, crate::common::RW>::from_ptr(
44 self._svd2pac_as_ptr().add(16usize),
45 )
46 }
47 }
48
49 #[doc = "Capture Timer value for event on GPIO2"]
50 #[inline(always)]
51 pub const fn captim_capture_gpio2_reg(
52 &self,
53 ) -> &'static crate::common::Reg<self::CaptimCaptureGpio2Reg_SPEC, crate::common::RW> {
54 unsafe {
55 crate::common::Reg::<self::CaptimCaptureGpio2Reg_SPEC, crate::common::RW>::from_ptr(
56 self._svd2pac_as_ptr().add(18usize),
57 )
58 }
59 }
60
61 #[doc = "Capture Timer high value for event on GPIO01"]
62 #[inline(always)]
63 pub const fn captim_capture_high_gpio1_reg(
64 &self,
65 ) -> &'static crate::common::Reg<self::CaptimCaptureHighGpio1Reg_SPEC, crate::common::RW> {
66 unsafe {
67 crate::common::Reg::<self::CaptimCaptureHighGpio1Reg_SPEC, crate::common::RW>::from_ptr(
68 self._svd2pac_as_ptr().add(30usize),
69 )
70 }
71 }
72
73 #[doc = "Capture Timer high value for event on GPIO02"]
74 #[inline(always)]
75 pub const fn captim_capture_high_gpio2_reg(
76 &self,
77 ) -> &'static crate::common::Reg<self::CaptimCaptureHighGpio2Reg_SPEC, crate::common::RW> {
78 unsafe {
79 crate::common::Reg::<self::CaptimCaptureHighGpio2Reg_SPEC, crate::common::RW>::from_ptr(
80 self._svd2pac_as_ptr().add(32usize),
81 )
82 }
83 }
84
85 #[doc = "Capture Timer control register"]
86 #[inline(always)]
87 pub const fn captim_ctrl_reg(
88 &self,
89 ) -> &'static crate::common::Reg<self::CaptimCtrlReg_SPEC, crate::common::RW> {
90 unsafe {
91 crate::common::Reg::<self::CaptimCtrlReg_SPEC, crate::common::RW>::from_ptr(
92 self._svd2pac_as_ptr().add(0usize),
93 )
94 }
95 }
96
97 #[doc = "Capture Timer gpio1 selection"]
98 #[inline(always)]
99 pub const fn captim_gpio1_conf_reg(
100 &self,
101 ) -> &'static crate::common::Reg<self::CaptimGpio1ConfReg_SPEC, crate::common::RW> {
102 unsafe {
103 crate::common::Reg::<self::CaptimGpio1ConfReg_SPEC, crate::common::RW>::from_ptr(
104 self._svd2pac_as_ptr().add(6usize),
105 )
106 }
107 }
108
109 #[doc = "Capture Timer gpio2 selection"]
110 #[inline(always)]
111 pub const fn captim_gpio2_conf_reg(
112 &self,
113 ) -> &'static crate::common::Reg<self::CaptimGpio2ConfReg_SPEC, crate::common::RW> {
114 unsafe {
115 crate::common::Reg::<self::CaptimGpio2ConfReg_SPEC, crate::common::RW>::from_ptr(
116 self._svd2pac_as_ptr().add(8usize),
117 )
118 }
119 }
120
121 #[doc = "Capture Timer prescaler value"]
122 #[inline(always)]
123 pub const fn captim_prescaler_reg(
124 &self,
125 ) -> &'static crate::common::Reg<self::CaptimPrescalerReg_SPEC, crate::common::RW> {
126 unsafe {
127 crate::common::Reg::<self::CaptimPrescalerReg_SPEC, crate::common::RW>::from_ptr(
128 self._svd2pac_as_ptr().add(14usize),
129 )
130 }
131 }
132
133 #[doc = "Capture Timer interrupt status register"]
134 #[inline(always)]
135 pub const fn captim_prescaler_val_reg(
136 &self,
137 ) -> &'static crate::common::Reg<self::CaptimPrescalerValReg_SPEC, crate::common::RW> {
138 unsafe {
139 crate::common::Reg::<self::CaptimPrescalerValReg_SPEC, crate::common::RW>::from_ptr(
140 self._svd2pac_as_ptr().add(20usize),
141 )
142 }
143 }
144
145 #[doc = "Capture Timer pwm dc register"]
146 #[inline(always)]
147 pub const fn captim_pwm_dc_reg(
148 &self,
149 ) -> &'static crate::common::Reg<self::CaptimPwmDcReg_SPEC, crate::common::RW> {
150 unsafe {
151 crate::common::Reg::<self::CaptimPwmDcReg_SPEC, crate::common::RW>::from_ptr(
152 self._svd2pac_as_ptr().add(24usize),
153 )
154 }
155 }
156
157 #[doc = "Capture Timer pwm frequency register"]
158 #[inline(always)]
159 pub const fn captim_pwm_freq_reg(
160 &self,
161 ) -> &'static crate::common::Reg<self::CaptimPwmFreqReg_SPEC, crate::common::RW> {
162 unsafe {
163 crate::common::Reg::<self::CaptimPwmFreqReg_SPEC, crate::common::RW>::from_ptr(
164 self._svd2pac_as_ptr().add(22usize),
165 )
166 }
167 }
168
169 #[doc = "Capture Timer reload high value and Delay in shot mode"]
170 #[inline(always)]
171 pub const fn captim_reload_high_reg(
172 &self,
173 ) -> &'static crate::common::Reg<self::CaptimReloadHighReg_SPEC, crate::common::RW> {
174 unsafe {
175 crate::common::Reg::<self::CaptimReloadHighReg_SPEC, crate::common::RW>::from_ptr(
176 self._svd2pac_as_ptr().add(28usize),
177 )
178 }
179 }
180
181 #[doc = "Capture Timer reload value and Delay in shot mode"]
182 #[inline(always)]
183 pub const fn captim_reload_reg(
184 &self,
185 ) -> &'static crate::common::Reg<self::CaptimReloadReg_SPEC, crate::common::RW> {
186 unsafe {
187 crate::common::Reg::<self::CaptimReloadReg_SPEC, crate::common::RW>::from_ptr(
188 self._svd2pac_as_ptr().add(10usize),
189 )
190 }
191 }
192
193 #[doc = "Capture Timer Shot high duration in shot mode"]
194 #[inline(always)]
195 pub const fn captim_shotwidth_high_reg(
196 &self,
197 ) -> &'static crate::common::Reg<self::CaptimShotwidthHighReg_SPEC, crate::common::RW> {
198 unsafe {
199 crate::common::Reg::<self::CaptimShotwidthHighReg_SPEC, crate::common::RW>::from_ptr(
200 self._svd2pac_as_ptr().add(34usize),
201 )
202 }
203 }
204
205 #[doc = "Capture Timer Shot duration in shot mode"]
206 #[inline(always)]
207 pub const fn captim_shotwidth_reg(
208 &self,
209 ) -> &'static crate::common::Reg<self::CaptimShotwidthReg_SPEC, crate::common::RW> {
210 unsafe {
211 crate::common::Reg::<self::CaptimShotwidthReg_SPEC, crate::common::RW>::from_ptr(
212 self._svd2pac_as_ptr().add(12usize),
213 )
214 }
215 }
216
217 #[doc = "Capture Timer status register"]
218 #[inline(always)]
219 pub const fn captim_status_reg(
220 &self,
221 ) -> &'static crate::common::Reg<self::CaptimStatusReg_SPEC, crate::common::RW> {
222 unsafe {
223 crate::common::Reg::<self::CaptimStatusReg_SPEC, crate::common::RW>::from_ptr(
224 self._svd2pac_as_ptr().add(4usize),
225 )
226 }
227 }
228
229 #[doc = "Capture Timer counter high value"]
230 #[inline(always)]
231 pub const fn captim_timer_hval_reg(
232 &self,
233 ) -> &'static crate::common::Reg<self::CaptimTimerHvalReg_SPEC, crate::common::RW> {
234 unsafe {
235 crate::common::Reg::<self::CaptimTimerHvalReg_SPEC, crate::common::RW>::from_ptr(
236 self._svd2pac_as_ptr().add(26usize),
237 )
238 }
239 }
240
241 #[doc = "Capture Timer counter value"]
242 #[inline(always)]
243 pub const fn captim_timer_val_reg(
244 &self,
245 ) -> &'static crate::common::Reg<self::CaptimTimerValReg_SPEC, crate::common::RW> {
246 unsafe {
247 crate::common::Reg::<self::CaptimTimerValReg_SPEC, crate::common::RW>::from_ptr(
248 self._svd2pac_as_ptr().add(2usize),
249 )
250 }
251 }
252}
253#[doc(hidden)]
254#[derive(Copy, Clone, Eq, PartialEq)]
255pub struct CaptimCaptureGpio1Reg_SPEC;
256impl crate::sealed::RegSpec for CaptimCaptureGpio1Reg_SPEC {
257 type DataType = u16;
258}
259
260#[doc = "Capture Timer value for event on GPIO1"]
261pub type CaptimCaptureGpio1Reg = crate::RegValueT<CaptimCaptureGpio1Reg_SPEC>;
262
263impl CaptimCaptureGpio1Reg {
264 #[doc = "Gives the Capture time for event on GPIO1"]
265 #[inline(always)]
266 pub fn captim_capture_gpio1(
267 self,
268 ) -> crate::common::RegisterField<
269 0,
270 0xffff,
271 1,
272 0,
273 u16,
274 u16,
275 CaptimCaptureGpio1Reg_SPEC,
276 crate::common::R,
277 > {
278 crate::common::RegisterField::<
279 0,
280 0xffff,
281 1,
282 0,
283 u16,
284 u16,
285 CaptimCaptureGpio1Reg_SPEC,
286 crate::common::R,
287 >::from_register(self, 0)
288 }
289}
290impl ::core::default::Default for CaptimCaptureGpio1Reg {
291 #[inline(always)]
292 fn default() -> CaptimCaptureGpio1Reg {
293 <crate::RegValueT<CaptimCaptureGpio1Reg_SPEC> as RegisterValue<_>>::new(0)
294 }
295}
296
297#[doc(hidden)]
298#[derive(Copy, Clone, Eq, PartialEq)]
299pub struct CaptimCaptureGpio2Reg_SPEC;
300impl crate::sealed::RegSpec for CaptimCaptureGpio2Reg_SPEC {
301 type DataType = u16;
302}
303
304#[doc = "Capture Timer value for event on GPIO2"]
305pub type CaptimCaptureGpio2Reg = crate::RegValueT<CaptimCaptureGpio2Reg_SPEC>;
306
307impl CaptimCaptureGpio2Reg {
308 #[doc = "Gives the Capture time for event on GPIO2"]
309 #[inline(always)]
310 pub fn captim_capture_gpio2(
311 self,
312 ) -> crate::common::RegisterField<
313 0,
314 0xffff,
315 1,
316 0,
317 u16,
318 u16,
319 CaptimCaptureGpio2Reg_SPEC,
320 crate::common::R,
321 > {
322 crate::common::RegisterField::<
323 0,
324 0xffff,
325 1,
326 0,
327 u16,
328 u16,
329 CaptimCaptureGpio2Reg_SPEC,
330 crate::common::R,
331 >::from_register(self, 0)
332 }
333}
334impl ::core::default::Default for CaptimCaptureGpio2Reg {
335 #[inline(always)]
336 fn default() -> CaptimCaptureGpio2Reg {
337 <crate::RegValueT<CaptimCaptureGpio2Reg_SPEC> as RegisterValue<_>>::new(0)
338 }
339}
340
341#[doc(hidden)]
342#[derive(Copy, Clone, Eq, PartialEq)]
343pub struct CaptimCaptureHighGpio1Reg_SPEC;
344impl crate::sealed::RegSpec for CaptimCaptureHighGpio1Reg_SPEC {
345 type DataType = u16;
346}
347
348#[doc = "Capture Timer high value for event on GPIO01"]
349pub type CaptimCaptureHighGpio1Reg = crate::RegValueT<CaptimCaptureHighGpio1Reg_SPEC>;
350
351impl CaptimCaptureHighGpio1Reg {
352 #[doc = "Gives the Capture high time for event on GPIO1"]
353 #[inline(always)]
354 pub fn captim_capture_high_gpio1(
355 self,
356 ) -> crate::common::RegisterField<
357 0,
358 0xffff,
359 1,
360 0,
361 u16,
362 u16,
363 CaptimCaptureHighGpio1Reg_SPEC,
364 crate::common::R,
365 > {
366 crate::common::RegisterField::<
367 0,
368 0xffff,
369 1,
370 0,
371 u16,
372 u16,
373 CaptimCaptureHighGpio1Reg_SPEC,
374 crate::common::R,
375 >::from_register(self, 0)
376 }
377}
378impl ::core::default::Default for CaptimCaptureHighGpio1Reg {
379 #[inline(always)]
380 fn default() -> CaptimCaptureHighGpio1Reg {
381 <crate::RegValueT<CaptimCaptureHighGpio1Reg_SPEC> as RegisterValue<_>>::new(0)
382 }
383}
384
385#[doc(hidden)]
386#[derive(Copy, Clone, Eq, PartialEq)]
387pub struct CaptimCaptureHighGpio2Reg_SPEC;
388impl crate::sealed::RegSpec for CaptimCaptureHighGpio2Reg_SPEC {
389 type DataType = u16;
390}
391
392#[doc = "Capture Timer high value for event on GPIO02"]
393pub type CaptimCaptureHighGpio2Reg = crate::RegValueT<CaptimCaptureHighGpio2Reg_SPEC>;
394
395impl CaptimCaptureHighGpio2Reg {
396 #[doc = "Gives the Capture high time for event on GPIO2"]
397 #[inline(always)]
398 pub fn captim_capture_high_gpio2(
399 self,
400 ) -> crate::common::RegisterField<
401 0,
402 0xffff,
403 1,
404 0,
405 u16,
406 u16,
407 CaptimCaptureHighGpio2Reg_SPEC,
408 crate::common::R,
409 > {
410 crate::common::RegisterField::<
411 0,
412 0xffff,
413 1,
414 0,
415 u16,
416 u16,
417 CaptimCaptureHighGpio2Reg_SPEC,
418 crate::common::R,
419 >::from_register(self, 0)
420 }
421}
422impl ::core::default::Default for CaptimCaptureHighGpio2Reg {
423 #[inline(always)]
424 fn default() -> CaptimCaptureHighGpio2Reg {
425 <crate::RegValueT<CaptimCaptureHighGpio2Reg_SPEC> as RegisterValue<_>>::new(0)
426 }
427}
428
429#[doc(hidden)]
430#[derive(Copy, Clone, Eq, PartialEq)]
431pub struct CaptimCtrlReg_SPEC;
432impl crate::sealed::RegSpec for CaptimCtrlReg_SPEC {
433 type DataType = u16;
434}
435
436#[doc = "Capture Timer control register"]
437pub type CaptimCtrlReg = crate::RegValueT<CaptimCtrlReg_SPEC>;
438
439impl CaptimCtrlReg {
440 #[doc = "\'1\' Capture Timer uses the system clock\n\'0\' Capture Timer uses the 32KHz clock"]
441 #[inline(always)]
442 pub fn captim_sys_clk_en(
443 self,
444 ) -> crate::common::RegisterFieldBool<7, 1, 0, CaptimCtrlReg_SPEC, crate::common::RW> {
445 crate::common::RegisterFieldBool::<7,1,0,CaptimCtrlReg_SPEC,crate::common::RW>::from_register(self,0)
446 }
447
448 #[doc = "Valid when timer counts up, if it is \'1\' timer does not zero when reaches to reload value. it becomes zero only when it reaches the max value."]
449 #[inline(always)]
450 pub fn captim_free_run_mode_en(
451 self,
452 ) -> crate::common::RegisterFieldBool<6, 1, 0, CaptimCtrlReg_SPEC, crate::common::RW> {
453 crate::common::RegisterFieldBool::<6,1,0,CaptimCtrlReg_SPEC,crate::common::RW>::from_register(self,0)
454 }
455
456 #[doc = "\'1\' Capture timer IRQ is unmasked, \'0\' masked"]
457 #[inline(always)]
458 pub fn captim_irq_en(
459 self,
460 ) -> crate::common::RegisterFieldBool<5, 1, 0, CaptimCtrlReg_SPEC, crate::common::RW> {
461 crate::common::RegisterFieldBool::<5,1,0,CaptimCtrlReg_SPEC,crate::common::RW>::from_register(self,0)
462 }
463
464 #[doc = "\'1\' input1 event type is falling edge, \'0\' rising edge"]
465 #[inline(always)]
466 pub fn captim_in2_event_fall_en(
467 self,
468 ) -> crate::common::RegisterFieldBool<4, 1, 0, CaptimCtrlReg_SPEC, crate::common::RW> {
469 crate::common::RegisterFieldBool::<4,1,0,CaptimCtrlReg_SPEC,crate::common::RW>::from_register(self,0)
470 }
471
472 #[doc = "\'1\' input2 event type is falling edge, \'0\' rising edge"]
473 #[inline(always)]
474 pub fn captim_in1_event_fall_en(
475 self,
476 ) -> crate::common::RegisterFieldBool<3, 1, 0, CaptimCtrlReg_SPEC, crate::common::RW> {
477 crate::common::RegisterFieldBool::<3,1,0,CaptimCtrlReg_SPEC,crate::common::RW>::from_register(self,0)
478 }
479
480 #[doc = "\'1\' timer counts down, \'0\' count up"]
481 #[inline(always)]
482 pub fn captim_count_down_en(
483 self,
484 ) -> crate::common::RegisterFieldBool<2, 1, 0, CaptimCtrlReg_SPEC, crate::common::RW> {
485 crate::common::RegisterFieldBool::<2,1,0,CaptimCtrlReg_SPEC,crate::common::RW>::from_register(self,0)
486 }
487
488 #[doc = "\'1\' OneShot mode enabled, \'0\' Capture/Timer mode enabled"]
489 #[inline(always)]
490 pub fn captim_oneshot_mode_en(
491 self,
492 ) -> crate::common::RegisterFieldBool<1, 1, 0, CaptimCtrlReg_SPEC, crate::common::RW> {
493 crate::common::RegisterFieldBool::<1,1,0,CaptimCtrlReg_SPEC,crate::common::RW>::from_register(self,0)
494 }
495
496 #[doc = "\'1\' Capture Timer enabled, else disabled"]
497 #[inline(always)]
498 pub fn captim_en(
499 self,
500 ) -> crate::common::RegisterFieldBool<0, 1, 0, CaptimCtrlReg_SPEC, crate::common::RW> {
501 crate::common::RegisterFieldBool::<0,1,0,CaptimCtrlReg_SPEC,crate::common::RW>::from_register(self,0)
502 }
503}
504impl ::core::default::Default for CaptimCtrlReg {
505 #[inline(always)]
506 fn default() -> CaptimCtrlReg {
507 <crate::RegValueT<CaptimCtrlReg_SPEC> as RegisterValue<_>>::new(0)
508 }
509}
510
511#[doc(hidden)]
512#[derive(Copy, Clone, Eq, PartialEq)]
513pub struct CaptimGpio1ConfReg_SPEC;
514impl crate::sealed::RegSpec for CaptimGpio1ConfReg_SPEC {
515 type DataType = u16;
516}
517
518#[doc = "Capture Timer gpio1 selection"]
519pub type CaptimGpio1ConfReg = crate::RegValueT<CaptimGpio1ConfReg_SPEC>;
520
521impl CaptimGpio1ConfReg {
522 #[doc = "Select one of the 37 GPIOs as IN1, Valid value 0-37. 1 for P00 .. 37 for P47. 0 Disable input"]
523 #[inline(always)]
524 pub fn captim_gpio1_conf(
525 self,
526 ) -> crate::common::RegisterField<
527 0,
528 0x3f,
529 1,
530 0,
531 u8,
532 u8,
533 CaptimGpio1ConfReg_SPEC,
534 crate::common::RW,
535 > {
536 crate::common::RegisterField::<
537 0,
538 0x3f,
539 1,
540 0,
541 u8,
542 u8,
543 CaptimGpio1ConfReg_SPEC,
544 crate::common::RW,
545 >::from_register(self, 0)
546 }
547}
548impl ::core::default::Default for CaptimGpio1ConfReg {
549 #[inline(always)]
550 fn default() -> CaptimGpio1ConfReg {
551 <crate::RegValueT<CaptimGpio1ConfReg_SPEC> as RegisterValue<_>>::new(0)
552 }
553}
554
555#[doc(hidden)]
556#[derive(Copy, Clone, Eq, PartialEq)]
557pub struct CaptimGpio2ConfReg_SPEC;
558impl crate::sealed::RegSpec for CaptimGpio2ConfReg_SPEC {
559 type DataType = u16;
560}
561
562#[doc = "Capture Timer gpio2 selection"]
563pub type CaptimGpio2ConfReg = crate::RegValueT<CaptimGpio2ConfReg_SPEC>;
564
565impl CaptimGpio2ConfReg {
566 #[doc = "Select one of the 37 GPIOs as IN2, Valid value 0-37. 1 for P00 .. 37 for P47. 0 Disable input"]
567 #[inline(always)]
568 pub fn captim_gpio2_conf(
569 self,
570 ) -> crate::common::RegisterField<
571 0,
572 0x3f,
573 1,
574 0,
575 u8,
576 u8,
577 CaptimGpio2ConfReg_SPEC,
578 crate::common::RW,
579 > {
580 crate::common::RegisterField::<
581 0,
582 0x3f,
583 1,
584 0,
585 u8,
586 u8,
587 CaptimGpio2ConfReg_SPEC,
588 crate::common::RW,
589 >::from_register(self, 0)
590 }
591}
592impl ::core::default::Default for CaptimGpio2ConfReg {
593 #[inline(always)]
594 fn default() -> CaptimGpio2ConfReg {
595 <crate::RegValueT<CaptimGpio2ConfReg_SPEC> as RegisterValue<_>>::new(0)
596 }
597}
598
599#[doc(hidden)]
600#[derive(Copy, Clone, Eq, PartialEq)]
601pub struct CaptimPrescalerReg_SPEC;
602impl crate::sealed::RegSpec for CaptimPrescalerReg_SPEC {
603 type DataType = u16;
604}
605
606#[doc = "Capture Timer prescaler value"]
607pub type CaptimPrescalerReg = crate::RegValueT<CaptimPrescalerReg_SPEC>;
608
609impl CaptimPrescalerReg {
610 #[doc = "Defines the timer count frequncy. CLOCK frequency / (CAPTIM_PRESCARLER+1)"]
611 #[inline(always)]
612 pub fn captim_prescaler(
613 self,
614 ) -> crate::common::RegisterField<
615 0,
616 0xffff,
617 1,
618 0,
619 u16,
620 u16,
621 CaptimPrescalerReg_SPEC,
622 crate::common::RW,
623 > {
624 crate::common::RegisterField::<
625 0,
626 0xffff,
627 1,
628 0,
629 u16,
630 u16,
631 CaptimPrescalerReg_SPEC,
632 crate::common::RW,
633 >::from_register(self, 0)
634 }
635}
636impl ::core::default::Default for CaptimPrescalerReg {
637 #[inline(always)]
638 fn default() -> CaptimPrescalerReg {
639 <crate::RegValueT<CaptimPrescalerReg_SPEC> as RegisterValue<_>>::new(0)
640 }
641}
642
643#[doc(hidden)]
644#[derive(Copy, Clone, Eq, PartialEq)]
645pub struct CaptimPrescalerValReg_SPEC;
646impl crate::sealed::RegSpec for CaptimPrescalerValReg_SPEC {
647 type DataType = u16;
648}
649
650#[doc = "Capture Timer interrupt status register"]
651pub type CaptimPrescalerValReg = crate::RegValueT<CaptimPrescalerValReg_SPEC>;
652
653impl CaptimPrescalerValReg {
654 #[doc = "Gives the current prescaler value"]
655 #[inline(always)]
656 pub fn captim_prescaler_val(
657 self,
658 ) -> crate::common::RegisterField<
659 0,
660 0xffff,
661 1,
662 0,
663 u16,
664 u16,
665 CaptimPrescalerValReg_SPEC,
666 crate::common::R,
667 > {
668 crate::common::RegisterField::<
669 0,
670 0xffff,
671 1,
672 0,
673 u16,
674 u16,
675 CaptimPrescalerValReg_SPEC,
676 crate::common::R,
677 >::from_register(self, 0)
678 }
679}
680impl ::core::default::Default for CaptimPrescalerValReg {
681 #[inline(always)]
682 fn default() -> CaptimPrescalerValReg {
683 <crate::RegValueT<CaptimPrescalerValReg_SPEC> as RegisterValue<_>>::new(0)
684 }
685}
686
687#[doc(hidden)]
688#[derive(Copy, Clone, Eq, PartialEq)]
689pub struct CaptimPwmDcReg_SPEC;
690impl crate::sealed::RegSpec for CaptimPwmDcReg_SPEC {
691 type DataType = u16;
692}
693
694#[doc = "Capture Timer pwm dc register"]
695pub type CaptimPwmDcReg = crate::RegValueT<CaptimPwmDcReg_SPEC>;
696
697impl CaptimPwmDcReg {
698 #[doc = "Defines the PWM duty cycle. CAPTIM_PWM_DC / ( CAPTIM_PWM_FREQ+1)"]
699 #[inline(always)]
700 pub fn captim_pwm_dc(
701 self,
702 ) -> crate::common::RegisterField<
703 0,
704 0xffff,
705 1,
706 0,
707 u16,
708 u16,
709 CaptimPwmDcReg_SPEC,
710 crate::common::RW,
711 > {
712 crate::common::RegisterField::<
713 0,
714 0xffff,
715 1,
716 0,
717 u16,
718 u16,
719 CaptimPwmDcReg_SPEC,
720 crate::common::RW,
721 >::from_register(self, 0)
722 }
723}
724impl ::core::default::Default for CaptimPwmDcReg {
725 #[inline(always)]
726 fn default() -> CaptimPwmDcReg {
727 <crate::RegValueT<CaptimPwmDcReg_SPEC> as RegisterValue<_>>::new(0)
728 }
729}
730
731#[doc(hidden)]
732#[derive(Copy, Clone, Eq, PartialEq)]
733pub struct CaptimPwmFreqReg_SPEC;
734impl crate::sealed::RegSpec for CaptimPwmFreqReg_SPEC {
735 type DataType = u16;
736}
737
738#[doc = "Capture Timer pwm frequency register"]
739pub type CaptimPwmFreqReg = crate::RegValueT<CaptimPwmFreqReg_SPEC>;
740
741impl CaptimPwmFreqReg {
742 #[doc = "Defines the PWM frequency. Timer clock frequency / (CAPTIM_PWM_FREQ+1)"]
743 #[inline(always)]
744 pub fn captim_pwm_freq(
745 self,
746 ) -> crate::common::RegisterField<
747 0,
748 0xffff,
749 1,
750 0,
751 u16,
752 u16,
753 CaptimPwmFreqReg_SPEC,
754 crate::common::RW,
755 > {
756 crate::common::RegisterField::<
757 0,
758 0xffff,
759 1,
760 0,
761 u16,
762 u16,
763 CaptimPwmFreqReg_SPEC,
764 crate::common::RW,
765 >::from_register(self, 0)
766 }
767}
768impl ::core::default::Default for CaptimPwmFreqReg {
769 #[inline(always)]
770 fn default() -> CaptimPwmFreqReg {
771 <crate::RegValueT<CaptimPwmFreqReg_SPEC> as RegisterValue<_>>::new(0)
772 }
773}
774
775#[doc(hidden)]
776#[derive(Copy, Clone, Eq, PartialEq)]
777pub struct CaptimReloadHighReg_SPEC;
778impl crate::sealed::RegSpec for CaptimReloadHighReg_SPEC {
779 type DataType = u16;
780}
781
782#[doc = "Capture Timer reload high value and Delay in shot mode"]
783pub type CaptimReloadHighReg = crate::RegValueT<CaptimReloadHighReg_SPEC>;
784
785impl CaptimReloadHighReg {
786 #[doc = "Reload high value or max high value in timer mode, Delay phase duration in oneshot mode. Actual delay is the register value plus synchronization time (3 clock cycles)"]
787 #[inline(always)]
788 pub fn captim_reload_high(
789 self,
790 ) -> crate::common::RegisterField<
791 0,
792 0xffff,
793 1,
794 0,
795 u16,
796 u16,
797 CaptimReloadHighReg_SPEC,
798 crate::common::RW,
799 > {
800 crate::common::RegisterField::<
801 0,
802 0xffff,
803 1,
804 0,
805 u16,
806 u16,
807 CaptimReloadHighReg_SPEC,
808 crate::common::RW,
809 >::from_register(self, 0)
810 }
811}
812impl ::core::default::Default for CaptimReloadHighReg {
813 #[inline(always)]
814 fn default() -> CaptimReloadHighReg {
815 <crate::RegValueT<CaptimReloadHighReg_SPEC> as RegisterValue<_>>::new(0)
816 }
817}
818
819#[doc(hidden)]
820#[derive(Copy, Clone, Eq, PartialEq)]
821pub struct CaptimReloadReg_SPEC;
822impl crate::sealed::RegSpec for CaptimReloadReg_SPEC {
823 type DataType = u16;
824}
825
826#[doc = "Capture Timer reload value and Delay in shot mode"]
827pub type CaptimReloadReg = crate::RegValueT<CaptimReloadReg_SPEC>;
828
829impl CaptimReloadReg {
830 #[doc = "Reload or max value in timer mode, Delay phase duration in oneshot mode. Actual delay is the register value plus synchronization time (3 clock cycles)"]
831 #[inline(always)]
832 pub fn captim_reload(
833 self,
834 ) -> crate::common::RegisterField<
835 0,
836 0xffff,
837 1,
838 0,
839 u16,
840 u16,
841 CaptimReloadReg_SPEC,
842 crate::common::RW,
843 > {
844 crate::common::RegisterField::<
845 0,
846 0xffff,
847 1,
848 0,
849 u16,
850 u16,
851 CaptimReloadReg_SPEC,
852 crate::common::RW,
853 >::from_register(self, 0)
854 }
855}
856impl ::core::default::Default for CaptimReloadReg {
857 #[inline(always)]
858 fn default() -> CaptimReloadReg {
859 <crate::RegValueT<CaptimReloadReg_SPEC> as RegisterValue<_>>::new(0)
860 }
861}
862
863#[doc(hidden)]
864#[derive(Copy, Clone, Eq, PartialEq)]
865pub struct CaptimShotwidthHighReg_SPEC;
866impl crate::sealed::RegSpec for CaptimShotwidthHighReg_SPEC {
867 type DataType = u16;
868}
869
870#[doc = "Capture Timer Shot high duration in shot mode"]
871pub type CaptimShotwidthHighReg = crate::RegValueT<CaptimShotwidthHighReg_SPEC>;
872
873impl CaptimShotwidthHighReg {
874 #[doc = "Shot phase high duration in oneshot mode"]
875 #[inline(always)]
876 pub fn captim_shotwidth_high(
877 self,
878 ) -> crate::common::RegisterField<
879 0,
880 0xffff,
881 1,
882 0,
883 u16,
884 u16,
885 CaptimShotwidthHighReg_SPEC,
886 crate::common::RW,
887 > {
888 crate::common::RegisterField::<
889 0,
890 0xffff,
891 1,
892 0,
893 u16,
894 u16,
895 CaptimShotwidthHighReg_SPEC,
896 crate::common::RW,
897 >::from_register(self, 0)
898 }
899}
900impl ::core::default::Default for CaptimShotwidthHighReg {
901 #[inline(always)]
902 fn default() -> CaptimShotwidthHighReg {
903 <crate::RegValueT<CaptimShotwidthHighReg_SPEC> as RegisterValue<_>>::new(0)
904 }
905}
906
907#[doc(hidden)]
908#[derive(Copy, Clone, Eq, PartialEq)]
909pub struct CaptimShotwidthReg_SPEC;
910impl crate::sealed::RegSpec for CaptimShotwidthReg_SPEC {
911 type DataType = u16;
912}
913
914#[doc = "Capture Timer Shot duration in shot mode"]
915pub type CaptimShotwidthReg = crate::RegValueT<CaptimShotwidthReg_SPEC>;
916
917impl CaptimShotwidthReg {
918 #[doc = "Shot phase duration in oneshot mode"]
919 #[inline(always)]
920 pub fn captim_shotwidth(
921 self,
922 ) -> crate::common::RegisterField<
923 0,
924 0xffff,
925 1,
926 0,
927 u16,
928 u16,
929 CaptimShotwidthReg_SPEC,
930 crate::common::RW,
931 > {
932 crate::common::RegisterField::<
933 0,
934 0xffff,
935 1,
936 0,
937 u16,
938 u16,
939 CaptimShotwidthReg_SPEC,
940 crate::common::RW,
941 >::from_register(self, 0)
942 }
943}
944impl ::core::default::Default for CaptimShotwidthReg {
945 #[inline(always)]
946 fn default() -> CaptimShotwidthReg {
947 <crate::RegValueT<CaptimShotwidthReg_SPEC> as RegisterValue<_>>::new(0)
948 }
949}
950
951#[doc(hidden)]
952#[derive(Copy, Clone, Eq, PartialEq)]
953pub struct CaptimStatusReg_SPEC;
954impl crate::sealed::RegSpec for CaptimStatusReg_SPEC {
955 type DataType = u16;
956}
957
958#[doc = "Capture Timer status register"]
959pub type CaptimStatusReg = crate::RegValueT<CaptimStatusReg_SPEC>;
960
961impl CaptimStatusReg {
962 #[doc = "0 : Wait for event, 1 : Delay phase, 2 : Start Shot, 3 : Shot phase"]
963 #[inline(always)]
964 pub fn captim_oneshot_phase(
965 self,
966 ) -> crate::common::RegisterField<2, 0x3, 1, 0, u8, u8, CaptimStatusReg_SPEC, crate::common::R>
967 {
968 crate::common::RegisterField::<2,0x3,1,0,u8,u8,CaptimStatusReg_SPEC,crate::common::R>::from_register(self,0)
969 }
970
971 #[doc = "Gives the logic level of the IN1"]
972 #[inline(always)]
973 pub fn captim_in2_state(
974 self,
975 ) -> crate::common::RegisterFieldBool<1, 1, 0, CaptimStatusReg_SPEC, crate::common::R> {
976 crate::common::RegisterFieldBool::<1,1,0,CaptimStatusReg_SPEC,crate::common::R>::from_register(self,0)
977 }
978
979 #[doc = "Gives the logic level of the IN2"]
980 #[inline(always)]
981 pub fn captim_in1_state(
982 self,
983 ) -> crate::common::RegisterFieldBool<0, 1, 0, CaptimStatusReg_SPEC, crate::common::R> {
984 crate::common::RegisterFieldBool::<0,1,0,CaptimStatusReg_SPEC,crate::common::R>::from_register(self,0)
985 }
986}
987impl ::core::default::Default for CaptimStatusReg {
988 #[inline(always)]
989 fn default() -> CaptimStatusReg {
990 <crate::RegValueT<CaptimStatusReg_SPEC> as RegisterValue<_>>::new(0)
991 }
992}
993
994#[doc(hidden)]
995#[derive(Copy, Clone, Eq, PartialEq)]
996pub struct CaptimTimerHvalReg_SPEC;
997impl crate::sealed::RegSpec for CaptimTimerHvalReg_SPEC {
998 type DataType = u16;
999}
1000
1001#[doc = "Capture Timer counter high value"]
1002pub type CaptimTimerHvalReg = crate::RegValueT<CaptimTimerHvalReg_SPEC>;
1003
1004impl CaptimTimerHvalReg {
1005 #[doc = "Gives the current timer high value"]
1006 #[inline(always)]
1007 pub fn captim_timer_hvalue(
1008 self,
1009 ) -> crate::common::RegisterField<
1010 0,
1011 0xffff,
1012 1,
1013 0,
1014 u16,
1015 u16,
1016 CaptimTimerHvalReg_SPEC,
1017 crate::common::R,
1018 > {
1019 crate::common::RegisterField::<
1020 0,
1021 0xffff,
1022 1,
1023 0,
1024 u16,
1025 u16,
1026 CaptimTimerHvalReg_SPEC,
1027 crate::common::R,
1028 >::from_register(self, 0)
1029 }
1030}
1031impl ::core::default::Default for CaptimTimerHvalReg {
1032 #[inline(always)]
1033 fn default() -> CaptimTimerHvalReg {
1034 <crate::RegValueT<CaptimTimerHvalReg_SPEC> as RegisterValue<_>>::new(0)
1035 }
1036}
1037
1038#[doc(hidden)]
1039#[derive(Copy, Clone, Eq, PartialEq)]
1040pub struct CaptimTimerValReg_SPEC;
1041impl crate::sealed::RegSpec for CaptimTimerValReg_SPEC {
1042 type DataType = u16;
1043}
1044
1045#[doc = "Capture Timer counter value"]
1046pub type CaptimTimerValReg = crate::RegValueT<CaptimTimerValReg_SPEC>;
1047
1048impl CaptimTimerValReg {
1049 #[doc = "Gives the current timer value"]
1050 #[inline(always)]
1051 pub fn captim_timer_value(
1052 self,
1053 ) -> crate::common::RegisterField<
1054 0,
1055 0xffff,
1056 1,
1057 0,
1058 u16,
1059 u16,
1060 CaptimTimerValReg_SPEC,
1061 crate::common::R,
1062 > {
1063 crate::common::RegisterField::<
1064 0,
1065 0xffff,
1066 1,
1067 0,
1068 u16,
1069 u16,
1070 CaptimTimerValReg_SPEC,
1071 crate::common::R,
1072 >::from_register(self, 0)
1073 }
1074}
1075impl ::core::default::Default for CaptimTimerValReg {
1076 #[inline(always)]
1077 fn default() -> CaptimTimerValReg {
1078 <crate::RegValueT<CaptimTimerValReg_SPEC> as RegisterValue<_>>::new(0)
1079 }
1080}