atsamd51p/tcc0/
status.rs

1#[doc = "Register `STATUS` reader"]
2pub type R = crate::R<StatusSpec>;
3#[doc = "Register `STATUS` writer"]
4pub type W = crate::W<StatusSpec>;
5#[doc = "Field `STOP` reader - Stop"]
6pub type StopR = crate::BitReader;
7#[doc = "Field `STOP` writer - Stop"]
8pub type StopW<'a, REG> = crate::BitWriter<'a, REG>;
9#[doc = "Field `IDX` reader - Ramp"]
10pub type IdxR = crate::BitReader;
11#[doc = "Field `IDX` writer - Ramp"]
12pub type IdxW<'a, REG> = crate::BitWriter<'a, REG>;
13#[doc = "Field `UFS` reader - Non-recoverable Update Fault State"]
14pub type UfsR = crate::BitReader;
15#[doc = "Field `UFS` writer - Non-recoverable Update Fault State"]
16pub type UfsW<'a, REG> = crate::BitWriter<'a, REG>;
17#[doc = "Field `DFS` reader - Non-Recoverable Debug Fault State"]
18pub type DfsR = crate::BitReader;
19#[doc = "Field `DFS` writer - Non-Recoverable Debug Fault State"]
20pub type DfsW<'a, REG> = crate::BitWriter<'a, REG>;
21#[doc = "Field `SLAVE` reader - Slave"]
22pub type SlaveR = crate::BitReader;
23#[doc = "Field `SLAVE` writer - Slave"]
24pub type SlaveW<'a, REG> = crate::BitWriter<'a, REG>;
25#[doc = "Field `PATTBUFV` reader - Pattern Buffer Valid"]
26pub type PattbufvR = crate::BitReader;
27#[doc = "Field `PATTBUFV` writer - Pattern Buffer Valid"]
28pub type PattbufvW<'a, REG> = crate::BitWriter<'a, REG>;
29#[doc = "Field `PERBUFV` reader - Period Buffer Valid"]
30pub type PerbufvR = crate::BitReader;
31#[doc = "Field `PERBUFV` writer - Period Buffer Valid"]
32pub type PerbufvW<'a, REG> = crate::BitWriter<'a, REG>;
33#[doc = "Field `FAULTAIN` reader - Recoverable Fault A Input"]
34pub type FaultainR = crate::BitReader;
35#[doc = "Field `FAULTAIN` writer - Recoverable Fault A Input"]
36pub type FaultainW<'a, REG> = crate::BitWriter<'a, REG>;
37#[doc = "Field `FAULTBIN` reader - Recoverable Fault B Input"]
38pub type FaultbinR = crate::BitReader;
39#[doc = "Field `FAULTBIN` writer - Recoverable Fault B Input"]
40pub type FaultbinW<'a, REG> = crate::BitWriter<'a, REG>;
41#[doc = "Field `FAULT0IN` reader - Non-Recoverable Fault0 Input"]
42pub type Fault0inR = crate::BitReader;
43#[doc = "Field `FAULT0IN` writer - Non-Recoverable Fault0 Input"]
44pub type Fault0inW<'a, REG> = crate::BitWriter<'a, REG>;
45#[doc = "Field `FAULT1IN` reader - Non-Recoverable Fault1 Input"]
46pub type Fault1inR = crate::BitReader;
47#[doc = "Field `FAULT1IN` writer - Non-Recoverable Fault1 Input"]
48pub type Fault1inW<'a, REG> = crate::BitWriter<'a, REG>;
49#[doc = "Field `FAULTA` reader - Recoverable Fault A State"]
50pub type FaultaR = crate::BitReader;
51#[doc = "Field `FAULTA` writer - Recoverable Fault A State"]
52pub type FaultaW<'a, REG> = crate::BitWriter<'a, REG>;
53#[doc = "Field `FAULTB` reader - Recoverable Fault B State"]
54pub type FaultbR = crate::BitReader;
55#[doc = "Field `FAULTB` writer - Recoverable Fault B State"]
56pub type FaultbW<'a, REG> = crate::BitWriter<'a, REG>;
57#[doc = "Field `FAULT0` reader - Non-Recoverable Fault 0 State"]
58pub type Fault0R = crate::BitReader;
59#[doc = "Field `FAULT0` writer - Non-Recoverable Fault 0 State"]
60pub type Fault0W<'a, REG> = crate::BitWriter<'a, REG>;
61#[doc = "Field `FAULT1` reader - Non-Recoverable Fault 1 State"]
62pub type Fault1R = crate::BitReader;
63#[doc = "Field `FAULT1` writer - Non-Recoverable Fault 1 State"]
64pub type Fault1W<'a, REG> = crate::BitWriter<'a, REG>;
65#[doc = "Field `CCBUFV0` reader - Compare Channel 0 Buffer Valid"]
66pub type Ccbufv0R = crate::BitReader;
67#[doc = "Field `CCBUFV0` writer - Compare Channel 0 Buffer Valid"]
68pub type Ccbufv0W<'a, REG> = crate::BitWriter<'a, REG>;
69#[doc = "Field `CCBUFV1` reader - Compare Channel 1 Buffer Valid"]
70pub type Ccbufv1R = crate::BitReader;
71#[doc = "Field `CCBUFV1` writer - Compare Channel 1 Buffer Valid"]
72pub type Ccbufv1W<'a, REG> = crate::BitWriter<'a, REG>;
73#[doc = "Field `CCBUFV2` reader - Compare Channel 2 Buffer Valid"]
74pub type Ccbufv2R = crate::BitReader;
75#[doc = "Field `CCBUFV2` writer - Compare Channel 2 Buffer Valid"]
76pub type Ccbufv2W<'a, REG> = crate::BitWriter<'a, REG>;
77#[doc = "Field `CCBUFV3` reader - Compare Channel 3 Buffer Valid"]
78pub type Ccbufv3R = crate::BitReader;
79#[doc = "Field `CCBUFV3` writer - Compare Channel 3 Buffer Valid"]
80pub type Ccbufv3W<'a, REG> = crate::BitWriter<'a, REG>;
81#[doc = "Field `CCBUFV4` reader - Compare Channel 4 Buffer Valid"]
82pub type Ccbufv4R = crate::BitReader;
83#[doc = "Field `CCBUFV4` writer - Compare Channel 4 Buffer Valid"]
84pub type Ccbufv4W<'a, REG> = crate::BitWriter<'a, REG>;
85#[doc = "Field `CCBUFV5` reader - Compare Channel 5 Buffer Valid"]
86pub type Ccbufv5R = crate::BitReader;
87#[doc = "Field `CCBUFV5` writer - Compare Channel 5 Buffer Valid"]
88pub type Ccbufv5W<'a, REG> = crate::BitWriter<'a, REG>;
89#[doc = "Field `CMP0` reader - Compare Channel 0 Value"]
90pub type Cmp0R = crate::BitReader;
91#[doc = "Field `CMP0` writer - Compare Channel 0 Value"]
92pub type Cmp0W<'a, REG> = crate::BitWriter<'a, REG>;
93#[doc = "Field `CMP1` reader - Compare Channel 1 Value"]
94pub type Cmp1R = crate::BitReader;
95#[doc = "Field `CMP1` writer - Compare Channel 1 Value"]
96pub type Cmp1W<'a, REG> = crate::BitWriter<'a, REG>;
97#[doc = "Field `CMP2` reader - Compare Channel 2 Value"]
98pub type Cmp2R = crate::BitReader;
99#[doc = "Field `CMP2` writer - Compare Channel 2 Value"]
100pub type Cmp2W<'a, REG> = crate::BitWriter<'a, REG>;
101#[doc = "Field `CMP3` reader - Compare Channel 3 Value"]
102pub type Cmp3R = crate::BitReader;
103#[doc = "Field `CMP3` writer - Compare Channel 3 Value"]
104pub type Cmp3W<'a, REG> = crate::BitWriter<'a, REG>;
105#[doc = "Field `CMP4` reader - Compare Channel 4 Value"]
106pub type Cmp4R = crate::BitReader;
107#[doc = "Field `CMP4` writer - Compare Channel 4 Value"]
108pub type Cmp4W<'a, REG> = crate::BitWriter<'a, REG>;
109#[doc = "Field `CMP5` reader - Compare Channel 5 Value"]
110pub type Cmp5R = crate::BitReader;
111#[doc = "Field `CMP5` writer - Compare Channel 5 Value"]
112pub type Cmp5W<'a, REG> = crate::BitWriter<'a, REG>;
113impl R {
114    #[doc = "Bit 0 - Stop"]
115    #[inline(always)]
116    pub fn stop(&self) -> StopR {
117        StopR::new((self.bits & 1) != 0)
118    }
119    #[doc = "Bit 1 - Ramp"]
120    #[inline(always)]
121    pub fn idx(&self) -> IdxR {
122        IdxR::new(((self.bits >> 1) & 1) != 0)
123    }
124    #[doc = "Bit 2 - Non-recoverable Update Fault State"]
125    #[inline(always)]
126    pub fn ufs(&self) -> UfsR {
127        UfsR::new(((self.bits >> 2) & 1) != 0)
128    }
129    #[doc = "Bit 3 - Non-Recoverable Debug Fault State"]
130    #[inline(always)]
131    pub fn dfs(&self) -> DfsR {
132        DfsR::new(((self.bits >> 3) & 1) != 0)
133    }
134    #[doc = "Bit 4 - Slave"]
135    #[inline(always)]
136    pub fn slave(&self) -> SlaveR {
137        SlaveR::new(((self.bits >> 4) & 1) != 0)
138    }
139    #[doc = "Bit 5 - Pattern Buffer Valid"]
140    #[inline(always)]
141    pub fn pattbufv(&self) -> PattbufvR {
142        PattbufvR::new(((self.bits >> 5) & 1) != 0)
143    }
144    #[doc = "Bit 7 - Period Buffer Valid"]
145    #[inline(always)]
146    pub fn perbufv(&self) -> PerbufvR {
147        PerbufvR::new(((self.bits >> 7) & 1) != 0)
148    }
149    #[doc = "Bit 8 - Recoverable Fault A Input"]
150    #[inline(always)]
151    pub fn faultain(&self) -> FaultainR {
152        FaultainR::new(((self.bits >> 8) & 1) != 0)
153    }
154    #[doc = "Bit 9 - Recoverable Fault B Input"]
155    #[inline(always)]
156    pub fn faultbin(&self) -> FaultbinR {
157        FaultbinR::new(((self.bits >> 9) & 1) != 0)
158    }
159    #[doc = "Bit 10 - Non-Recoverable Fault0 Input"]
160    #[inline(always)]
161    pub fn fault0in(&self) -> Fault0inR {
162        Fault0inR::new(((self.bits >> 10) & 1) != 0)
163    }
164    #[doc = "Bit 11 - Non-Recoverable Fault1 Input"]
165    #[inline(always)]
166    pub fn fault1in(&self) -> Fault1inR {
167        Fault1inR::new(((self.bits >> 11) & 1) != 0)
168    }
169    #[doc = "Bit 12 - Recoverable Fault A State"]
170    #[inline(always)]
171    pub fn faulta(&self) -> FaultaR {
172        FaultaR::new(((self.bits >> 12) & 1) != 0)
173    }
174    #[doc = "Bit 13 - Recoverable Fault B State"]
175    #[inline(always)]
176    pub fn faultb(&self) -> FaultbR {
177        FaultbR::new(((self.bits >> 13) & 1) != 0)
178    }
179    #[doc = "Bit 14 - Non-Recoverable Fault 0 State"]
180    #[inline(always)]
181    pub fn fault0(&self) -> Fault0R {
182        Fault0R::new(((self.bits >> 14) & 1) != 0)
183    }
184    #[doc = "Bit 15 - Non-Recoverable Fault 1 State"]
185    #[inline(always)]
186    pub fn fault1(&self) -> Fault1R {
187        Fault1R::new(((self.bits >> 15) & 1) != 0)
188    }
189    #[doc = "Bit 16 - Compare Channel 0 Buffer Valid"]
190    #[inline(always)]
191    pub fn ccbufv0(&self) -> Ccbufv0R {
192        Ccbufv0R::new(((self.bits >> 16) & 1) != 0)
193    }
194    #[doc = "Bit 17 - Compare Channel 1 Buffer Valid"]
195    #[inline(always)]
196    pub fn ccbufv1(&self) -> Ccbufv1R {
197        Ccbufv1R::new(((self.bits >> 17) & 1) != 0)
198    }
199    #[doc = "Bit 18 - Compare Channel 2 Buffer Valid"]
200    #[inline(always)]
201    pub fn ccbufv2(&self) -> Ccbufv2R {
202        Ccbufv2R::new(((self.bits >> 18) & 1) != 0)
203    }
204    #[doc = "Bit 19 - Compare Channel 3 Buffer Valid"]
205    #[inline(always)]
206    pub fn ccbufv3(&self) -> Ccbufv3R {
207        Ccbufv3R::new(((self.bits >> 19) & 1) != 0)
208    }
209    #[doc = "Bit 20 - Compare Channel 4 Buffer Valid"]
210    #[inline(always)]
211    pub fn ccbufv4(&self) -> Ccbufv4R {
212        Ccbufv4R::new(((self.bits >> 20) & 1) != 0)
213    }
214    #[doc = "Bit 21 - Compare Channel 5 Buffer Valid"]
215    #[inline(always)]
216    pub fn ccbufv5(&self) -> Ccbufv5R {
217        Ccbufv5R::new(((self.bits >> 21) & 1) != 0)
218    }
219    #[doc = "Bit 24 - Compare Channel 0 Value"]
220    #[inline(always)]
221    pub fn cmp0(&self) -> Cmp0R {
222        Cmp0R::new(((self.bits >> 24) & 1) != 0)
223    }
224    #[doc = "Bit 25 - Compare Channel 1 Value"]
225    #[inline(always)]
226    pub fn cmp1(&self) -> Cmp1R {
227        Cmp1R::new(((self.bits >> 25) & 1) != 0)
228    }
229    #[doc = "Bit 26 - Compare Channel 2 Value"]
230    #[inline(always)]
231    pub fn cmp2(&self) -> Cmp2R {
232        Cmp2R::new(((self.bits >> 26) & 1) != 0)
233    }
234    #[doc = "Bit 27 - Compare Channel 3 Value"]
235    #[inline(always)]
236    pub fn cmp3(&self) -> Cmp3R {
237        Cmp3R::new(((self.bits >> 27) & 1) != 0)
238    }
239    #[doc = "Bit 28 - Compare Channel 4 Value"]
240    #[inline(always)]
241    pub fn cmp4(&self) -> Cmp4R {
242        Cmp4R::new(((self.bits >> 28) & 1) != 0)
243    }
244    #[doc = "Bit 29 - Compare Channel 5 Value"]
245    #[inline(always)]
246    pub fn cmp5(&self) -> Cmp5R {
247        Cmp5R::new(((self.bits >> 29) & 1) != 0)
248    }
249}
250impl W {
251    #[doc = "Bit 0 - Stop"]
252    #[inline(always)]
253    #[must_use]
254    pub fn stop(&mut self) -> StopW<StatusSpec> {
255        StopW::new(self, 0)
256    }
257    #[doc = "Bit 1 - Ramp"]
258    #[inline(always)]
259    #[must_use]
260    pub fn idx(&mut self) -> IdxW<StatusSpec> {
261        IdxW::new(self, 1)
262    }
263    #[doc = "Bit 2 - Non-recoverable Update Fault State"]
264    #[inline(always)]
265    #[must_use]
266    pub fn ufs(&mut self) -> UfsW<StatusSpec> {
267        UfsW::new(self, 2)
268    }
269    #[doc = "Bit 3 - Non-Recoverable Debug Fault State"]
270    #[inline(always)]
271    #[must_use]
272    pub fn dfs(&mut self) -> DfsW<StatusSpec> {
273        DfsW::new(self, 3)
274    }
275    #[doc = "Bit 4 - Slave"]
276    #[inline(always)]
277    #[must_use]
278    pub fn slave(&mut self) -> SlaveW<StatusSpec> {
279        SlaveW::new(self, 4)
280    }
281    #[doc = "Bit 5 - Pattern Buffer Valid"]
282    #[inline(always)]
283    #[must_use]
284    pub fn pattbufv(&mut self) -> PattbufvW<StatusSpec> {
285        PattbufvW::new(self, 5)
286    }
287    #[doc = "Bit 7 - Period Buffer Valid"]
288    #[inline(always)]
289    #[must_use]
290    pub fn perbufv(&mut self) -> PerbufvW<StatusSpec> {
291        PerbufvW::new(self, 7)
292    }
293    #[doc = "Bit 8 - Recoverable Fault A Input"]
294    #[inline(always)]
295    #[must_use]
296    pub fn faultain(&mut self) -> FaultainW<StatusSpec> {
297        FaultainW::new(self, 8)
298    }
299    #[doc = "Bit 9 - Recoverable Fault B Input"]
300    #[inline(always)]
301    #[must_use]
302    pub fn faultbin(&mut self) -> FaultbinW<StatusSpec> {
303        FaultbinW::new(self, 9)
304    }
305    #[doc = "Bit 10 - Non-Recoverable Fault0 Input"]
306    #[inline(always)]
307    #[must_use]
308    pub fn fault0in(&mut self) -> Fault0inW<StatusSpec> {
309        Fault0inW::new(self, 10)
310    }
311    #[doc = "Bit 11 - Non-Recoverable Fault1 Input"]
312    #[inline(always)]
313    #[must_use]
314    pub fn fault1in(&mut self) -> Fault1inW<StatusSpec> {
315        Fault1inW::new(self, 11)
316    }
317    #[doc = "Bit 12 - Recoverable Fault A State"]
318    #[inline(always)]
319    #[must_use]
320    pub fn faulta(&mut self) -> FaultaW<StatusSpec> {
321        FaultaW::new(self, 12)
322    }
323    #[doc = "Bit 13 - Recoverable Fault B State"]
324    #[inline(always)]
325    #[must_use]
326    pub fn faultb(&mut self) -> FaultbW<StatusSpec> {
327        FaultbW::new(self, 13)
328    }
329    #[doc = "Bit 14 - Non-Recoverable Fault 0 State"]
330    #[inline(always)]
331    #[must_use]
332    pub fn fault0(&mut self) -> Fault0W<StatusSpec> {
333        Fault0W::new(self, 14)
334    }
335    #[doc = "Bit 15 - Non-Recoverable Fault 1 State"]
336    #[inline(always)]
337    #[must_use]
338    pub fn fault1(&mut self) -> Fault1W<StatusSpec> {
339        Fault1W::new(self, 15)
340    }
341    #[doc = "Bit 16 - Compare Channel 0 Buffer Valid"]
342    #[inline(always)]
343    #[must_use]
344    pub fn ccbufv0(&mut self) -> Ccbufv0W<StatusSpec> {
345        Ccbufv0W::new(self, 16)
346    }
347    #[doc = "Bit 17 - Compare Channel 1 Buffer Valid"]
348    #[inline(always)]
349    #[must_use]
350    pub fn ccbufv1(&mut self) -> Ccbufv1W<StatusSpec> {
351        Ccbufv1W::new(self, 17)
352    }
353    #[doc = "Bit 18 - Compare Channel 2 Buffer Valid"]
354    #[inline(always)]
355    #[must_use]
356    pub fn ccbufv2(&mut self) -> Ccbufv2W<StatusSpec> {
357        Ccbufv2W::new(self, 18)
358    }
359    #[doc = "Bit 19 - Compare Channel 3 Buffer Valid"]
360    #[inline(always)]
361    #[must_use]
362    pub fn ccbufv3(&mut self) -> Ccbufv3W<StatusSpec> {
363        Ccbufv3W::new(self, 19)
364    }
365    #[doc = "Bit 20 - Compare Channel 4 Buffer Valid"]
366    #[inline(always)]
367    #[must_use]
368    pub fn ccbufv4(&mut self) -> Ccbufv4W<StatusSpec> {
369        Ccbufv4W::new(self, 20)
370    }
371    #[doc = "Bit 21 - Compare Channel 5 Buffer Valid"]
372    #[inline(always)]
373    #[must_use]
374    pub fn ccbufv5(&mut self) -> Ccbufv5W<StatusSpec> {
375        Ccbufv5W::new(self, 21)
376    }
377    #[doc = "Bit 24 - Compare Channel 0 Value"]
378    #[inline(always)]
379    #[must_use]
380    pub fn cmp0(&mut self) -> Cmp0W<StatusSpec> {
381        Cmp0W::new(self, 24)
382    }
383    #[doc = "Bit 25 - Compare Channel 1 Value"]
384    #[inline(always)]
385    #[must_use]
386    pub fn cmp1(&mut self) -> Cmp1W<StatusSpec> {
387        Cmp1W::new(self, 25)
388    }
389    #[doc = "Bit 26 - Compare Channel 2 Value"]
390    #[inline(always)]
391    #[must_use]
392    pub fn cmp2(&mut self) -> Cmp2W<StatusSpec> {
393        Cmp2W::new(self, 26)
394    }
395    #[doc = "Bit 27 - Compare Channel 3 Value"]
396    #[inline(always)]
397    #[must_use]
398    pub fn cmp3(&mut self) -> Cmp3W<StatusSpec> {
399        Cmp3W::new(self, 27)
400    }
401    #[doc = "Bit 28 - Compare Channel 4 Value"]
402    #[inline(always)]
403    #[must_use]
404    pub fn cmp4(&mut self) -> Cmp4W<StatusSpec> {
405        Cmp4W::new(self, 28)
406    }
407    #[doc = "Bit 29 - Compare Channel 5 Value"]
408    #[inline(always)]
409    #[must_use]
410    pub fn cmp5(&mut self) -> Cmp5W<StatusSpec> {
411        Cmp5W::new(self, 29)
412    }
413}
414#[doc = "Status\n\nYou can [`read`](crate::Reg::read) this register and get [`status::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`status::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
415pub struct StatusSpec;
416impl crate::RegisterSpec for StatusSpec {
417    type Ux = u32;
418}
419#[doc = "`read()` method returns [`status::R`](R) reader structure"]
420impl crate::Readable for StatusSpec {}
421#[doc = "`write(|w| ..)` method takes [`status::W`](W) writer structure"]
422impl crate::Writable for StatusSpec {
423    type Safety = crate::Unsafe;
424    const ZERO_TO_MODIFY_FIELDS_BITMAP: u32 = 0;
425    const ONE_TO_MODIFY_FIELDS_BITMAP: u32 = 0;
426}
427#[doc = "`reset()` method sets STATUS to value 0x01"]
428impl crate::Resettable for StatusSpec {
429    const RESET_VALUE: u32 = 0x01;
430}