efm32gg12b510_pac/ebi/
tftcolorformat.rs

1#[doc = "Register `TFTCOLORFORMAT` reader"]
2pub struct R(crate::R<TFTCOLORFORMAT_SPEC>);
3impl core::ops::Deref for R {
4    type Target = crate::R<TFTCOLORFORMAT_SPEC>;
5    #[inline(always)]
6    fn deref(&self) -> &Self::Target {
7        &self.0
8    }
9}
10impl From<crate::R<TFTCOLORFORMAT_SPEC>> for R {
11    #[inline(always)]
12    fn from(reader: crate::R<TFTCOLORFORMAT_SPEC>) -> Self {
13        R(reader)
14    }
15}
16#[doc = "Register `TFTCOLORFORMAT` writer"]
17pub struct W(crate::W<TFTCOLORFORMAT_SPEC>);
18impl core::ops::Deref for W {
19    type Target = crate::W<TFTCOLORFORMAT_SPEC>;
20    #[inline(always)]
21    fn deref(&self) -> &Self::Target {
22        &self.0
23    }
24}
25impl core::ops::DerefMut for W {
26    #[inline(always)]
27    fn deref_mut(&mut self) -> &mut Self::Target {
28        &mut self.0
29    }
30}
31impl From<crate::W<TFTCOLORFORMAT_SPEC>> for W {
32    #[inline(always)]
33    fn from(writer: crate::W<TFTCOLORFORMAT_SPEC>) -> Self {
34        W(writer)
35    }
36}
37#[doc = "Sprite Pixel Color Format\n\nValue on reset: 0"]
38#[derive(Clone, Copy, Debug, PartialEq)]
39#[repr(u8)]
40pub enum PIXEL0FORMAT_A {
41    #[doc = "0: ARGB data is 0555"]
42    ARGB0555 = 0,
43    #[doc = "1: ARGB data is 0565"]
44    ARGB0565 = 1,
45    #[doc = "2: ARGB data is 0666"]
46    ARGB0666 = 2,
47    #[doc = "3: ARGB data is 0888"]
48    ARGB0888 = 3,
49    #[doc = "4: ARGB data is 5555"]
50    ARGB5555 = 4,
51    #[doc = "5: ARGB data is 6565"]
52    ARGB6565 = 5,
53    #[doc = "6: ARGB data is 6666"]
54    ARGB6666 = 6,
55    #[doc = "7: ARGB data is 8888"]
56    ARGB8888 = 7,
57}
58impl From<PIXEL0FORMAT_A> for u8 {
59    #[inline(always)]
60    fn from(variant: PIXEL0FORMAT_A) -> Self {
61        variant as _
62    }
63}
64#[doc = "Field `PIXEL0FORMAT` reader - Sprite Pixel Color Format"]
65pub type PIXEL0FORMAT_R = crate::FieldReader<u8, PIXEL0FORMAT_A>;
66impl PIXEL0FORMAT_R {
67    #[doc = "Get enumerated values variant"]
68    #[inline(always)]
69    pub fn variant(&self) -> PIXEL0FORMAT_A {
70        match self.bits {
71            0 => PIXEL0FORMAT_A::ARGB0555,
72            1 => PIXEL0FORMAT_A::ARGB0565,
73            2 => PIXEL0FORMAT_A::ARGB0666,
74            3 => PIXEL0FORMAT_A::ARGB0888,
75            4 => PIXEL0FORMAT_A::ARGB5555,
76            5 => PIXEL0FORMAT_A::ARGB6565,
77            6 => PIXEL0FORMAT_A::ARGB6666,
78            7 => PIXEL0FORMAT_A::ARGB8888,
79            _ => unreachable!(),
80        }
81    }
82    #[doc = "Checks if the value of the field is `ARGB0555`"]
83    #[inline(always)]
84    pub fn is_argb0555(&self) -> bool {
85        *self == PIXEL0FORMAT_A::ARGB0555
86    }
87    #[doc = "Checks if the value of the field is `ARGB0565`"]
88    #[inline(always)]
89    pub fn is_argb0565(&self) -> bool {
90        *self == PIXEL0FORMAT_A::ARGB0565
91    }
92    #[doc = "Checks if the value of the field is `ARGB0666`"]
93    #[inline(always)]
94    pub fn is_argb0666(&self) -> bool {
95        *self == PIXEL0FORMAT_A::ARGB0666
96    }
97    #[doc = "Checks if the value of the field is `ARGB0888`"]
98    #[inline(always)]
99    pub fn is_argb0888(&self) -> bool {
100        *self == PIXEL0FORMAT_A::ARGB0888
101    }
102    #[doc = "Checks if the value of the field is `ARGB5555`"]
103    #[inline(always)]
104    pub fn is_argb5555(&self) -> bool {
105        *self == PIXEL0FORMAT_A::ARGB5555
106    }
107    #[doc = "Checks if the value of the field is `ARGB6565`"]
108    #[inline(always)]
109    pub fn is_argb6565(&self) -> bool {
110        *self == PIXEL0FORMAT_A::ARGB6565
111    }
112    #[doc = "Checks if the value of the field is `ARGB6666`"]
113    #[inline(always)]
114    pub fn is_argb6666(&self) -> bool {
115        *self == PIXEL0FORMAT_A::ARGB6666
116    }
117    #[doc = "Checks if the value of the field is `ARGB8888`"]
118    #[inline(always)]
119    pub fn is_argb8888(&self) -> bool {
120        *self == PIXEL0FORMAT_A::ARGB8888
121    }
122}
123#[doc = "Field `PIXEL0FORMAT` writer - Sprite Pixel Color Format"]
124pub type PIXEL0FORMAT_W<'a> =
125    crate::FieldWriterSafe<'a, u32, TFTCOLORFORMAT_SPEC, u8, PIXEL0FORMAT_A, 3, 0>;
126impl<'a> PIXEL0FORMAT_W<'a> {
127    #[doc = "ARGB data is 0555"]
128    #[inline(always)]
129    pub fn argb0555(self) -> &'a mut W {
130        self.variant(PIXEL0FORMAT_A::ARGB0555)
131    }
132    #[doc = "ARGB data is 0565"]
133    #[inline(always)]
134    pub fn argb0565(self) -> &'a mut W {
135        self.variant(PIXEL0FORMAT_A::ARGB0565)
136    }
137    #[doc = "ARGB data is 0666"]
138    #[inline(always)]
139    pub fn argb0666(self) -> &'a mut W {
140        self.variant(PIXEL0FORMAT_A::ARGB0666)
141    }
142    #[doc = "ARGB data is 0888"]
143    #[inline(always)]
144    pub fn argb0888(self) -> &'a mut W {
145        self.variant(PIXEL0FORMAT_A::ARGB0888)
146    }
147    #[doc = "ARGB data is 5555"]
148    #[inline(always)]
149    pub fn argb5555(self) -> &'a mut W {
150        self.variant(PIXEL0FORMAT_A::ARGB5555)
151    }
152    #[doc = "ARGB data is 6565"]
153    #[inline(always)]
154    pub fn argb6565(self) -> &'a mut W {
155        self.variant(PIXEL0FORMAT_A::ARGB6565)
156    }
157    #[doc = "ARGB data is 6666"]
158    #[inline(always)]
159    pub fn argb6666(self) -> &'a mut W {
160        self.variant(PIXEL0FORMAT_A::ARGB6666)
161    }
162    #[doc = "ARGB data is 8888"]
163    #[inline(always)]
164    pub fn argb8888(self) -> &'a mut W {
165        self.variant(PIXEL0FORMAT_A::ARGB8888)
166    }
167}
168#[doc = "Source and Destination Pixel Color Format\n\nValue on reset: 0"]
169#[derive(Clone, Copy, Debug, PartialEq)]
170#[repr(u8)]
171pub enum PIXEL1FORMAT_A {
172    #[doc = "0: RGB data is 555"]
173    RGB555 = 0,
174    #[doc = "1: RGB data is 565"]
175    RGB565 = 1,
176    #[doc = "2: RGB data is 666"]
177    RGB666 = 2,
178    #[doc = "3: RGB data is 888"]
179    RGB888 = 3,
180}
181impl From<PIXEL1FORMAT_A> for u8 {
182    #[inline(always)]
183    fn from(variant: PIXEL1FORMAT_A) -> Self {
184        variant as _
185    }
186}
187#[doc = "Field `PIXEL1FORMAT` reader - Source and Destination Pixel Color Format"]
188pub type PIXEL1FORMAT_R = crate::FieldReader<u8, PIXEL1FORMAT_A>;
189impl PIXEL1FORMAT_R {
190    #[doc = "Get enumerated values variant"]
191    #[inline(always)]
192    pub fn variant(&self) -> PIXEL1FORMAT_A {
193        match self.bits {
194            0 => PIXEL1FORMAT_A::RGB555,
195            1 => PIXEL1FORMAT_A::RGB565,
196            2 => PIXEL1FORMAT_A::RGB666,
197            3 => PIXEL1FORMAT_A::RGB888,
198            _ => unreachable!(),
199        }
200    }
201    #[doc = "Checks if the value of the field is `RGB555`"]
202    #[inline(always)]
203    pub fn is_rgb555(&self) -> bool {
204        *self == PIXEL1FORMAT_A::RGB555
205    }
206    #[doc = "Checks if the value of the field is `RGB565`"]
207    #[inline(always)]
208    pub fn is_rgb565(&self) -> bool {
209        *self == PIXEL1FORMAT_A::RGB565
210    }
211    #[doc = "Checks if the value of the field is `RGB666`"]
212    #[inline(always)]
213    pub fn is_rgb666(&self) -> bool {
214        *self == PIXEL1FORMAT_A::RGB666
215    }
216    #[doc = "Checks if the value of the field is `RGB888`"]
217    #[inline(always)]
218    pub fn is_rgb888(&self) -> bool {
219        *self == PIXEL1FORMAT_A::RGB888
220    }
221}
222#[doc = "Field `PIXEL1FORMAT` writer - Source and Destination Pixel Color Format"]
223pub type PIXEL1FORMAT_W<'a> =
224    crate::FieldWriterSafe<'a, u32, TFTCOLORFORMAT_SPEC, u8, PIXEL1FORMAT_A, 2, 8>;
225impl<'a> PIXEL1FORMAT_W<'a> {
226    #[doc = "RGB data is 555"]
227    #[inline(always)]
228    pub fn rgb555(self) -> &'a mut W {
229        self.variant(PIXEL1FORMAT_A::RGB555)
230    }
231    #[doc = "RGB data is 565"]
232    #[inline(always)]
233    pub fn rgb565(self) -> &'a mut W {
234        self.variant(PIXEL1FORMAT_A::RGB565)
235    }
236    #[doc = "RGB data is 666"]
237    #[inline(always)]
238    pub fn rgb666(self) -> &'a mut W {
239        self.variant(PIXEL1FORMAT_A::RGB666)
240    }
241    #[doc = "RGB data is 888"]
242    #[inline(always)]
243    pub fn rgb888(self) -> &'a mut W {
244        self.variant(PIXEL1FORMAT_A::RGB888)
245    }
246}
247impl R {
248    #[doc = "Bits 0:2 - Sprite Pixel Color Format"]
249    #[inline(always)]
250    pub fn pixel0format(&self) -> PIXEL0FORMAT_R {
251        PIXEL0FORMAT_R::new((self.bits & 7) as u8)
252    }
253    #[doc = "Bits 8:9 - Source and Destination Pixel Color Format"]
254    #[inline(always)]
255    pub fn pixel1format(&self) -> PIXEL1FORMAT_R {
256        PIXEL1FORMAT_R::new(((self.bits >> 8) & 3) as u8)
257    }
258}
259impl W {
260    #[doc = "Bits 0:2 - Sprite Pixel Color Format"]
261    #[inline(always)]
262    pub fn pixel0format(&mut self) -> PIXEL0FORMAT_W {
263        PIXEL0FORMAT_W::new(self)
264    }
265    #[doc = "Bits 8:9 - Source and Destination Pixel Color Format"]
266    #[inline(always)]
267    pub fn pixel1format(&mut self) -> PIXEL1FORMAT_W {
268        PIXEL1FORMAT_W::new(self)
269    }
270    #[doc = "Writes raw bits to the register."]
271    #[inline(always)]
272    pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
273        self.0.bits(bits);
274        self
275    }
276}
277#[doc = "Color Format Register\n\nThis register you can [`read`](crate::generic::Reg::read), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [tftcolorformat](index.html) module"]
278pub struct TFTCOLORFORMAT_SPEC;
279impl crate::RegisterSpec for TFTCOLORFORMAT_SPEC {
280    type Ux = u32;
281}
282#[doc = "`read()` method returns [tftcolorformat::R](R) reader structure"]
283impl crate::Readable for TFTCOLORFORMAT_SPEC {
284    type Reader = R;
285}
286#[doc = "`write(|w| ..)` method takes [tftcolorformat::W](W) writer structure"]
287impl crate::Writable for TFTCOLORFORMAT_SPEC {
288    type Writer = W;
289}
290#[doc = "`reset()` method sets TFTCOLORFORMAT to value 0"]
291impl crate::Resettable for TFTCOLORFORMAT_SPEC {
292    #[inline(always)]
293    fn reset_value() -> Self::Ux {
294        0
295    }
296}