atsamd11c/tcc0/
patt.rs

1#[doc = "Register `PATT` reader"]
2pub type R = crate::R<PattSpec>;
3#[doc = "Register `PATT` writer"]
4pub type W = crate::W<PattSpec>;
5#[doc = "Field `PGE0` reader - Pattern Generator 0 Output Enable"]
6pub type Pge0R = crate::BitReader;
7#[doc = "Field `PGE0` writer - Pattern Generator 0 Output Enable"]
8pub type Pge0W<'a, REG> = crate::BitWriter<'a, REG>;
9#[doc = "Field `PGE1` reader - Pattern Generator 1 Output Enable"]
10pub type Pge1R = crate::BitReader;
11#[doc = "Field `PGE1` writer - Pattern Generator 1 Output Enable"]
12pub type Pge1W<'a, REG> = crate::BitWriter<'a, REG>;
13#[doc = "Field `PGE2` reader - Pattern Generator 2 Output Enable"]
14pub type Pge2R = crate::BitReader;
15#[doc = "Field `PGE2` writer - Pattern Generator 2 Output Enable"]
16pub type Pge2W<'a, REG> = crate::BitWriter<'a, REG>;
17#[doc = "Field `PGE3` reader - Pattern Generator 3 Output Enable"]
18pub type Pge3R = crate::BitReader;
19#[doc = "Field `PGE3` writer - Pattern Generator 3 Output Enable"]
20pub type Pge3W<'a, REG> = crate::BitWriter<'a, REG>;
21#[doc = "Field `PGE4` reader - Pattern Generator 4 Output Enable"]
22pub type Pge4R = crate::BitReader;
23#[doc = "Field `PGE4` writer - Pattern Generator 4 Output Enable"]
24pub type Pge4W<'a, REG> = crate::BitWriter<'a, REG>;
25#[doc = "Field `PGE5` reader - Pattern Generator 5 Output Enable"]
26pub type Pge5R = crate::BitReader;
27#[doc = "Field `PGE5` writer - Pattern Generator 5 Output Enable"]
28pub type Pge5W<'a, REG> = crate::BitWriter<'a, REG>;
29#[doc = "Field `PGE6` reader - Pattern Generator 6 Output Enable"]
30pub type Pge6R = crate::BitReader;
31#[doc = "Field `PGE6` writer - Pattern Generator 6 Output Enable"]
32pub type Pge6W<'a, REG> = crate::BitWriter<'a, REG>;
33#[doc = "Field `PGE7` reader - Pattern Generator 7 Output Enable"]
34pub type Pge7R = crate::BitReader;
35#[doc = "Field `PGE7` writer - Pattern Generator 7 Output Enable"]
36pub type Pge7W<'a, REG> = crate::BitWriter<'a, REG>;
37#[doc = "Field `PGV0` reader - Pattern Generator 0 Output Value"]
38pub type Pgv0R = crate::BitReader;
39#[doc = "Field `PGV0` writer - Pattern Generator 0 Output Value"]
40pub type Pgv0W<'a, REG> = crate::BitWriter<'a, REG>;
41#[doc = "Field `PGV1` reader - Pattern Generator 1 Output Value"]
42pub type Pgv1R = crate::BitReader;
43#[doc = "Field `PGV1` writer - Pattern Generator 1 Output Value"]
44pub type Pgv1W<'a, REG> = crate::BitWriter<'a, REG>;
45#[doc = "Field `PGV2` reader - Pattern Generator 2 Output Value"]
46pub type Pgv2R = crate::BitReader;
47#[doc = "Field `PGV2` writer - Pattern Generator 2 Output Value"]
48pub type Pgv2W<'a, REG> = crate::BitWriter<'a, REG>;
49#[doc = "Field `PGV3` reader - Pattern Generator 3 Output Value"]
50pub type Pgv3R = crate::BitReader;
51#[doc = "Field `PGV3` writer - Pattern Generator 3 Output Value"]
52pub type Pgv3W<'a, REG> = crate::BitWriter<'a, REG>;
53#[doc = "Field `PGV4` reader - Pattern Generator 4 Output Value"]
54pub type Pgv4R = crate::BitReader;
55#[doc = "Field `PGV4` writer - Pattern Generator 4 Output Value"]
56pub type Pgv4W<'a, REG> = crate::BitWriter<'a, REG>;
57#[doc = "Field `PGV5` reader - Pattern Generator 5 Output Value"]
58pub type Pgv5R = crate::BitReader;
59#[doc = "Field `PGV5` writer - Pattern Generator 5 Output Value"]
60pub type Pgv5W<'a, REG> = crate::BitWriter<'a, REG>;
61#[doc = "Field `PGV6` reader - Pattern Generator 6 Output Value"]
62pub type Pgv6R = crate::BitReader;
63#[doc = "Field `PGV6` writer - Pattern Generator 6 Output Value"]
64pub type Pgv6W<'a, REG> = crate::BitWriter<'a, REG>;
65#[doc = "Field `PGV7` reader - Pattern Generator 7 Output Value"]
66pub type Pgv7R = crate::BitReader;
67#[doc = "Field `PGV7` writer - Pattern Generator 7 Output Value"]
68pub type Pgv7W<'a, REG> = crate::BitWriter<'a, REG>;
69impl R {
70    #[doc = "Bit 0 - Pattern Generator 0 Output Enable"]
71    #[inline(always)]
72    pub fn pge0(&self) -> Pge0R {
73        Pge0R::new((self.bits & 1) != 0)
74    }
75    #[doc = "Bit 1 - Pattern Generator 1 Output Enable"]
76    #[inline(always)]
77    pub fn pge1(&self) -> Pge1R {
78        Pge1R::new(((self.bits >> 1) & 1) != 0)
79    }
80    #[doc = "Bit 2 - Pattern Generator 2 Output Enable"]
81    #[inline(always)]
82    pub fn pge2(&self) -> Pge2R {
83        Pge2R::new(((self.bits >> 2) & 1) != 0)
84    }
85    #[doc = "Bit 3 - Pattern Generator 3 Output Enable"]
86    #[inline(always)]
87    pub fn pge3(&self) -> Pge3R {
88        Pge3R::new(((self.bits >> 3) & 1) != 0)
89    }
90    #[doc = "Bit 4 - Pattern Generator 4 Output Enable"]
91    #[inline(always)]
92    pub fn pge4(&self) -> Pge4R {
93        Pge4R::new(((self.bits >> 4) & 1) != 0)
94    }
95    #[doc = "Bit 5 - Pattern Generator 5 Output Enable"]
96    #[inline(always)]
97    pub fn pge5(&self) -> Pge5R {
98        Pge5R::new(((self.bits >> 5) & 1) != 0)
99    }
100    #[doc = "Bit 6 - Pattern Generator 6 Output Enable"]
101    #[inline(always)]
102    pub fn pge6(&self) -> Pge6R {
103        Pge6R::new(((self.bits >> 6) & 1) != 0)
104    }
105    #[doc = "Bit 7 - Pattern Generator 7 Output Enable"]
106    #[inline(always)]
107    pub fn pge7(&self) -> Pge7R {
108        Pge7R::new(((self.bits >> 7) & 1) != 0)
109    }
110    #[doc = "Bit 8 - Pattern Generator 0 Output Value"]
111    #[inline(always)]
112    pub fn pgv0(&self) -> Pgv0R {
113        Pgv0R::new(((self.bits >> 8) & 1) != 0)
114    }
115    #[doc = "Bit 9 - Pattern Generator 1 Output Value"]
116    #[inline(always)]
117    pub fn pgv1(&self) -> Pgv1R {
118        Pgv1R::new(((self.bits >> 9) & 1) != 0)
119    }
120    #[doc = "Bit 10 - Pattern Generator 2 Output Value"]
121    #[inline(always)]
122    pub fn pgv2(&self) -> Pgv2R {
123        Pgv2R::new(((self.bits >> 10) & 1) != 0)
124    }
125    #[doc = "Bit 11 - Pattern Generator 3 Output Value"]
126    #[inline(always)]
127    pub fn pgv3(&self) -> Pgv3R {
128        Pgv3R::new(((self.bits >> 11) & 1) != 0)
129    }
130    #[doc = "Bit 12 - Pattern Generator 4 Output Value"]
131    #[inline(always)]
132    pub fn pgv4(&self) -> Pgv4R {
133        Pgv4R::new(((self.bits >> 12) & 1) != 0)
134    }
135    #[doc = "Bit 13 - Pattern Generator 5 Output Value"]
136    #[inline(always)]
137    pub fn pgv5(&self) -> Pgv5R {
138        Pgv5R::new(((self.bits >> 13) & 1) != 0)
139    }
140    #[doc = "Bit 14 - Pattern Generator 6 Output Value"]
141    #[inline(always)]
142    pub fn pgv6(&self) -> Pgv6R {
143        Pgv6R::new(((self.bits >> 14) & 1) != 0)
144    }
145    #[doc = "Bit 15 - Pattern Generator 7 Output Value"]
146    #[inline(always)]
147    pub fn pgv7(&self) -> Pgv7R {
148        Pgv7R::new(((self.bits >> 15) & 1) != 0)
149    }
150}
151impl W {
152    #[doc = "Bit 0 - Pattern Generator 0 Output Enable"]
153    #[inline(always)]
154    #[must_use]
155    pub fn pge0(&mut self) -> Pge0W<PattSpec> {
156        Pge0W::new(self, 0)
157    }
158    #[doc = "Bit 1 - Pattern Generator 1 Output Enable"]
159    #[inline(always)]
160    #[must_use]
161    pub fn pge1(&mut self) -> Pge1W<PattSpec> {
162        Pge1W::new(self, 1)
163    }
164    #[doc = "Bit 2 - Pattern Generator 2 Output Enable"]
165    #[inline(always)]
166    #[must_use]
167    pub fn pge2(&mut self) -> Pge2W<PattSpec> {
168        Pge2W::new(self, 2)
169    }
170    #[doc = "Bit 3 - Pattern Generator 3 Output Enable"]
171    #[inline(always)]
172    #[must_use]
173    pub fn pge3(&mut self) -> Pge3W<PattSpec> {
174        Pge3W::new(self, 3)
175    }
176    #[doc = "Bit 4 - Pattern Generator 4 Output Enable"]
177    #[inline(always)]
178    #[must_use]
179    pub fn pge4(&mut self) -> Pge4W<PattSpec> {
180        Pge4W::new(self, 4)
181    }
182    #[doc = "Bit 5 - Pattern Generator 5 Output Enable"]
183    #[inline(always)]
184    #[must_use]
185    pub fn pge5(&mut self) -> Pge5W<PattSpec> {
186        Pge5W::new(self, 5)
187    }
188    #[doc = "Bit 6 - Pattern Generator 6 Output Enable"]
189    #[inline(always)]
190    #[must_use]
191    pub fn pge6(&mut self) -> Pge6W<PattSpec> {
192        Pge6W::new(self, 6)
193    }
194    #[doc = "Bit 7 - Pattern Generator 7 Output Enable"]
195    #[inline(always)]
196    #[must_use]
197    pub fn pge7(&mut self) -> Pge7W<PattSpec> {
198        Pge7W::new(self, 7)
199    }
200    #[doc = "Bit 8 - Pattern Generator 0 Output Value"]
201    #[inline(always)]
202    #[must_use]
203    pub fn pgv0(&mut self) -> Pgv0W<PattSpec> {
204        Pgv0W::new(self, 8)
205    }
206    #[doc = "Bit 9 - Pattern Generator 1 Output Value"]
207    #[inline(always)]
208    #[must_use]
209    pub fn pgv1(&mut self) -> Pgv1W<PattSpec> {
210        Pgv1W::new(self, 9)
211    }
212    #[doc = "Bit 10 - Pattern Generator 2 Output Value"]
213    #[inline(always)]
214    #[must_use]
215    pub fn pgv2(&mut self) -> Pgv2W<PattSpec> {
216        Pgv2W::new(self, 10)
217    }
218    #[doc = "Bit 11 - Pattern Generator 3 Output Value"]
219    #[inline(always)]
220    #[must_use]
221    pub fn pgv3(&mut self) -> Pgv3W<PattSpec> {
222        Pgv3W::new(self, 11)
223    }
224    #[doc = "Bit 12 - Pattern Generator 4 Output Value"]
225    #[inline(always)]
226    #[must_use]
227    pub fn pgv4(&mut self) -> Pgv4W<PattSpec> {
228        Pgv4W::new(self, 12)
229    }
230    #[doc = "Bit 13 - Pattern Generator 5 Output Value"]
231    #[inline(always)]
232    #[must_use]
233    pub fn pgv5(&mut self) -> Pgv5W<PattSpec> {
234        Pgv5W::new(self, 13)
235    }
236    #[doc = "Bit 14 - Pattern Generator 6 Output Value"]
237    #[inline(always)]
238    #[must_use]
239    pub fn pgv6(&mut self) -> Pgv6W<PattSpec> {
240        Pgv6W::new(self, 14)
241    }
242    #[doc = "Bit 15 - Pattern Generator 7 Output Value"]
243    #[inline(always)]
244    #[must_use]
245    pub fn pgv7(&mut self) -> Pgv7W<PattSpec> {
246        Pgv7W::new(self, 15)
247    }
248}
249#[doc = "Pattern\n\nYou can [`read`](crate::Reg::read) this register and get [`patt::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`patt::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
250pub struct PattSpec;
251impl crate::RegisterSpec for PattSpec {
252    type Ux = u16;
253}
254#[doc = "`read()` method returns [`patt::R`](R) reader structure"]
255impl crate::Readable for PattSpec {}
256#[doc = "`write(|w| ..)` method takes [`patt::W`](W) writer structure"]
257impl crate::Writable for PattSpec {
258    type Safety = crate::Unsafe;
259    const ZERO_TO_MODIFY_FIELDS_BITMAP: u16 = 0;
260    const ONE_TO_MODIFY_FIELDS_BITMAP: u16 = 0;
261}
262#[doc = "`reset()` method sets PATT to value 0"]
263impl crate::Resettable for PattSpec {
264    const RESET_VALUE: u16 = 0;
265}