d1_pac/tpadc/
tp_ctrl1.rs

1#[doc = "Register `tp_ctrl1` reader"]
2pub type R = crate::R<TP_CTRL1_SPEC>;
3#[doc = "Register `tp_ctrl1` writer"]
4pub type W = crate::W<TP_CTRL1_SPEC>;
5#[doc = "Field `adc_chan_select[0-3]` reader - Analog Input Channel Select"]
6pub type ADC_CHAN_SELECT_R = crate::BitReader<ADC_CHAN_SELECT_A>;
7#[doc = "Analog Input Channel Select\n\nValue on reset: 0"]
8#[derive(Clone, Copy, Debug, PartialEq, Eq)]
9pub enum ADC_CHAN_SELECT_A {
10    #[doc = "0: `0`"]
11    DISABLE = 0,
12    #[doc = "1: `1`"]
13    ENABLE = 1,
14}
15impl From<ADC_CHAN_SELECT_A> for bool {
16    #[inline(always)]
17    fn from(variant: ADC_CHAN_SELECT_A) -> Self {
18        variant as u8 != 0
19    }
20}
21impl ADC_CHAN_SELECT_R {
22    #[doc = "Get enumerated values variant"]
23    #[inline(always)]
24    pub const fn variant(&self) -> ADC_CHAN_SELECT_A {
25        match self.bits {
26            false => ADC_CHAN_SELECT_A::DISABLE,
27            true => ADC_CHAN_SELECT_A::ENABLE,
28        }
29    }
30    #[doc = "`0`"]
31    #[inline(always)]
32    pub fn is_disable(&self) -> bool {
33        *self == ADC_CHAN_SELECT_A::DISABLE
34    }
35    #[doc = "`1`"]
36    #[inline(always)]
37    pub fn is_enable(&self) -> bool {
38        *self == ADC_CHAN_SELECT_A::ENABLE
39    }
40}
41#[doc = "Field `adc_chan_select[0-3]` writer - Analog Input Channel Select"]
42pub type ADC_CHAN_SELECT_W<'a, REG> = crate::BitWriter<'a, REG, ADC_CHAN_SELECT_A>;
43impl<'a, REG> ADC_CHAN_SELECT_W<'a, REG>
44where
45    REG: crate::Writable + crate::RegisterSpec,
46{
47    #[doc = "`0`"]
48    #[inline(always)]
49    pub fn disable(self) -> &'a mut crate::W<REG> {
50        self.variant(ADC_CHAN_SELECT_A::DISABLE)
51    }
52    #[doc = "`1`"]
53    #[inline(always)]
54    pub fn enable(self) -> &'a mut crate::W<REG> {
55        self.variant(ADC_CHAN_SELECT_A::ENABLE)
56    }
57}
58#[doc = "Field `tp_mode_select` reader - Touch Panel Mode and Auxiliary ADC Mode Select"]
59pub type TP_MODE_SELECT_R = crate::BitReader<TP_MODE_SELECT_A>;
60#[doc = "Touch Panel Mode and Auxiliary ADC Mode Select\n\nValue on reset: 0"]
61#[derive(Clone, Copy, Debug, PartialEq, Eq)]
62pub enum TP_MODE_SELECT_A {
63    #[doc = "0: `0`"]
64    TP = 0,
65    #[doc = "1: `1`"]
66    AUXILIARY_ADC = 1,
67}
68impl From<TP_MODE_SELECT_A> for bool {
69    #[inline(always)]
70    fn from(variant: TP_MODE_SELECT_A) -> Self {
71        variant as u8 != 0
72    }
73}
74impl TP_MODE_SELECT_R {
75    #[doc = "Get enumerated values variant"]
76    #[inline(always)]
77    pub const fn variant(&self) -> TP_MODE_SELECT_A {
78        match self.bits {
79            false => TP_MODE_SELECT_A::TP,
80            true => TP_MODE_SELECT_A::AUXILIARY_ADC,
81        }
82    }
83    #[doc = "`0`"]
84    #[inline(always)]
85    pub fn is_tp(&self) -> bool {
86        *self == TP_MODE_SELECT_A::TP
87    }
88    #[doc = "`1`"]
89    #[inline(always)]
90    pub fn is_auxiliary_adc(&self) -> bool {
91        *self == TP_MODE_SELECT_A::AUXILIARY_ADC
92    }
93}
94#[doc = "Field `tp_mode_select` writer - Touch Panel Mode and Auxiliary ADC Mode Select"]
95pub type TP_MODE_SELECT_W<'a, REG> = crate::BitWriter<'a, REG, TP_MODE_SELECT_A>;
96impl<'a, REG> TP_MODE_SELECT_W<'a, REG>
97where
98    REG: crate::Writable + crate::RegisterSpec,
99{
100    #[doc = "`0`"]
101    #[inline(always)]
102    pub fn tp(self) -> &'a mut crate::W<REG> {
103        self.variant(TP_MODE_SELECT_A::TP)
104    }
105    #[doc = "`1`"]
106    #[inline(always)]
107    pub fn auxiliary_adc(self) -> &'a mut crate::W<REG> {
108        self.variant(TP_MODE_SELECT_A::AUXILIARY_ADC)
109    }
110}
111#[doc = "Field `tp_en` reader - TP Function Enable"]
112pub type TP_EN_R = crate::BitReader<TP_EN_A>;
113#[doc = "TP Function Enable\n\nValue on reset: 0"]
114#[derive(Clone, Copy, Debug, PartialEq, Eq)]
115pub enum TP_EN_A {
116    #[doc = "0: `0`"]
117    DISABLE = 0,
118    #[doc = "1: `1`"]
119    ENABLE = 1,
120}
121impl From<TP_EN_A> for bool {
122    #[inline(always)]
123    fn from(variant: TP_EN_A) -> Self {
124        variant as u8 != 0
125    }
126}
127impl TP_EN_R {
128    #[doc = "Get enumerated values variant"]
129    #[inline(always)]
130    pub const fn variant(&self) -> TP_EN_A {
131        match self.bits {
132            false => TP_EN_A::DISABLE,
133            true => TP_EN_A::ENABLE,
134        }
135    }
136    #[doc = "`0`"]
137    #[inline(always)]
138    pub fn is_disable(&self) -> bool {
139        *self == TP_EN_A::DISABLE
140    }
141    #[doc = "`1`"]
142    #[inline(always)]
143    pub fn is_enable(&self) -> bool {
144        *self == TP_EN_A::ENABLE
145    }
146}
147#[doc = "Field `tp_en` writer - TP Function Enable"]
148pub type TP_EN_W<'a, REG> = crate::BitWriter<'a, REG, TP_EN_A>;
149impl<'a, REG> TP_EN_W<'a, REG>
150where
151    REG: crate::Writable + crate::RegisterSpec,
152{
153    #[doc = "`0`"]
154    #[inline(always)]
155    pub fn disable(self) -> &'a mut crate::W<REG> {
156        self.variant(TP_EN_A::DISABLE)
157    }
158    #[doc = "`1`"]
159    #[inline(always)]
160    pub fn enable(self) -> &'a mut crate::W<REG> {
161        self.variant(TP_EN_A::ENABLE)
162    }
163}
164#[doc = "Field `tp_dual_en` reader - Touch Panel Double Point Enable"]
165pub type TP_DUAL_EN_R = crate::BitReader<TP_DUAL_EN_A>;
166#[doc = "Touch Panel Double Point Enable\n\nValue on reset: 0"]
167#[derive(Clone, Copy, Debug, PartialEq, Eq)]
168pub enum TP_DUAL_EN_A {
169    #[doc = "0: `0`"]
170    DISABLE = 0,
171    #[doc = "1: `1`"]
172    ENABLE = 1,
173}
174impl From<TP_DUAL_EN_A> for bool {
175    #[inline(always)]
176    fn from(variant: TP_DUAL_EN_A) -> Self {
177        variant as u8 != 0
178    }
179}
180impl TP_DUAL_EN_R {
181    #[doc = "Get enumerated values variant"]
182    #[inline(always)]
183    pub const fn variant(&self) -> TP_DUAL_EN_A {
184        match self.bits {
185            false => TP_DUAL_EN_A::DISABLE,
186            true => TP_DUAL_EN_A::ENABLE,
187        }
188    }
189    #[doc = "`0`"]
190    #[inline(always)]
191    pub fn is_disable(&self) -> bool {
192        *self == TP_DUAL_EN_A::DISABLE
193    }
194    #[doc = "`1`"]
195    #[inline(always)]
196    pub fn is_enable(&self) -> bool {
197        *self == TP_DUAL_EN_A::ENABLE
198    }
199}
200#[doc = "Field `tp_dual_en` writer - Touch Panel Double Point Enable"]
201pub type TP_DUAL_EN_W<'a, REG> = crate::BitWriter<'a, REG, TP_DUAL_EN_A>;
202impl<'a, REG> TP_DUAL_EN_W<'a, REG>
203where
204    REG: crate::Writable + crate::RegisterSpec,
205{
206    #[doc = "`0`"]
207    #[inline(always)]
208    pub fn disable(self) -> &'a mut crate::W<REG> {
209        self.variant(TP_DUAL_EN_A::DISABLE)
210    }
211    #[doc = "`1`"]
212    #[inline(always)]
213    pub fn enable(self) -> &'a mut crate::W<REG> {
214        self.variant(TP_DUAL_EN_A::ENABLE)
215    }
216}
217#[doc = "Field `touch_pan_cali_en` reader - Touch Panel Calibration"]
218pub type TOUCH_PAN_CALI_EN_R = crate::BitReader<TOUCH_PAN_CALI_EN_A>;
219#[doc = "Touch Panel Calibration\n\nValue on reset: 0"]
220#[derive(Clone, Copy, Debug, PartialEq, Eq)]
221pub enum TOUCH_PAN_CALI_EN_A {
222    #[doc = "1: `1`"]
223    START = 1,
224}
225impl From<TOUCH_PAN_CALI_EN_A> for bool {
226    #[inline(always)]
227    fn from(variant: TOUCH_PAN_CALI_EN_A) -> Self {
228        variant as u8 != 0
229    }
230}
231impl TOUCH_PAN_CALI_EN_R {
232    #[doc = "Get enumerated values variant"]
233    #[inline(always)]
234    pub const fn variant(&self) -> Option<TOUCH_PAN_CALI_EN_A> {
235        match self.bits {
236            true => Some(TOUCH_PAN_CALI_EN_A::START),
237            _ => None,
238        }
239    }
240    #[doc = "`1`"]
241    #[inline(always)]
242    pub fn is_start(&self) -> bool {
243        *self == TOUCH_PAN_CALI_EN_A::START
244    }
245}
246#[doc = "Field `touch_pan_cali_en` writer - Touch Panel Calibration"]
247pub type TOUCH_PAN_CALI_EN_W<'a, REG> = crate::BitWriter<'a, REG, TOUCH_PAN_CALI_EN_A>;
248impl<'a, REG> TOUCH_PAN_CALI_EN_W<'a, REG>
249where
250    REG: crate::Writable + crate::RegisterSpec,
251{
252    #[doc = "`1`"]
253    #[inline(always)]
254    pub fn start(self) -> &'a mut crate::W<REG> {
255        self.variant(TOUCH_PAN_CALI_EN_A::START)
256    }
257}
258#[doc = "Field `chopper_en` reader - T-sensor Chopping Enable"]
259pub type CHOPPER_EN_R = crate::BitReader<CHOPPER_EN_A>;
260#[doc = "T-sensor Chopping Enable\n\nValue on reset: 0"]
261#[derive(Clone, Copy, Debug, PartialEq, Eq)]
262pub enum CHOPPER_EN_A {
263    #[doc = "0: `0`"]
264    DISABLE = 0,
265    #[doc = "1: `1`"]
266    ENABLE = 1,
267}
268impl From<CHOPPER_EN_A> for bool {
269    #[inline(always)]
270    fn from(variant: CHOPPER_EN_A) -> Self {
271        variant as u8 != 0
272    }
273}
274impl CHOPPER_EN_R {
275    #[doc = "Get enumerated values variant"]
276    #[inline(always)]
277    pub const fn variant(&self) -> CHOPPER_EN_A {
278        match self.bits {
279            false => CHOPPER_EN_A::DISABLE,
280            true => CHOPPER_EN_A::ENABLE,
281        }
282    }
283    #[doc = "`0`"]
284    #[inline(always)]
285    pub fn is_disable(&self) -> bool {
286        *self == CHOPPER_EN_A::DISABLE
287    }
288    #[doc = "`1`"]
289    #[inline(always)]
290    pub fn is_enable(&self) -> bool {
291        *self == CHOPPER_EN_A::ENABLE
292    }
293}
294#[doc = "Field `chopper_en` writer - T-sensor Chopping Enable"]
295pub type CHOPPER_EN_W<'a, REG> = crate::BitWriter<'a, REG, CHOPPER_EN_A>;
296impl<'a, REG> CHOPPER_EN_W<'a, REG>
297where
298    REG: crate::Writable + crate::RegisterSpec,
299{
300    #[doc = "`0`"]
301    #[inline(always)]
302    pub fn disable(self) -> &'a mut crate::W<REG> {
303        self.variant(CHOPPER_EN_A::DISABLE)
304    }
305    #[doc = "`1`"]
306    #[inline(always)]
307    pub fn enable(self) -> &'a mut crate::W<REG> {
308        self.variant(CHOPPER_EN_A::ENABLE)
309    }
310}
311#[doc = "Field `stylus_up_debounce_en` reader - Stylus Up Debounce Function Select"]
312pub type STYLUS_UP_DEBOUNCE_EN_R = crate::BitReader<STYLUS_UP_DEBOUNCE_EN_A>;
313#[doc = "Stylus Up Debounce Function Select\n\nValue on reset: 0"]
314#[derive(Clone, Copy, Debug, PartialEq, Eq)]
315pub enum STYLUS_UP_DEBOUNCE_EN_A {
316    #[doc = "0: `0`"]
317    DISABLE = 0,
318    #[doc = "1: `1`"]
319    ENABLE = 1,
320}
321impl From<STYLUS_UP_DEBOUNCE_EN_A> for bool {
322    #[inline(always)]
323    fn from(variant: STYLUS_UP_DEBOUNCE_EN_A) -> Self {
324        variant as u8 != 0
325    }
326}
327impl STYLUS_UP_DEBOUNCE_EN_R {
328    #[doc = "Get enumerated values variant"]
329    #[inline(always)]
330    pub const fn variant(&self) -> STYLUS_UP_DEBOUNCE_EN_A {
331        match self.bits {
332            false => STYLUS_UP_DEBOUNCE_EN_A::DISABLE,
333            true => STYLUS_UP_DEBOUNCE_EN_A::ENABLE,
334        }
335    }
336    #[doc = "`0`"]
337    #[inline(always)]
338    pub fn is_disable(&self) -> bool {
339        *self == STYLUS_UP_DEBOUNCE_EN_A::DISABLE
340    }
341    #[doc = "`1`"]
342    #[inline(always)]
343    pub fn is_enable(&self) -> bool {
344        *self == STYLUS_UP_DEBOUNCE_EN_A::ENABLE
345    }
346}
347#[doc = "Field `stylus_up_debounce_en` writer - Stylus Up Debounce Function Select"]
348pub type STYLUS_UP_DEBOUNCE_EN_W<'a, REG> = crate::BitWriter<'a, REG, STYLUS_UP_DEBOUNCE_EN_A>;
349impl<'a, REG> STYLUS_UP_DEBOUNCE_EN_W<'a, REG>
350where
351    REG: crate::Writable + crate::RegisterSpec,
352{
353    #[doc = "`0`"]
354    #[inline(always)]
355    pub fn disable(self) -> &'a mut crate::W<REG> {
356        self.variant(STYLUS_UP_DEBOUNCE_EN_A::DISABLE)
357    }
358    #[doc = "`1`"]
359    #[inline(always)]
360    pub fn enable(self) -> &'a mut crate::W<REG> {
361        self.variant(STYLUS_UP_DEBOUNCE_EN_A::ENABLE)
362    }
363}
364#[doc = "Field `stylus_up_debounce` reader - Stylus Up Debounce Time Setting"]
365pub type STYLUS_UP_DEBOUNCE_R = crate::FieldReader;
366#[doc = "Field `stylus_up_debounce` writer - Stylus Up Debounce Time Setting"]
367pub type STYLUS_UP_DEBOUNCE_W<'a, REG> = crate::FieldWriter<'a, REG, 8>;
368impl R {
369    #[doc = "Analog Input Channel Select\n\nNOTE: `n` is number of field in register. `n == 0` corresponds to `adc_chan0_select` field"]
370    #[inline(always)]
371    pub fn adc_chan_select(&self, n: u8) -> ADC_CHAN_SELECT_R {
372        #[allow(clippy::no_effect)]
373        [(); 4][n as usize];
374        ADC_CHAN_SELECT_R::new(((self.bits >> n) & 1) != 0)
375    }
376    #[doc = "Bit 0 - Analog Input Channel Select"]
377    #[inline(always)]
378    pub fn adc_chan0_select(&self) -> ADC_CHAN_SELECT_R {
379        ADC_CHAN_SELECT_R::new((self.bits & 1) != 0)
380    }
381    #[doc = "Bit 1 - Analog Input Channel Select"]
382    #[inline(always)]
383    pub fn adc_chan1_select(&self) -> ADC_CHAN_SELECT_R {
384        ADC_CHAN_SELECT_R::new(((self.bits >> 1) & 1) != 0)
385    }
386    #[doc = "Bit 2 - Analog Input Channel Select"]
387    #[inline(always)]
388    pub fn adc_chan2_select(&self) -> ADC_CHAN_SELECT_R {
389        ADC_CHAN_SELECT_R::new(((self.bits >> 2) & 1) != 0)
390    }
391    #[doc = "Bit 3 - Analog Input Channel Select"]
392    #[inline(always)]
393    pub fn adc_chan3_select(&self) -> ADC_CHAN_SELECT_R {
394        ADC_CHAN_SELECT_R::new(((self.bits >> 3) & 1) != 0)
395    }
396    #[doc = "Bit 4 - Touch Panel Mode and Auxiliary ADC Mode Select"]
397    #[inline(always)]
398    pub fn tp_mode_select(&self) -> TP_MODE_SELECT_R {
399        TP_MODE_SELECT_R::new(((self.bits >> 4) & 1) != 0)
400    }
401    #[doc = "Bit 5 - TP Function Enable"]
402    #[inline(always)]
403    pub fn tp_en(&self) -> TP_EN_R {
404        TP_EN_R::new(((self.bits >> 5) & 1) != 0)
405    }
406    #[doc = "Bit 6 - Touch Panel Double Point Enable"]
407    #[inline(always)]
408    pub fn tp_dual_en(&self) -> TP_DUAL_EN_R {
409        TP_DUAL_EN_R::new(((self.bits >> 6) & 1) != 0)
410    }
411    #[doc = "Bit 7 - Touch Panel Calibration"]
412    #[inline(always)]
413    pub fn touch_pan_cali_en(&self) -> TOUCH_PAN_CALI_EN_R {
414        TOUCH_PAN_CALI_EN_R::new(((self.bits >> 7) & 1) != 0)
415    }
416    #[doc = "Bit 8 - T-sensor Chopping Enable"]
417    #[inline(always)]
418    pub fn chopper_en(&self) -> CHOPPER_EN_R {
419        CHOPPER_EN_R::new(((self.bits >> 8) & 1) != 0)
420    }
421    #[doc = "Bit 9 - Stylus Up Debounce Function Select"]
422    #[inline(always)]
423    pub fn stylus_up_debounce_en(&self) -> STYLUS_UP_DEBOUNCE_EN_R {
424        STYLUS_UP_DEBOUNCE_EN_R::new(((self.bits >> 9) & 1) != 0)
425    }
426    #[doc = "Bits 12:19 - Stylus Up Debounce Time Setting"]
427    #[inline(always)]
428    pub fn stylus_up_debounce(&self) -> STYLUS_UP_DEBOUNCE_R {
429        STYLUS_UP_DEBOUNCE_R::new(((self.bits >> 12) & 0xff) as u8)
430    }
431}
432impl W {
433    #[doc = "Analog Input Channel Select\n\nNOTE: `n` is number of field in register. `n == 0` corresponds to `adc_chan0_select` field"]
434    #[inline(always)]
435    #[must_use]
436    pub fn adc_chan_select(&mut self, n: u8) -> ADC_CHAN_SELECT_W<TP_CTRL1_SPEC> {
437        #[allow(clippy::no_effect)]
438        [(); 4][n as usize];
439        ADC_CHAN_SELECT_W::new(self, n)
440    }
441    #[doc = "Bit 0 - Analog Input Channel Select"]
442    #[inline(always)]
443    #[must_use]
444    pub fn adc_chan0_select(&mut self) -> ADC_CHAN_SELECT_W<TP_CTRL1_SPEC> {
445        ADC_CHAN_SELECT_W::new(self, 0)
446    }
447    #[doc = "Bit 1 - Analog Input Channel Select"]
448    #[inline(always)]
449    #[must_use]
450    pub fn adc_chan1_select(&mut self) -> ADC_CHAN_SELECT_W<TP_CTRL1_SPEC> {
451        ADC_CHAN_SELECT_W::new(self, 1)
452    }
453    #[doc = "Bit 2 - Analog Input Channel Select"]
454    #[inline(always)]
455    #[must_use]
456    pub fn adc_chan2_select(&mut self) -> ADC_CHAN_SELECT_W<TP_CTRL1_SPEC> {
457        ADC_CHAN_SELECT_W::new(self, 2)
458    }
459    #[doc = "Bit 3 - Analog Input Channel Select"]
460    #[inline(always)]
461    #[must_use]
462    pub fn adc_chan3_select(&mut self) -> ADC_CHAN_SELECT_W<TP_CTRL1_SPEC> {
463        ADC_CHAN_SELECT_W::new(self, 3)
464    }
465    #[doc = "Bit 4 - Touch Panel Mode and Auxiliary ADC Mode Select"]
466    #[inline(always)]
467    #[must_use]
468    pub fn tp_mode_select(&mut self) -> TP_MODE_SELECT_W<TP_CTRL1_SPEC> {
469        TP_MODE_SELECT_W::new(self, 4)
470    }
471    #[doc = "Bit 5 - TP Function Enable"]
472    #[inline(always)]
473    #[must_use]
474    pub fn tp_en(&mut self) -> TP_EN_W<TP_CTRL1_SPEC> {
475        TP_EN_W::new(self, 5)
476    }
477    #[doc = "Bit 6 - Touch Panel Double Point Enable"]
478    #[inline(always)]
479    #[must_use]
480    pub fn tp_dual_en(&mut self) -> TP_DUAL_EN_W<TP_CTRL1_SPEC> {
481        TP_DUAL_EN_W::new(self, 6)
482    }
483    #[doc = "Bit 7 - Touch Panel Calibration"]
484    #[inline(always)]
485    #[must_use]
486    pub fn touch_pan_cali_en(&mut self) -> TOUCH_PAN_CALI_EN_W<TP_CTRL1_SPEC> {
487        TOUCH_PAN_CALI_EN_W::new(self, 7)
488    }
489    #[doc = "Bit 8 - T-sensor Chopping Enable"]
490    #[inline(always)]
491    #[must_use]
492    pub fn chopper_en(&mut self) -> CHOPPER_EN_W<TP_CTRL1_SPEC> {
493        CHOPPER_EN_W::new(self, 8)
494    }
495    #[doc = "Bit 9 - Stylus Up Debounce Function Select"]
496    #[inline(always)]
497    #[must_use]
498    pub fn stylus_up_debounce_en(&mut self) -> STYLUS_UP_DEBOUNCE_EN_W<TP_CTRL1_SPEC> {
499        STYLUS_UP_DEBOUNCE_EN_W::new(self, 9)
500    }
501    #[doc = "Bits 12:19 - Stylus Up Debounce Time Setting"]
502    #[inline(always)]
503    #[must_use]
504    pub fn stylus_up_debounce(&mut self) -> STYLUS_UP_DEBOUNCE_W<TP_CTRL1_SPEC> {
505        STYLUS_UP_DEBOUNCE_W::new(self, 12)
506    }
507    #[doc = r" Writes raw bits to the register."]
508    #[doc = r""]
509    #[doc = r" # Safety"]
510    #[doc = r""]
511    #[doc = r" Passing incorrect value can cause undefined behaviour. See reference manual"]
512    #[inline(always)]
513    pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
514        self.bits = bits;
515        self
516    }
517}
518#[doc = "TP Control Register 1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tp_ctrl1::R`](R).  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`tp_ctrl1::W`](W). You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
519pub struct TP_CTRL1_SPEC;
520impl crate::RegisterSpec for TP_CTRL1_SPEC {
521    type Ux = u32;
522}
523#[doc = "`read()` method returns [`tp_ctrl1::R`](R) reader structure"]
524impl crate::Readable for TP_CTRL1_SPEC {}
525#[doc = "`write(|w| ..)` method takes [`tp_ctrl1::W`](W) writer structure"]
526impl crate::Writable for TP_CTRL1_SPEC {
527    const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
528    const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
529}
530#[doc = "`reset()` method sets tp_ctrl1 to value 0"]
531impl crate::Resettable for TP_CTRL1_SPEC {
532    const RESET_VALUE: Self::Ux = 0;
533}