stm32f7_staging/stm32f779/dcmi/
escr.rs

1///Register `ESCR` reader
2pub type R = crate::R<ESCRrs>;
3///Register `ESCR` writer
4pub type W = crate::W<ESCRrs>;
5///Field `FSC` reader - Frame start delimiter code
6pub type FSC_R = crate::FieldReader;
7///Field `FSC` writer - Frame start delimiter code
8pub type FSC_W<'a, REG> = crate::FieldWriter<'a, REG, 8>;
9///Field `LSC` reader - Line start delimiter code
10pub type LSC_R = crate::FieldReader;
11///Field `LSC` writer - Line start delimiter code
12pub type LSC_W<'a, REG> = crate::FieldWriter<'a, REG, 8>;
13///Field `LEC` reader - Line end delimiter code
14pub type LEC_R = crate::FieldReader;
15///Field `LEC` writer - Line end delimiter code
16pub type LEC_W<'a, REG> = crate::FieldWriter<'a, REG, 8>;
17///Field `FEC` reader - Frame end delimiter code
18pub type FEC_R = crate::FieldReader;
19///Field `FEC` writer - Frame end delimiter code
20pub type FEC_W<'a, REG> = crate::FieldWriter<'a, REG, 8>;
21impl R {
22    ///Bits 0:7 - Frame start delimiter code
23    #[inline(always)]
24    pub fn fsc(&self) -> FSC_R {
25        FSC_R::new((self.bits & 0xff) as u8)
26    }
27    ///Bits 8:15 - Line start delimiter code
28    #[inline(always)]
29    pub fn lsc(&self) -> LSC_R {
30        LSC_R::new(((self.bits >> 8) & 0xff) as u8)
31    }
32    ///Bits 16:23 - Line end delimiter code
33    #[inline(always)]
34    pub fn lec(&self) -> LEC_R {
35        LEC_R::new(((self.bits >> 16) & 0xff) as u8)
36    }
37    ///Bits 24:31 - Frame end delimiter code
38    #[inline(always)]
39    pub fn fec(&self) -> FEC_R {
40        FEC_R::new(((self.bits >> 24) & 0xff) as u8)
41    }
42}
43impl core::fmt::Debug for R {
44    fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
45        f.debug_struct("ESCR")
46            .field("fec", &self.fec())
47            .field("lec", &self.lec())
48            .field("lsc", &self.lsc())
49            .field("fsc", &self.fsc())
50            .finish()
51    }
52}
53impl W {
54    ///Bits 0:7 - Frame start delimiter code
55    #[inline(always)]
56    pub fn fsc(&mut self) -> FSC_W<ESCRrs> {
57        FSC_W::new(self, 0)
58    }
59    ///Bits 8:15 - Line start delimiter code
60    #[inline(always)]
61    pub fn lsc(&mut self) -> LSC_W<ESCRrs> {
62        LSC_W::new(self, 8)
63    }
64    ///Bits 16:23 - Line end delimiter code
65    #[inline(always)]
66    pub fn lec(&mut self) -> LEC_W<ESCRrs> {
67        LEC_W::new(self, 16)
68    }
69    ///Bits 24:31 - Frame end delimiter code
70    #[inline(always)]
71    pub fn fec(&mut self) -> FEC_W<ESCRrs> {
72        FEC_W::new(self, 24)
73    }
74}
75/**embedded synchronization code register
76
77You can [`read`](crate::Reg::read) this register and get [`escr::R`](R). You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`escr::W`](W). You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
78
79See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F779.html#DCMI:ESCR)*/
80pub struct ESCRrs;
81impl crate::RegisterSpec for ESCRrs {
82    type Ux = u32;
83}
84///`read()` method returns [`escr::R`](R) reader structure
85impl crate::Readable for ESCRrs {}
86///`write(|w| ..)` method takes [`escr::W`](W) writer structure
87impl crate::Writable for ESCRrs {
88    type Safety = crate::Unsafe;
89}
90///`reset()` method sets ESCR to value 0
91impl crate::Resettable for ESCRrs {}