1#[doc = r" Value read from the register"]
2pub struct R {
3 bits: u32,
4}
5#[doc = r" Value to write to the register"]
6pub struct W {
7 bits: u32,
8}
9impl super::CH1CCFG {
10 #[doc = r" Modifies the contents of the register"]
11 #[inline]
12 pub fn modify<F>(&self, f: F)
13 where
14 for<'w> F: FnOnce(&R, &'w mut W) -> &'w mut W,
15 {
16 let bits = self.register.get();
17 let r = R { bits: bits };
18 let mut w = W { bits: bits };
19 f(&r, &mut w);
20 self.register.set(w.bits);
21 }
22 #[doc = r" Reads the contents of the register"]
23 #[inline]
24 pub fn read(&self) -> R {
25 R {
26 bits: self.register.get(),
27 }
28 }
29 #[doc = r" Writes to the register"]
30 #[inline]
31 pub fn write<F>(&self, f: F)
32 where
33 F: FnOnce(&mut W) -> &mut W,
34 {
35 let mut w = W::reset_value();
36 f(&mut w);
37 self.register.set(w.bits);
38 }
39 #[doc = r" Writes the reset value to the register"]
40 #[inline]
41 pub fn reset(&self) {
42 self.write(|w| w)
43 }
44}
45#[doc = r" Value of the field"]
46pub struct RESERVED7R {
47 bits: u32,
48}
49impl RESERVED7R {
50 #[doc = r" Value of the field as raw bits"]
51 #[inline]
52 pub fn bits(&self) -> u32 {
53 self.bits
54 }
55}
56#[doc = "Possible values of the field `CAPT_SRC`"]
57#[derive(Clone, Copy, Debug, PartialEq)]
58pub enum CAPT_SRCR {
59 #[doc = "No event."]
60 NO_EVENT,
61 #[doc = "AUX_EVCTL:EVSTAT3.AUX_SMPH_AUTOTAKE_DONE"]
62 AUX_SMPH_AUTOTAKE_DONE,
63 #[doc = "AUX_EVCTL:EVSTAT3.AUX_ADC_FIFO_NOT_EMPTY"]
64 AUX_ADC_FIFO_NOT_EMPTY,
65 #[doc = "AUX_EVCTL:EVSTAT3.AUX_ADC_FIFO_ALMOST_FULL"]
66 AUX_ADC_FIFO_ALMOST_FULL,
67 #[doc = "AUX_EVCTL:EVSTAT3.AUX_ADC_IRQ"]
68 AUX_ADC_IRQ,
69 #[doc = "AUX_EVCTL:EVSTAT3.AUX_ADC_DONE"]
70 AUX_ADC_DONE,
71 #[doc = "AUX_EVCTL:EVSTAT3.AUX_ISRC_RESET_N"]
72 AUX_ISRC_RESET_N,
73 #[doc = "AUX_EVCTL:EVSTAT3.AUX_TDC_DONE"]
74 AUX_TDC_DONE,
75 #[doc = "AUX_EVCTL:EVSTAT3.AUX_TIMER0_EV"]
76 AUX_TIMER0_EV,
77 #[doc = "AUX_EVCTL:EVSTAT3.AUX_TIMER1_EV"]
78 AUX_TIMER1_EV,
79 #[doc = "AUX_EVCTL:EVSTAT3.AUX_TIMER2_EV3"]
80 AUX_TIMER2_EV3,
81 #[doc = "AUX_EVCTL:EVSTAT3.AUX_TIMER2_EV2"]
82 AUX_TIMER2_EV2,
83 #[doc = "AUX_EVCTL:EVSTAT3.AUX_TIMER2_EV1"]
84 AUX_TIMER2_EV1,
85 #[doc = "AUX_EVCTL:EVSTAT3.AUX_TIMER2_EV0"]
86 AUX_TIMER2_EV0,
87 #[doc = "AUX_EVCTL:EVSTAT2.AUX_COMPB"]
88 AUX_COMPB,
89 #[doc = "AUX_EVCTL:EVSTAT2.AUX_COMPA"]
90 AUX_COMPA,
91 #[doc = "AUX_EVCTL:EVSTAT2.MCU_OBSMUX1"]
92 MCU_OBSMUX1,
93 #[doc = "AUX_EVCTL:EVSTAT2.MCU_OBSMUX0"]
94 MCU_OBSMUX0,
95 #[doc = "AUX_EVCTL:EVSTAT2.MCU_EV"]
96 MCU_EV,
97 #[doc = "AUX_EVCTL:EVSTAT2.ACLK_REF"]
98 ACLK_REF,
99 #[doc = "AUX_EVCTL:EVSTAT2.VDDR_RECHARGE"]
100 VDDR_RECHARGE,
101 #[doc = "AUX_EVCTL:EVSTAT2.MCU_ACTIVE"]
102 MCU_ACTIVE,
103 #[doc = "AUX_EVCTL:EVSTAT2.PWR_DWN"]
104 PWR_DWN,
105 #[doc = "AUX_EVCTL:EVSTAT2.SCLK_LF"]
106 SCLK_LF,
107 #[doc = "AUX_EVCTL:EVSTAT2.AON_BATMON_TEMP_UPD"]
108 AON_BATMON_TEMP_UPD,
109 #[doc = "AUX_EVCTL:EVSTAT2.AON_BATMON_BAT_UPD"]
110 AON_BATMON_BAT_UPD,
111 #[doc = "AUX_EVCTL:EVSTAT2.AON_RTC_4KHZ"]
112 AON_RTC_4KHZ,
113 #[doc = "AUX_EVCTL:EVSTAT2.AON_RTC_CH2_DLY"]
114 AON_RTC_CH2_DLY,
115 #[doc = "AUX_EVCTL:EVSTAT2.AON_RTC_CH2"]
116 AON_RTC_CH2,
117 #[doc = "AUX_EVCTL:EVSTAT2.MANUAL_EV"]
118 MANUAL_EV,
119 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO31"]
120 AUXIO31,
121 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO30"]
122 AUXIO30,
123 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO29"]
124 AUXIO29,
125 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO28"]
126 AUXIO28,
127 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO27"]
128 AUXIO27,
129 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO26"]
130 AUXIO26,
131 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO25"]
132 AUXIO25,
133 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO24"]
134 AUXIO24,
135 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO23"]
136 AUXIO23,
137 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO22"]
138 AUXIO22,
139 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO21"]
140 AUXIO21,
141 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO20"]
142 AUXIO20,
143 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO19"]
144 AUXIO19,
145 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO18"]
146 AUXIO18,
147 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO17"]
148 AUXIO17,
149 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO16"]
150 AUXIO16,
151 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO15"]
152 AUXIO15,
153 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO14"]
154 AUXIO14,
155 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO13"]
156 AUXIO13,
157 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO12"]
158 AUXIO12,
159 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO11"]
160 AUXIO11,
161 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO10"]
162 AUXIO10,
163 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO9"]
164 AUXIO9,
165 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO8"]
166 AUXIO8,
167 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO7"]
168 AUXIO7,
169 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO6"]
170 AUXIO6,
171 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO5"]
172 AUXIO5,
173 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO4"]
174 AUXIO4,
175 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO3"]
176 AUXIO3,
177 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO2"]
178 AUXIO2,
179 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO1"]
180 AUXIO1,
181 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO0"]
182 AUXIO0,
183 #[doc = r" Reserved"]
184 _Reserved(u8),
185}
186impl CAPT_SRCR {
187 #[doc = r" Value of the field as raw bits"]
188 #[inline]
189 pub fn bits(&self) -> u8 {
190 match *self {
191 CAPT_SRCR::NO_EVENT => 63,
192 CAPT_SRCR::AUX_SMPH_AUTOTAKE_DONE => 61,
193 CAPT_SRCR::AUX_ADC_FIFO_NOT_EMPTY => 60,
194 CAPT_SRCR::AUX_ADC_FIFO_ALMOST_FULL => 59,
195 CAPT_SRCR::AUX_ADC_IRQ => 58,
196 CAPT_SRCR::AUX_ADC_DONE => 57,
197 CAPT_SRCR::AUX_ISRC_RESET_N => 56,
198 CAPT_SRCR::AUX_TDC_DONE => 55,
199 CAPT_SRCR::AUX_TIMER0_EV => 54,
200 CAPT_SRCR::AUX_TIMER1_EV => 53,
201 CAPT_SRCR::AUX_TIMER2_EV3 => 51,
202 CAPT_SRCR::AUX_TIMER2_EV2 => 50,
203 CAPT_SRCR::AUX_TIMER2_EV1 => 49,
204 CAPT_SRCR::AUX_TIMER2_EV0 => 48,
205 CAPT_SRCR::AUX_COMPB => 47,
206 CAPT_SRCR::AUX_COMPA => 46,
207 CAPT_SRCR::MCU_OBSMUX1 => 45,
208 CAPT_SRCR::MCU_OBSMUX0 => 44,
209 CAPT_SRCR::MCU_EV => 43,
210 CAPT_SRCR::ACLK_REF => 42,
211 CAPT_SRCR::VDDR_RECHARGE => 41,
212 CAPT_SRCR::MCU_ACTIVE => 40,
213 CAPT_SRCR::PWR_DWN => 39,
214 CAPT_SRCR::SCLK_LF => 38,
215 CAPT_SRCR::AON_BATMON_TEMP_UPD => 37,
216 CAPT_SRCR::AON_BATMON_BAT_UPD => 36,
217 CAPT_SRCR::AON_RTC_4KHZ => 35,
218 CAPT_SRCR::AON_RTC_CH2_DLY => 34,
219 CAPT_SRCR::AON_RTC_CH2 => 33,
220 CAPT_SRCR::MANUAL_EV => 32,
221 CAPT_SRCR::AUXIO31 => 31,
222 CAPT_SRCR::AUXIO30 => 30,
223 CAPT_SRCR::AUXIO29 => 29,
224 CAPT_SRCR::AUXIO28 => 28,
225 CAPT_SRCR::AUXIO27 => 27,
226 CAPT_SRCR::AUXIO26 => 26,
227 CAPT_SRCR::AUXIO25 => 25,
228 CAPT_SRCR::AUXIO24 => 24,
229 CAPT_SRCR::AUXIO23 => 23,
230 CAPT_SRCR::AUXIO22 => 22,
231 CAPT_SRCR::AUXIO21 => 21,
232 CAPT_SRCR::AUXIO20 => 20,
233 CAPT_SRCR::AUXIO19 => 19,
234 CAPT_SRCR::AUXIO18 => 18,
235 CAPT_SRCR::AUXIO17 => 17,
236 CAPT_SRCR::AUXIO16 => 16,
237 CAPT_SRCR::AUXIO15 => 15,
238 CAPT_SRCR::AUXIO14 => 14,
239 CAPT_SRCR::AUXIO13 => 13,
240 CAPT_SRCR::AUXIO12 => 12,
241 CAPT_SRCR::AUXIO11 => 11,
242 CAPT_SRCR::AUXIO10 => 10,
243 CAPT_SRCR::AUXIO9 => 9,
244 CAPT_SRCR::AUXIO8 => 8,
245 CAPT_SRCR::AUXIO7 => 7,
246 CAPT_SRCR::AUXIO6 => 6,
247 CAPT_SRCR::AUXIO5 => 5,
248 CAPT_SRCR::AUXIO4 => 4,
249 CAPT_SRCR::AUXIO3 => 3,
250 CAPT_SRCR::AUXIO2 => 2,
251 CAPT_SRCR::AUXIO1 => 1,
252 CAPT_SRCR::AUXIO0 => 0,
253 CAPT_SRCR::_Reserved(bits) => bits,
254 }
255 }
256 #[allow(missing_docs)]
257 #[doc(hidden)]
258 #[inline]
259 pub fn _from(value: u8) -> CAPT_SRCR {
260 match value {
261 63 => CAPT_SRCR::NO_EVENT,
262 61 => CAPT_SRCR::AUX_SMPH_AUTOTAKE_DONE,
263 60 => CAPT_SRCR::AUX_ADC_FIFO_NOT_EMPTY,
264 59 => CAPT_SRCR::AUX_ADC_FIFO_ALMOST_FULL,
265 58 => CAPT_SRCR::AUX_ADC_IRQ,
266 57 => CAPT_SRCR::AUX_ADC_DONE,
267 56 => CAPT_SRCR::AUX_ISRC_RESET_N,
268 55 => CAPT_SRCR::AUX_TDC_DONE,
269 54 => CAPT_SRCR::AUX_TIMER0_EV,
270 53 => CAPT_SRCR::AUX_TIMER1_EV,
271 51 => CAPT_SRCR::AUX_TIMER2_EV3,
272 50 => CAPT_SRCR::AUX_TIMER2_EV2,
273 49 => CAPT_SRCR::AUX_TIMER2_EV1,
274 48 => CAPT_SRCR::AUX_TIMER2_EV0,
275 47 => CAPT_SRCR::AUX_COMPB,
276 46 => CAPT_SRCR::AUX_COMPA,
277 45 => CAPT_SRCR::MCU_OBSMUX1,
278 44 => CAPT_SRCR::MCU_OBSMUX0,
279 43 => CAPT_SRCR::MCU_EV,
280 42 => CAPT_SRCR::ACLK_REF,
281 41 => CAPT_SRCR::VDDR_RECHARGE,
282 40 => CAPT_SRCR::MCU_ACTIVE,
283 39 => CAPT_SRCR::PWR_DWN,
284 38 => CAPT_SRCR::SCLK_LF,
285 37 => CAPT_SRCR::AON_BATMON_TEMP_UPD,
286 36 => CAPT_SRCR::AON_BATMON_BAT_UPD,
287 35 => CAPT_SRCR::AON_RTC_4KHZ,
288 34 => CAPT_SRCR::AON_RTC_CH2_DLY,
289 33 => CAPT_SRCR::AON_RTC_CH2,
290 32 => CAPT_SRCR::MANUAL_EV,
291 31 => CAPT_SRCR::AUXIO31,
292 30 => CAPT_SRCR::AUXIO30,
293 29 => CAPT_SRCR::AUXIO29,
294 28 => CAPT_SRCR::AUXIO28,
295 27 => CAPT_SRCR::AUXIO27,
296 26 => CAPT_SRCR::AUXIO26,
297 25 => CAPT_SRCR::AUXIO25,
298 24 => CAPT_SRCR::AUXIO24,
299 23 => CAPT_SRCR::AUXIO23,
300 22 => CAPT_SRCR::AUXIO22,
301 21 => CAPT_SRCR::AUXIO21,
302 20 => CAPT_SRCR::AUXIO20,
303 19 => CAPT_SRCR::AUXIO19,
304 18 => CAPT_SRCR::AUXIO18,
305 17 => CAPT_SRCR::AUXIO17,
306 16 => CAPT_SRCR::AUXIO16,
307 15 => CAPT_SRCR::AUXIO15,
308 14 => CAPT_SRCR::AUXIO14,
309 13 => CAPT_SRCR::AUXIO13,
310 12 => CAPT_SRCR::AUXIO12,
311 11 => CAPT_SRCR::AUXIO11,
312 10 => CAPT_SRCR::AUXIO10,
313 9 => CAPT_SRCR::AUXIO9,
314 8 => CAPT_SRCR::AUXIO8,
315 7 => CAPT_SRCR::AUXIO7,
316 6 => CAPT_SRCR::AUXIO6,
317 5 => CAPT_SRCR::AUXIO5,
318 4 => CAPT_SRCR::AUXIO4,
319 3 => CAPT_SRCR::AUXIO3,
320 2 => CAPT_SRCR::AUXIO2,
321 1 => CAPT_SRCR::AUXIO1,
322 0 => CAPT_SRCR::AUXIO0,
323 i => CAPT_SRCR::_Reserved(i),
324 }
325 }
326 #[doc = "Checks if the value of the field is `NO_EVENT`"]
327 #[inline]
328 pub fn is_no_event(&self) -> bool {
329 *self == CAPT_SRCR::NO_EVENT
330 }
331 #[doc = "Checks if the value of the field is `AUX_SMPH_AUTOTAKE_DONE`"]
332 #[inline]
333 pub fn is_aux_smph_autotake_done(&self) -> bool {
334 *self == CAPT_SRCR::AUX_SMPH_AUTOTAKE_DONE
335 }
336 #[doc = "Checks if the value of the field is `AUX_ADC_FIFO_NOT_EMPTY`"]
337 #[inline]
338 pub fn is_aux_adc_fifo_not_empty(&self) -> bool {
339 *self == CAPT_SRCR::AUX_ADC_FIFO_NOT_EMPTY
340 }
341 #[doc = "Checks if the value of the field is `AUX_ADC_FIFO_ALMOST_FULL`"]
342 #[inline]
343 pub fn is_aux_adc_fifo_almost_full(&self) -> bool {
344 *self == CAPT_SRCR::AUX_ADC_FIFO_ALMOST_FULL
345 }
346 #[doc = "Checks if the value of the field is `AUX_ADC_IRQ`"]
347 #[inline]
348 pub fn is_aux_adc_irq(&self) -> bool {
349 *self == CAPT_SRCR::AUX_ADC_IRQ
350 }
351 #[doc = "Checks if the value of the field is `AUX_ADC_DONE`"]
352 #[inline]
353 pub fn is_aux_adc_done(&self) -> bool {
354 *self == CAPT_SRCR::AUX_ADC_DONE
355 }
356 #[doc = "Checks if the value of the field is `AUX_ISRC_RESET_N`"]
357 #[inline]
358 pub fn is_aux_isrc_reset_n(&self) -> bool {
359 *self == CAPT_SRCR::AUX_ISRC_RESET_N
360 }
361 #[doc = "Checks if the value of the field is `AUX_TDC_DONE`"]
362 #[inline]
363 pub fn is_aux_tdc_done(&self) -> bool {
364 *self == CAPT_SRCR::AUX_TDC_DONE
365 }
366 #[doc = "Checks if the value of the field is `AUX_TIMER0_EV`"]
367 #[inline]
368 pub fn is_aux_timer0_ev(&self) -> bool {
369 *self == CAPT_SRCR::AUX_TIMER0_EV
370 }
371 #[doc = "Checks if the value of the field is `AUX_TIMER1_EV`"]
372 #[inline]
373 pub fn is_aux_timer1_ev(&self) -> bool {
374 *self == CAPT_SRCR::AUX_TIMER1_EV
375 }
376 #[doc = "Checks if the value of the field is `AUX_TIMER2_EV3`"]
377 #[inline]
378 pub fn is_aux_timer2_ev3(&self) -> bool {
379 *self == CAPT_SRCR::AUX_TIMER2_EV3
380 }
381 #[doc = "Checks if the value of the field is `AUX_TIMER2_EV2`"]
382 #[inline]
383 pub fn is_aux_timer2_ev2(&self) -> bool {
384 *self == CAPT_SRCR::AUX_TIMER2_EV2
385 }
386 #[doc = "Checks if the value of the field is `AUX_TIMER2_EV1`"]
387 #[inline]
388 pub fn is_aux_timer2_ev1(&self) -> bool {
389 *self == CAPT_SRCR::AUX_TIMER2_EV1
390 }
391 #[doc = "Checks if the value of the field is `AUX_TIMER2_EV0`"]
392 #[inline]
393 pub fn is_aux_timer2_ev0(&self) -> bool {
394 *self == CAPT_SRCR::AUX_TIMER2_EV0
395 }
396 #[doc = "Checks if the value of the field is `AUX_COMPB`"]
397 #[inline]
398 pub fn is_aux_compb(&self) -> bool {
399 *self == CAPT_SRCR::AUX_COMPB
400 }
401 #[doc = "Checks if the value of the field is `AUX_COMPA`"]
402 #[inline]
403 pub fn is_aux_compa(&self) -> bool {
404 *self == CAPT_SRCR::AUX_COMPA
405 }
406 #[doc = "Checks if the value of the field is `MCU_OBSMUX1`"]
407 #[inline]
408 pub fn is_mcu_obsmux1(&self) -> bool {
409 *self == CAPT_SRCR::MCU_OBSMUX1
410 }
411 #[doc = "Checks if the value of the field is `MCU_OBSMUX0`"]
412 #[inline]
413 pub fn is_mcu_obsmux0(&self) -> bool {
414 *self == CAPT_SRCR::MCU_OBSMUX0
415 }
416 #[doc = "Checks if the value of the field is `MCU_EV`"]
417 #[inline]
418 pub fn is_mcu_ev(&self) -> bool {
419 *self == CAPT_SRCR::MCU_EV
420 }
421 #[doc = "Checks if the value of the field is `ACLK_REF`"]
422 #[inline]
423 pub fn is_aclk_ref(&self) -> bool {
424 *self == CAPT_SRCR::ACLK_REF
425 }
426 #[doc = "Checks if the value of the field is `VDDR_RECHARGE`"]
427 #[inline]
428 pub fn is_vddr_recharge(&self) -> bool {
429 *self == CAPT_SRCR::VDDR_RECHARGE
430 }
431 #[doc = "Checks if the value of the field is `MCU_ACTIVE`"]
432 #[inline]
433 pub fn is_mcu_active(&self) -> bool {
434 *self == CAPT_SRCR::MCU_ACTIVE
435 }
436 #[doc = "Checks if the value of the field is `PWR_DWN`"]
437 #[inline]
438 pub fn is_pwr_dwn(&self) -> bool {
439 *self == CAPT_SRCR::PWR_DWN
440 }
441 #[doc = "Checks if the value of the field is `SCLK_LF`"]
442 #[inline]
443 pub fn is_sclk_lf(&self) -> bool {
444 *self == CAPT_SRCR::SCLK_LF
445 }
446 #[doc = "Checks if the value of the field is `AON_BATMON_TEMP_UPD`"]
447 #[inline]
448 pub fn is_aon_batmon_temp_upd(&self) -> bool {
449 *self == CAPT_SRCR::AON_BATMON_TEMP_UPD
450 }
451 #[doc = "Checks if the value of the field is `AON_BATMON_BAT_UPD`"]
452 #[inline]
453 pub fn is_aon_batmon_bat_upd(&self) -> bool {
454 *self == CAPT_SRCR::AON_BATMON_BAT_UPD
455 }
456 #[doc = "Checks if the value of the field is `AON_RTC_4KHZ`"]
457 #[inline]
458 pub fn is_aon_rtc_4khz(&self) -> bool {
459 *self == CAPT_SRCR::AON_RTC_4KHZ
460 }
461 #[doc = "Checks if the value of the field is `AON_RTC_CH2_DLY`"]
462 #[inline]
463 pub fn is_aon_rtc_ch2_dly(&self) -> bool {
464 *self == CAPT_SRCR::AON_RTC_CH2_DLY
465 }
466 #[doc = "Checks if the value of the field is `AON_RTC_CH2`"]
467 #[inline]
468 pub fn is_aon_rtc_ch2(&self) -> bool {
469 *self == CAPT_SRCR::AON_RTC_CH2
470 }
471 #[doc = "Checks if the value of the field is `MANUAL_EV`"]
472 #[inline]
473 pub fn is_manual_ev(&self) -> bool {
474 *self == CAPT_SRCR::MANUAL_EV
475 }
476 #[doc = "Checks if the value of the field is `AUXIO31`"]
477 #[inline]
478 pub fn is_auxio31(&self) -> bool {
479 *self == CAPT_SRCR::AUXIO31
480 }
481 #[doc = "Checks if the value of the field is `AUXIO30`"]
482 #[inline]
483 pub fn is_auxio30(&self) -> bool {
484 *self == CAPT_SRCR::AUXIO30
485 }
486 #[doc = "Checks if the value of the field is `AUXIO29`"]
487 #[inline]
488 pub fn is_auxio29(&self) -> bool {
489 *self == CAPT_SRCR::AUXIO29
490 }
491 #[doc = "Checks if the value of the field is `AUXIO28`"]
492 #[inline]
493 pub fn is_auxio28(&self) -> bool {
494 *self == CAPT_SRCR::AUXIO28
495 }
496 #[doc = "Checks if the value of the field is `AUXIO27`"]
497 #[inline]
498 pub fn is_auxio27(&self) -> bool {
499 *self == CAPT_SRCR::AUXIO27
500 }
501 #[doc = "Checks if the value of the field is `AUXIO26`"]
502 #[inline]
503 pub fn is_auxio26(&self) -> bool {
504 *self == CAPT_SRCR::AUXIO26
505 }
506 #[doc = "Checks if the value of the field is `AUXIO25`"]
507 #[inline]
508 pub fn is_auxio25(&self) -> bool {
509 *self == CAPT_SRCR::AUXIO25
510 }
511 #[doc = "Checks if the value of the field is `AUXIO24`"]
512 #[inline]
513 pub fn is_auxio24(&self) -> bool {
514 *self == CAPT_SRCR::AUXIO24
515 }
516 #[doc = "Checks if the value of the field is `AUXIO23`"]
517 #[inline]
518 pub fn is_auxio23(&self) -> bool {
519 *self == CAPT_SRCR::AUXIO23
520 }
521 #[doc = "Checks if the value of the field is `AUXIO22`"]
522 #[inline]
523 pub fn is_auxio22(&self) -> bool {
524 *self == CAPT_SRCR::AUXIO22
525 }
526 #[doc = "Checks if the value of the field is `AUXIO21`"]
527 #[inline]
528 pub fn is_auxio21(&self) -> bool {
529 *self == CAPT_SRCR::AUXIO21
530 }
531 #[doc = "Checks if the value of the field is `AUXIO20`"]
532 #[inline]
533 pub fn is_auxio20(&self) -> bool {
534 *self == CAPT_SRCR::AUXIO20
535 }
536 #[doc = "Checks if the value of the field is `AUXIO19`"]
537 #[inline]
538 pub fn is_auxio19(&self) -> bool {
539 *self == CAPT_SRCR::AUXIO19
540 }
541 #[doc = "Checks if the value of the field is `AUXIO18`"]
542 #[inline]
543 pub fn is_auxio18(&self) -> bool {
544 *self == CAPT_SRCR::AUXIO18
545 }
546 #[doc = "Checks if the value of the field is `AUXIO17`"]
547 #[inline]
548 pub fn is_auxio17(&self) -> bool {
549 *self == CAPT_SRCR::AUXIO17
550 }
551 #[doc = "Checks if the value of the field is `AUXIO16`"]
552 #[inline]
553 pub fn is_auxio16(&self) -> bool {
554 *self == CAPT_SRCR::AUXIO16
555 }
556 #[doc = "Checks if the value of the field is `AUXIO15`"]
557 #[inline]
558 pub fn is_auxio15(&self) -> bool {
559 *self == CAPT_SRCR::AUXIO15
560 }
561 #[doc = "Checks if the value of the field is `AUXIO14`"]
562 #[inline]
563 pub fn is_auxio14(&self) -> bool {
564 *self == CAPT_SRCR::AUXIO14
565 }
566 #[doc = "Checks if the value of the field is `AUXIO13`"]
567 #[inline]
568 pub fn is_auxio13(&self) -> bool {
569 *self == CAPT_SRCR::AUXIO13
570 }
571 #[doc = "Checks if the value of the field is `AUXIO12`"]
572 #[inline]
573 pub fn is_auxio12(&self) -> bool {
574 *self == CAPT_SRCR::AUXIO12
575 }
576 #[doc = "Checks if the value of the field is `AUXIO11`"]
577 #[inline]
578 pub fn is_auxio11(&self) -> bool {
579 *self == CAPT_SRCR::AUXIO11
580 }
581 #[doc = "Checks if the value of the field is `AUXIO10`"]
582 #[inline]
583 pub fn is_auxio10(&self) -> bool {
584 *self == CAPT_SRCR::AUXIO10
585 }
586 #[doc = "Checks if the value of the field is `AUXIO9`"]
587 #[inline]
588 pub fn is_auxio9(&self) -> bool {
589 *self == CAPT_SRCR::AUXIO9
590 }
591 #[doc = "Checks if the value of the field is `AUXIO8`"]
592 #[inline]
593 pub fn is_auxio8(&self) -> bool {
594 *self == CAPT_SRCR::AUXIO8
595 }
596 #[doc = "Checks if the value of the field is `AUXIO7`"]
597 #[inline]
598 pub fn is_auxio7(&self) -> bool {
599 *self == CAPT_SRCR::AUXIO7
600 }
601 #[doc = "Checks if the value of the field is `AUXIO6`"]
602 #[inline]
603 pub fn is_auxio6(&self) -> bool {
604 *self == CAPT_SRCR::AUXIO6
605 }
606 #[doc = "Checks if the value of the field is `AUXIO5`"]
607 #[inline]
608 pub fn is_auxio5(&self) -> bool {
609 *self == CAPT_SRCR::AUXIO5
610 }
611 #[doc = "Checks if the value of the field is `AUXIO4`"]
612 #[inline]
613 pub fn is_auxio4(&self) -> bool {
614 *self == CAPT_SRCR::AUXIO4
615 }
616 #[doc = "Checks if the value of the field is `AUXIO3`"]
617 #[inline]
618 pub fn is_auxio3(&self) -> bool {
619 *self == CAPT_SRCR::AUXIO3
620 }
621 #[doc = "Checks if the value of the field is `AUXIO2`"]
622 #[inline]
623 pub fn is_auxio2(&self) -> bool {
624 *self == CAPT_SRCR::AUXIO2
625 }
626 #[doc = "Checks if the value of the field is `AUXIO1`"]
627 #[inline]
628 pub fn is_auxio1(&self) -> bool {
629 *self == CAPT_SRCR::AUXIO1
630 }
631 #[doc = "Checks if the value of the field is `AUXIO0`"]
632 #[inline]
633 pub fn is_auxio0(&self) -> bool {
634 *self == CAPT_SRCR::AUXIO0
635 }
636}
637#[doc = "Possible values of the field `EDGE`"]
638#[derive(Clone, Copy, Debug, PartialEq)]
639pub enum EDGER {
640 #[doc = "Capture CNTR.VALUE at rising edge of CAPT_SRC."]
641 RISING,
642 #[doc = "Capture CNTR.VALUE at falling edge of CAPT_SRC."]
643 FALLING,
644}
645impl EDGER {
646 #[doc = r" Returns `true` if the bit is clear (0)"]
647 #[inline]
648 pub fn bit_is_clear(&self) -> bool {
649 !self.bit()
650 }
651 #[doc = r" Returns `true` if the bit is set (1)"]
652 #[inline]
653 pub fn bit_is_set(&self) -> bool {
654 self.bit()
655 }
656 #[doc = r" Value of the field as raw bits"]
657 #[inline]
658 pub fn bit(&self) -> bool {
659 match *self {
660 EDGER::RISING => true,
661 EDGER::FALLING => false,
662 }
663 }
664 #[allow(missing_docs)]
665 #[doc(hidden)]
666 #[inline]
667 pub fn _from(value: bool) -> EDGER {
668 match value {
669 true => EDGER::RISING,
670 false => EDGER::FALLING,
671 }
672 }
673 #[doc = "Checks if the value of the field is `RISING`"]
674 #[inline]
675 pub fn is_rising(&self) -> bool {
676 *self == EDGER::RISING
677 }
678 #[doc = "Checks if the value of the field is `FALLING`"]
679 #[inline]
680 pub fn is_falling(&self) -> bool {
681 *self == EDGER::FALLING
682 }
683}
684#[doc = r" Proxy"]
685pub struct _RESERVED7W<'a> {
686 w: &'a mut W,
687}
688impl<'a> _RESERVED7W<'a> {
689 #[doc = r" Writes raw bits to the field"]
690 #[inline]
691 pub unsafe fn bits(self, value: u32) -> &'a mut W {
692 const MASK: u32 = 33554431;
693 const OFFSET: u8 = 7;
694 self.w.bits &= !((MASK as u32) << OFFSET);
695 self.w.bits |= ((value & MASK) as u32) << OFFSET;
696 self.w
697 }
698}
699#[doc = "Values that can be written to the field `CAPT_SRC`"]
700pub enum CAPT_SRCW {
701 #[doc = "No event."]
702 NO_EVENT,
703 #[doc = "AUX_EVCTL:EVSTAT3.AUX_SMPH_AUTOTAKE_DONE"]
704 AUX_SMPH_AUTOTAKE_DONE,
705 #[doc = "AUX_EVCTL:EVSTAT3.AUX_ADC_FIFO_NOT_EMPTY"]
706 AUX_ADC_FIFO_NOT_EMPTY,
707 #[doc = "AUX_EVCTL:EVSTAT3.AUX_ADC_FIFO_ALMOST_FULL"]
708 AUX_ADC_FIFO_ALMOST_FULL,
709 #[doc = "AUX_EVCTL:EVSTAT3.AUX_ADC_IRQ"]
710 AUX_ADC_IRQ,
711 #[doc = "AUX_EVCTL:EVSTAT3.AUX_ADC_DONE"]
712 AUX_ADC_DONE,
713 #[doc = "AUX_EVCTL:EVSTAT3.AUX_ISRC_RESET_N"]
714 AUX_ISRC_RESET_N,
715 #[doc = "AUX_EVCTL:EVSTAT3.AUX_TDC_DONE"]
716 AUX_TDC_DONE,
717 #[doc = "AUX_EVCTL:EVSTAT3.AUX_TIMER0_EV"]
718 AUX_TIMER0_EV,
719 #[doc = "AUX_EVCTL:EVSTAT3.AUX_TIMER1_EV"]
720 AUX_TIMER1_EV,
721 #[doc = "AUX_EVCTL:EVSTAT3.AUX_TIMER2_EV3"]
722 AUX_TIMER2_EV3,
723 #[doc = "AUX_EVCTL:EVSTAT3.AUX_TIMER2_EV2"]
724 AUX_TIMER2_EV2,
725 #[doc = "AUX_EVCTL:EVSTAT3.AUX_TIMER2_EV1"]
726 AUX_TIMER2_EV1,
727 #[doc = "AUX_EVCTL:EVSTAT3.AUX_TIMER2_EV0"]
728 AUX_TIMER2_EV0,
729 #[doc = "AUX_EVCTL:EVSTAT2.AUX_COMPB"]
730 AUX_COMPB,
731 #[doc = "AUX_EVCTL:EVSTAT2.AUX_COMPA"]
732 AUX_COMPA,
733 #[doc = "AUX_EVCTL:EVSTAT2.MCU_OBSMUX1"]
734 MCU_OBSMUX1,
735 #[doc = "AUX_EVCTL:EVSTAT2.MCU_OBSMUX0"]
736 MCU_OBSMUX0,
737 #[doc = "AUX_EVCTL:EVSTAT2.MCU_EV"]
738 MCU_EV,
739 #[doc = "AUX_EVCTL:EVSTAT2.ACLK_REF"]
740 ACLK_REF,
741 #[doc = "AUX_EVCTL:EVSTAT2.VDDR_RECHARGE"]
742 VDDR_RECHARGE,
743 #[doc = "AUX_EVCTL:EVSTAT2.MCU_ACTIVE"]
744 MCU_ACTIVE,
745 #[doc = "AUX_EVCTL:EVSTAT2.PWR_DWN"]
746 PWR_DWN,
747 #[doc = "AUX_EVCTL:EVSTAT2.SCLK_LF"]
748 SCLK_LF,
749 #[doc = "AUX_EVCTL:EVSTAT2.AON_BATMON_TEMP_UPD"]
750 AON_BATMON_TEMP_UPD,
751 #[doc = "AUX_EVCTL:EVSTAT2.AON_BATMON_BAT_UPD"]
752 AON_BATMON_BAT_UPD,
753 #[doc = "AUX_EVCTL:EVSTAT2.AON_RTC_4KHZ"]
754 AON_RTC_4KHZ,
755 #[doc = "AUX_EVCTL:EVSTAT2.AON_RTC_CH2_DLY"]
756 AON_RTC_CH2_DLY,
757 #[doc = "AUX_EVCTL:EVSTAT2.AON_RTC_CH2"]
758 AON_RTC_CH2,
759 #[doc = "AUX_EVCTL:EVSTAT2.MANUAL_EV"]
760 MANUAL_EV,
761 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO31"]
762 AUXIO31,
763 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO30"]
764 AUXIO30,
765 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO29"]
766 AUXIO29,
767 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO28"]
768 AUXIO28,
769 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO27"]
770 AUXIO27,
771 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO26"]
772 AUXIO26,
773 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO25"]
774 AUXIO25,
775 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO24"]
776 AUXIO24,
777 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO23"]
778 AUXIO23,
779 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO22"]
780 AUXIO22,
781 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO21"]
782 AUXIO21,
783 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO20"]
784 AUXIO20,
785 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO19"]
786 AUXIO19,
787 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO18"]
788 AUXIO18,
789 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO17"]
790 AUXIO17,
791 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO16"]
792 AUXIO16,
793 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO15"]
794 AUXIO15,
795 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO14"]
796 AUXIO14,
797 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO13"]
798 AUXIO13,
799 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO12"]
800 AUXIO12,
801 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO11"]
802 AUXIO11,
803 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO10"]
804 AUXIO10,
805 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO9"]
806 AUXIO9,
807 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO8"]
808 AUXIO8,
809 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO7"]
810 AUXIO7,
811 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO6"]
812 AUXIO6,
813 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO5"]
814 AUXIO5,
815 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO4"]
816 AUXIO4,
817 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO3"]
818 AUXIO3,
819 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO2"]
820 AUXIO2,
821 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO1"]
822 AUXIO1,
823 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO0"]
824 AUXIO0,
825}
826impl CAPT_SRCW {
827 #[allow(missing_docs)]
828 #[doc(hidden)]
829 #[inline]
830 pub fn _bits(&self) -> u8 {
831 match *self {
832 CAPT_SRCW::NO_EVENT => 63,
833 CAPT_SRCW::AUX_SMPH_AUTOTAKE_DONE => 61,
834 CAPT_SRCW::AUX_ADC_FIFO_NOT_EMPTY => 60,
835 CAPT_SRCW::AUX_ADC_FIFO_ALMOST_FULL => 59,
836 CAPT_SRCW::AUX_ADC_IRQ => 58,
837 CAPT_SRCW::AUX_ADC_DONE => 57,
838 CAPT_SRCW::AUX_ISRC_RESET_N => 56,
839 CAPT_SRCW::AUX_TDC_DONE => 55,
840 CAPT_SRCW::AUX_TIMER0_EV => 54,
841 CAPT_SRCW::AUX_TIMER1_EV => 53,
842 CAPT_SRCW::AUX_TIMER2_EV3 => 51,
843 CAPT_SRCW::AUX_TIMER2_EV2 => 50,
844 CAPT_SRCW::AUX_TIMER2_EV1 => 49,
845 CAPT_SRCW::AUX_TIMER2_EV0 => 48,
846 CAPT_SRCW::AUX_COMPB => 47,
847 CAPT_SRCW::AUX_COMPA => 46,
848 CAPT_SRCW::MCU_OBSMUX1 => 45,
849 CAPT_SRCW::MCU_OBSMUX0 => 44,
850 CAPT_SRCW::MCU_EV => 43,
851 CAPT_SRCW::ACLK_REF => 42,
852 CAPT_SRCW::VDDR_RECHARGE => 41,
853 CAPT_SRCW::MCU_ACTIVE => 40,
854 CAPT_SRCW::PWR_DWN => 39,
855 CAPT_SRCW::SCLK_LF => 38,
856 CAPT_SRCW::AON_BATMON_TEMP_UPD => 37,
857 CAPT_SRCW::AON_BATMON_BAT_UPD => 36,
858 CAPT_SRCW::AON_RTC_4KHZ => 35,
859 CAPT_SRCW::AON_RTC_CH2_DLY => 34,
860 CAPT_SRCW::AON_RTC_CH2 => 33,
861 CAPT_SRCW::MANUAL_EV => 32,
862 CAPT_SRCW::AUXIO31 => 31,
863 CAPT_SRCW::AUXIO30 => 30,
864 CAPT_SRCW::AUXIO29 => 29,
865 CAPT_SRCW::AUXIO28 => 28,
866 CAPT_SRCW::AUXIO27 => 27,
867 CAPT_SRCW::AUXIO26 => 26,
868 CAPT_SRCW::AUXIO25 => 25,
869 CAPT_SRCW::AUXIO24 => 24,
870 CAPT_SRCW::AUXIO23 => 23,
871 CAPT_SRCW::AUXIO22 => 22,
872 CAPT_SRCW::AUXIO21 => 21,
873 CAPT_SRCW::AUXIO20 => 20,
874 CAPT_SRCW::AUXIO19 => 19,
875 CAPT_SRCW::AUXIO18 => 18,
876 CAPT_SRCW::AUXIO17 => 17,
877 CAPT_SRCW::AUXIO16 => 16,
878 CAPT_SRCW::AUXIO15 => 15,
879 CAPT_SRCW::AUXIO14 => 14,
880 CAPT_SRCW::AUXIO13 => 13,
881 CAPT_SRCW::AUXIO12 => 12,
882 CAPT_SRCW::AUXIO11 => 11,
883 CAPT_SRCW::AUXIO10 => 10,
884 CAPT_SRCW::AUXIO9 => 9,
885 CAPT_SRCW::AUXIO8 => 8,
886 CAPT_SRCW::AUXIO7 => 7,
887 CAPT_SRCW::AUXIO6 => 6,
888 CAPT_SRCW::AUXIO5 => 5,
889 CAPT_SRCW::AUXIO4 => 4,
890 CAPT_SRCW::AUXIO3 => 3,
891 CAPT_SRCW::AUXIO2 => 2,
892 CAPT_SRCW::AUXIO1 => 1,
893 CAPT_SRCW::AUXIO0 => 0,
894 }
895 }
896}
897#[doc = r" Proxy"]
898pub struct _CAPT_SRCW<'a> {
899 w: &'a mut W,
900}
901impl<'a> _CAPT_SRCW<'a> {
902 #[doc = r" Writes `variant` to the field"]
903 #[inline]
904 pub fn variant(self, variant: CAPT_SRCW) -> &'a mut W {
905 unsafe { self.bits(variant._bits()) }
906 }
907 #[doc = "No event."]
908 #[inline]
909 pub fn no_event(self) -> &'a mut W {
910 self.variant(CAPT_SRCW::NO_EVENT)
911 }
912 #[doc = "AUX_EVCTL:EVSTAT3.AUX_SMPH_AUTOTAKE_DONE"]
913 #[inline]
914 pub fn aux_smph_autotake_done(self) -> &'a mut W {
915 self.variant(CAPT_SRCW::AUX_SMPH_AUTOTAKE_DONE)
916 }
917 #[doc = "AUX_EVCTL:EVSTAT3.AUX_ADC_FIFO_NOT_EMPTY"]
918 #[inline]
919 pub fn aux_adc_fifo_not_empty(self) -> &'a mut W {
920 self.variant(CAPT_SRCW::AUX_ADC_FIFO_NOT_EMPTY)
921 }
922 #[doc = "AUX_EVCTL:EVSTAT3.AUX_ADC_FIFO_ALMOST_FULL"]
923 #[inline]
924 pub fn aux_adc_fifo_almost_full(self) -> &'a mut W {
925 self.variant(CAPT_SRCW::AUX_ADC_FIFO_ALMOST_FULL)
926 }
927 #[doc = "AUX_EVCTL:EVSTAT3.AUX_ADC_IRQ"]
928 #[inline]
929 pub fn aux_adc_irq(self) -> &'a mut W {
930 self.variant(CAPT_SRCW::AUX_ADC_IRQ)
931 }
932 #[doc = "AUX_EVCTL:EVSTAT3.AUX_ADC_DONE"]
933 #[inline]
934 pub fn aux_adc_done(self) -> &'a mut W {
935 self.variant(CAPT_SRCW::AUX_ADC_DONE)
936 }
937 #[doc = "AUX_EVCTL:EVSTAT3.AUX_ISRC_RESET_N"]
938 #[inline]
939 pub fn aux_isrc_reset_n(self) -> &'a mut W {
940 self.variant(CAPT_SRCW::AUX_ISRC_RESET_N)
941 }
942 #[doc = "AUX_EVCTL:EVSTAT3.AUX_TDC_DONE"]
943 #[inline]
944 pub fn aux_tdc_done(self) -> &'a mut W {
945 self.variant(CAPT_SRCW::AUX_TDC_DONE)
946 }
947 #[doc = "AUX_EVCTL:EVSTAT3.AUX_TIMER0_EV"]
948 #[inline]
949 pub fn aux_timer0_ev(self) -> &'a mut W {
950 self.variant(CAPT_SRCW::AUX_TIMER0_EV)
951 }
952 #[doc = "AUX_EVCTL:EVSTAT3.AUX_TIMER1_EV"]
953 #[inline]
954 pub fn aux_timer1_ev(self) -> &'a mut W {
955 self.variant(CAPT_SRCW::AUX_TIMER1_EV)
956 }
957 #[doc = "AUX_EVCTL:EVSTAT3.AUX_TIMER2_EV3"]
958 #[inline]
959 pub fn aux_timer2_ev3(self) -> &'a mut W {
960 self.variant(CAPT_SRCW::AUX_TIMER2_EV3)
961 }
962 #[doc = "AUX_EVCTL:EVSTAT3.AUX_TIMER2_EV2"]
963 #[inline]
964 pub fn aux_timer2_ev2(self) -> &'a mut W {
965 self.variant(CAPT_SRCW::AUX_TIMER2_EV2)
966 }
967 #[doc = "AUX_EVCTL:EVSTAT3.AUX_TIMER2_EV1"]
968 #[inline]
969 pub fn aux_timer2_ev1(self) -> &'a mut W {
970 self.variant(CAPT_SRCW::AUX_TIMER2_EV1)
971 }
972 #[doc = "AUX_EVCTL:EVSTAT3.AUX_TIMER2_EV0"]
973 #[inline]
974 pub fn aux_timer2_ev0(self) -> &'a mut W {
975 self.variant(CAPT_SRCW::AUX_TIMER2_EV0)
976 }
977 #[doc = "AUX_EVCTL:EVSTAT2.AUX_COMPB"]
978 #[inline]
979 pub fn aux_compb(self) -> &'a mut W {
980 self.variant(CAPT_SRCW::AUX_COMPB)
981 }
982 #[doc = "AUX_EVCTL:EVSTAT2.AUX_COMPA"]
983 #[inline]
984 pub fn aux_compa(self) -> &'a mut W {
985 self.variant(CAPT_SRCW::AUX_COMPA)
986 }
987 #[doc = "AUX_EVCTL:EVSTAT2.MCU_OBSMUX1"]
988 #[inline]
989 pub fn mcu_obsmux1(self) -> &'a mut W {
990 self.variant(CAPT_SRCW::MCU_OBSMUX1)
991 }
992 #[doc = "AUX_EVCTL:EVSTAT2.MCU_OBSMUX0"]
993 #[inline]
994 pub fn mcu_obsmux0(self) -> &'a mut W {
995 self.variant(CAPT_SRCW::MCU_OBSMUX0)
996 }
997 #[doc = "AUX_EVCTL:EVSTAT2.MCU_EV"]
998 #[inline]
999 pub fn mcu_ev(self) -> &'a mut W {
1000 self.variant(CAPT_SRCW::MCU_EV)
1001 }
1002 #[doc = "AUX_EVCTL:EVSTAT2.ACLK_REF"]
1003 #[inline]
1004 pub fn aclk_ref(self) -> &'a mut W {
1005 self.variant(CAPT_SRCW::ACLK_REF)
1006 }
1007 #[doc = "AUX_EVCTL:EVSTAT2.VDDR_RECHARGE"]
1008 #[inline]
1009 pub fn vddr_recharge(self) -> &'a mut W {
1010 self.variant(CAPT_SRCW::VDDR_RECHARGE)
1011 }
1012 #[doc = "AUX_EVCTL:EVSTAT2.MCU_ACTIVE"]
1013 #[inline]
1014 pub fn mcu_active(self) -> &'a mut W {
1015 self.variant(CAPT_SRCW::MCU_ACTIVE)
1016 }
1017 #[doc = "AUX_EVCTL:EVSTAT2.PWR_DWN"]
1018 #[inline]
1019 pub fn pwr_dwn(self) -> &'a mut W {
1020 self.variant(CAPT_SRCW::PWR_DWN)
1021 }
1022 #[doc = "AUX_EVCTL:EVSTAT2.SCLK_LF"]
1023 #[inline]
1024 pub fn sclk_lf(self) -> &'a mut W {
1025 self.variant(CAPT_SRCW::SCLK_LF)
1026 }
1027 #[doc = "AUX_EVCTL:EVSTAT2.AON_BATMON_TEMP_UPD"]
1028 #[inline]
1029 pub fn aon_batmon_temp_upd(self) -> &'a mut W {
1030 self.variant(CAPT_SRCW::AON_BATMON_TEMP_UPD)
1031 }
1032 #[doc = "AUX_EVCTL:EVSTAT2.AON_BATMON_BAT_UPD"]
1033 #[inline]
1034 pub fn aon_batmon_bat_upd(self) -> &'a mut W {
1035 self.variant(CAPT_SRCW::AON_BATMON_BAT_UPD)
1036 }
1037 #[doc = "AUX_EVCTL:EVSTAT2.AON_RTC_4KHZ"]
1038 #[inline]
1039 pub fn aon_rtc_4khz(self) -> &'a mut W {
1040 self.variant(CAPT_SRCW::AON_RTC_4KHZ)
1041 }
1042 #[doc = "AUX_EVCTL:EVSTAT2.AON_RTC_CH2_DLY"]
1043 #[inline]
1044 pub fn aon_rtc_ch2_dly(self) -> &'a mut W {
1045 self.variant(CAPT_SRCW::AON_RTC_CH2_DLY)
1046 }
1047 #[doc = "AUX_EVCTL:EVSTAT2.AON_RTC_CH2"]
1048 #[inline]
1049 pub fn aon_rtc_ch2(self) -> &'a mut W {
1050 self.variant(CAPT_SRCW::AON_RTC_CH2)
1051 }
1052 #[doc = "AUX_EVCTL:EVSTAT2.MANUAL_EV"]
1053 #[inline]
1054 pub fn manual_ev(self) -> &'a mut W {
1055 self.variant(CAPT_SRCW::MANUAL_EV)
1056 }
1057 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO31"]
1058 #[inline]
1059 pub fn auxio31(self) -> &'a mut W {
1060 self.variant(CAPT_SRCW::AUXIO31)
1061 }
1062 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO30"]
1063 #[inline]
1064 pub fn auxio30(self) -> &'a mut W {
1065 self.variant(CAPT_SRCW::AUXIO30)
1066 }
1067 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO29"]
1068 #[inline]
1069 pub fn auxio29(self) -> &'a mut W {
1070 self.variant(CAPT_SRCW::AUXIO29)
1071 }
1072 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO28"]
1073 #[inline]
1074 pub fn auxio28(self) -> &'a mut W {
1075 self.variant(CAPT_SRCW::AUXIO28)
1076 }
1077 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO27"]
1078 #[inline]
1079 pub fn auxio27(self) -> &'a mut W {
1080 self.variant(CAPT_SRCW::AUXIO27)
1081 }
1082 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO26"]
1083 #[inline]
1084 pub fn auxio26(self) -> &'a mut W {
1085 self.variant(CAPT_SRCW::AUXIO26)
1086 }
1087 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO25"]
1088 #[inline]
1089 pub fn auxio25(self) -> &'a mut W {
1090 self.variant(CAPT_SRCW::AUXIO25)
1091 }
1092 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO24"]
1093 #[inline]
1094 pub fn auxio24(self) -> &'a mut W {
1095 self.variant(CAPT_SRCW::AUXIO24)
1096 }
1097 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO23"]
1098 #[inline]
1099 pub fn auxio23(self) -> &'a mut W {
1100 self.variant(CAPT_SRCW::AUXIO23)
1101 }
1102 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO22"]
1103 #[inline]
1104 pub fn auxio22(self) -> &'a mut W {
1105 self.variant(CAPT_SRCW::AUXIO22)
1106 }
1107 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO21"]
1108 #[inline]
1109 pub fn auxio21(self) -> &'a mut W {
1110 self.variant(CAPT_SRCW::AUXIO21)
1111 }
1112 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO20"]
1113 #[inline]
1114 pub fn auxio20(self) -> &'a mut W {
1115 self.variant(CAPT_SRCW::AUXIO20)
1116 }
1117 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO19"]
1118 #[inline]
1119 pub fn auxio19(self) -> &'a mut W {
1120 self.variant(CAPT_SRCW::AUXIO19)
1121 }
1122 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO18"]
1123 #[inline]
1124 pub fn auxio18(self) -> &'a mut W {
1125 self.variant(CAPT_SRCW::AUXIO18)
1126 }
1127 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO17"]
1128 #[inline]
1129 pub fn auxio17(self) -> &'a mut W {
1130 self.variant(CAPT_SRCW::AUXIO17)
1131 }
1132 #[doc = "AUX_EVCTL:EVSTAT1.AUXIO16"]
1133 #[inline]
1134 pub fn auxio16(self) -> &'a mut W {
1135 self.variant(CAPT_SRCW::AUXIO16)
1136 }
1137 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO15"]
1138 #[inline]
1139 pub fn auxio15(self) -> &'a mut W {
1140 self.variant(CAPT_SRCW::AUXIO15)
1141 }
1142 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO14"]
1143 #[inline]
1144 pub fn auxio14(self) -> &'a mut W {
1145 self.variant(CAPT_SRCW::AUXIO14)
1146 }
1147 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO13"]
1148 #[inline]
1149 pub fn auxio13(self) -> &'a mut W {
1150 self.variant(CAPT_SRCW::AUXIO13)
1151 }
1152 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO12"]
1153 #[inline]
1154 pub fn auxio12(self) -> &'a mut W {
1155 self.variant(CAPT_SRCW::AUXIO12)
1156 }
1157 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO11"]
1158 #[inline]
1159 pub fn auxio11(self) -> &'a mut W {
1160 self.variant(CAPT_SRCW::AUXIO11)
1161 }
1162 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO10"]
1163 #[inline]
1164 pub fn auxio10(self) -> &'a mut W {
1165 self.variant(CAPT_SRCW::AUXIO10)
1166 }
1167 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO9"]
1168 #[inline]
1169 pub fn auxio9(self) -> &'a mut W {
1170 self.variant(CAPT_SRCW::AUXIO9)
1171 }
1172 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO8"]
1173 #[inline]
1174 pub fn auxio8(self) -> &'a mut W {
1175 self.variant(CAPT_SRCW::AUXIO8)
1176 }
1177 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO7"]
1178 #[inline]
1179 pub fn auxio7(self) -> &'a mut W {
1180 self.variant(CAPT_SRCW::AUXIO7)
1181 }
1182 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO6"]
1183 #[inline]
1184 pub fn auxio6(self) -> &'a mut W {
1185 self.variant(CAPT_SRCW::AUXIO6)
1186 }
1187 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO5"]
1188 #[inline]
1189 pub fn auxio5(self) -> &'a mut W {
1190 self.variant(CAPT_SRCW::AUXIO5)
1191 }
1192 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO4"]
1193 #[inline]
1194 pub fn auxio4(self) -> &'a mut W {
1195 self.variant(CAPT_SRCW::AUXIO4)
1196 }
1197 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO3"]
1198 #[inline]
1199 pub fn auxio3(self) -> &'a mut W {
1200 self.variant(CAPT_SRCW::AUXIO3)
1201 }
1202 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO2"]
1203 #[inline]
1204 pub fn auxio2(self) -> &'a mut W {
1205 self.variant(CAPT_SRCW::AUXIO2)
1206 }
1207 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO1"]
1208 #[inline]
1209 pub fn auxio1(self) -> &'a mut W {
1210 self.variant(CAPT_SRCW::AUXIO1)
1211 }
1212 #[doc = "AUX_EVCTL:EVSTAT0.AUXIO0"]
1213 #[inline]
1214 pub fn auxio0(self) -> &'a mut W {
1215 self.variant(CAPT_SRCW::AUXIO0)
1216 }
1217 #[doc = r" Writes raw bits to the field"]
1218 #[inline]
1219 pub unsafe fn bits(self, value: u8) -> &'a mut W {
1220 const MASK: u8 = 63;
1221 const OFFSET: u8 = 1;
1222 self.w.bits &= !((MASK as u32) << OFFSET);
1223 self.w.bits |= ((value & MASK) as u32) << OFFSET;
1224 self.w
1225 }
1226}
1227#[doc = "Values that can be written to the field `EDGE`"]
1228pub enum EDGEW {
1229 #[doc = "Capture CNTR.VALUE at rising edge of CAPT_SRC."]
1230 RISING,
1231 #[doc = "Capture CNTR.VALUE at falling edge of CAPT_SRC."]
1232 FALLING,
1233}
1234impl EDGEW {
1235 #[allow(missing_docs)]
1236 #[doc(hidden)]
1237 #[inline]
1238 pub fn _bits(&self) -> bool {
1239 match *self {
1240 EDGEW::RISING => true,
1241 EDGEW::FALLING => false,
1242 }
1243 }
1244}
1245#[doc = r" Proxy"]
1246pub struct _EDGEW<'a> {
1247 w: &'a mut W,
1248}
1249impl<'a> _EDGEW<'a> {
1250 #[doc = r" Writes `variant` to the field"]
1251 #[inline]
1252 pub fn variant(self, variant: EDGEW) -> &'a mut W {
1253 {
1254 self.bit(variant._bits())
1255 }
1256 }
1257 #[doc = "Capture CNTR.VALUE at rising edge of CAPT_SRC."]
1258 #[inline]
1259 pub fn rising(self) -> &'a mut W {
1260 self.variant(EDGEW::RISING)
1261 }
1262 #[doc = "Capture CNTR.VALUE at falling edge of CAPT_SRC."]
1263 #[inline]
1264 pub fn falling(self) -> &'a mut W {
1265 self.variant(EDGEW::FALLING)
1266 }
1267 #[doc = r" Sets the field bit"]
1268 pub fn set_bit(self) -> &'a mut W {
1269 self.bit(true)
1270 }
1271 #[doc = r" Clears the field bit"]
1272 pub fn clear_bit(self) -> &'a mut W {
1273 self.bit(false)
1274 }
1275 #[doc = r" Writes raw bits to the field"]
1276 #[inline]
1277 pub fn bit(self, value: bool) -> &'a mut W {
1278 const MASK: bool = true;
1279 const OFFSET: u8 = 0;
1280 self.w.bits &= !((MASK as u32) << OFFSET);
1281 self.w.bits |= ((value & MASK) as u32) << OFFSET;
1282 self.w
1283 }
1284}
1285impl R {
1286 #[doc = r" Value of the register as raw bits"]
1287 #[inline]
1288 pub fn bits(&self) -> u32 {
1289 self.bits
1290 }
1291 #[doc = "Bits 7:31 - 31:7\\] Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior."]
1292 #[inline]
1293 pub fn reserved7(&self) -> RESERVED7R {
1294 let bits = {
1295 const MASK: u32 = 33554431;
1296 const OFFSET: u8 = 7;
1297 ((self.bits >> OFFSET) & MASK as u32) as u32
1298 };
1299 RESERVED7R { bits }
1300 }
1301 #[doc = "Bits 1:6 - 6:1\\] Select capture signal source from the asynchronous AUX event bus. The selected signal enters the edge-detection circuit. False capture events can occur when: - the edge-detection circuit contains expired signal samples and the circuit is enabled without flush as described in CH1EVCFG - this register is reconfigured while CTL.MODE is different from DIS. You can avoid false capture events. When wanted channel function is: - SET_ON_CAPT_DIS, see description for SET_ON_CAPT_DIS in CH1EVCFG.CCACT. - SET_ON_CAPT, see description for SET_ON_CAPT in CH1EVCFG.CCACT. - PER_PULSE_WIDTH_MEAS, see description for PER_PULSE_WIDTH_MEAS in CH1EVCFG.CCACT. If you write a non-enumerated value the behavior is identical to NO_EVENT. The written value is returned when read."]
1302 #[inline]
1303 pub fn capt_src(&self) -> CAPT_SRCR {
1304 CAPT_SRCR::_from({
1305 const MASK: u8 = 63;
1306 const OFFSET: u8 = 1;
1307 ((self.bits >> OFFSET) & MASK as u32) as u8
1308 })
1309 }
1310 #[doc = "Bit 0 - 0:0\\] Edge configuration. Channel captures counter value at selected edge on signal source selected by CAPT_SRC. See CH1EVCFG.CCACT."]
1311 #[inline]
1312 pub fn edge(&self) -> EDGER {
1313 EDGER::_from({
1314 const MASK: bool = true;
1315 const OFFSET: u8 = 0;
1316 ((self.bits >> OFFSET) & MASK as u32) != 0
1317 })
1318 }
1319}
1320impl W {
1321 #[doc = r" Reset value of the register"]
1322 #[inline]
1323 pub fn reset_value() -> W {
1324 W { bits: 0 }
1325 }
1326 #[doc = r" Writes raw bits to the register"]
1327 #[inline]
1328 pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
1329 self.bits = bits;
1330 self
1331 }
1332 #[doc = "Bits 7:31 - 31:7\\] Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior."]
1333 #[inline]
1334 pub fn reserved7(&mut self) -> _RESERVED7W {
1335 _RESERVED7W { w: self }
1336 }
1337 #[doc = "Bits 1:6 - 6:1\\] Select capture signal source from the asynchronous AUX event bus. The selected signal enters the edge-detection circuit. False capture events can occur when: - the edge-detection circuit contains expired signal samples and the circuit is enabled without flush as described in CH1EVCFG - this register is reconfigured while CTL.MODE is different from DIS. You can avoid false capture events. When wanted channel function is: - SET_ON_CAPT_DIS, see description for SET_ON_CAPT_DIS in CH1EVCFG.CCACT. - SET_ON_CAPT, see description for SET_ON_CAPT in CH1EVCFG.CCACT. - PER_PULSE_WIDTH_MEAS, see description for PER_PULSE_WIDTH_MEAS in CH1EVCFG.CCACT. If you write a non-enumerated value the behavior is identical to NO_EVENT. The written value is returned when read."]
1338 #[inline]
1339 pub fn capt_src(&mut self) -> _CAPT_SRCW {
1340 _CAPT_SRCW { w: self }
1341 }
1342 #[doc = "Bit 0 - 0:0\\] Edge configuration. Channel captures counter value at selected edge on signal source selected by CAPT_SRC. See CH1EVCFG.CCACT."]
1343 #[inline]
1344 pub fn edge(&mut self) -> _EDGEW {
1345 _EDGEW { w: self }
1346 }
1347}