esp8266/uart1/
uart_status.rs

1#[doc = "Register `UART_STATUS` reader"]
2pub struct R(crate::R<UART_STATUS_SPEC>);
3impl core::ops::Deref for R {
4    type Target = crate::R<UART_STATUS_SPEC>;
5    #[inline(always)]
6    fn deref(&self) -> &Self::Target {
7        &self.0
8    }
9}
10impl From<crate::R<UART_STATUS_SPEC>> for R {
11    #[inline(always)]
12    fn from(reader: crate::R<UART_STATUS_SPEC>) -> Self {
13        R(reader)
14    }
15}
16#[doc = "Field `txd` reader - The level of the uart txd pin"]
17pub struct TXD_R(crate::FieldReader<bool, bool>);
18impl TXD_R {
19    #[inline(always)]
20    pub(crate) fn new(bits: bool) -> Self {
21        TXD_R(crate::FieldReader::new(bits))
22    }
23}
24impl core::ops::Deref for TXD_R {
25    type Target = crate::FieldReader<bool, bool>;
26    #[inline(always)]
27    fn deref(&self) -> &Self::Target {
28        &self.0
29    }
30}
31#[doc = "Field `rtsn` reader - The level of uart rts pin"]
32pub struct RTSN_R(crate::FieldReader<bool, bool>);
33impl RTSN_R {
34    #[inline(always)]
35    pub(crate) fn new(bits: bool) -> Self {
36        RTSN_R(crate::FieldReader::new(bits))
37    }
38}
39impl core::ops::Deref for RTSN_R {
40    type Target = crate::FieldReader<bool, bool>;
41    #[inline(always)]
42    fn deref(&self) -> &Self::Target {
43        &self.0
44    }
45}
46#[doc = "Field `dtrn` reader - The level of uart dtr pin"]
47pub struct DTRN_R(crate::FieldReader<bool, bool>);
48impl DTRN_R {
49    #[inline(always)]
50    pub(crate) fn new(bits: bool) -> Self {
51        DTRN_R(crate::FieldReader::new(bits))
52    }
53}
54impl core::ops::Deref for DTRN_R {
55    type Target = crate::FieldReader<bool, bool>;
56    #[inline(always)]
57    fn deref(&self) -> &Self::Target {
58        &self.0
59    }
60}
61#[doc = "Field `txfifo_cnt` reader - Number of data in UART TX fifo"]
62pub struct TXFIFO_CNT_R(crate::FieldReader<u8, u8>);
63impl TXFIFO_CNT_R {
64    #[inline(always)]
65    pub(crate) fn new(bits: u8) -> Self {
66        TXFIFO_CNT_R(crate::FieldReader::new(bits))
67    }
68}
69impl core::ops::Deref for TXFIFO_CNT_R {
70    type Target = crate::FieldReader<u8, u8>;
71    #[inline(always)]
72    fn deref(&self) -> &Self::Target {
73        &self.0
74    }
75}
76#[doc = "Field `rxd` reader - The level of uart rxd pin"]
77pub struct RXD_R(crate::FieldReader<bool, bool>);
78impl RXD_R {
79    #[inline(always)]
80    pub(crate) fn new(bits: bool) -> Self {
81        RXD_R(crate::FieldReader::new(bits))
82    }
83}
84impl core::ops::Deref for RXD_R {
85    type Target = crate::FieldReader<bool, bool>;
86    #[inline(always)]
87    fn deref(&self) -> &Self::Target {
88        &self.0
89    }
90}
91#[doc = "Field `ctsn` reader - The level of uart cts pin"]
92pub struct CTSN_R(crate::FieldReader<bool, bool>);
93impl CTSN_R {
94    #[inline(always)]
95    pub(crate) fn new(bits: bool) -> Self {
96        CTSN_R(crate::FieldReader::new(bits))
97    }
98}
99impl core::ops::Deref for CTSN_R {
100    type Target = crate::FieldReader<bool, bool>;
101    #[inline(always)]
102    fn deref(&self) -> &Self::Target {
103        &self.0
104    }
105}
106#[doc = "Field `dsrn` reader - The level of uart dsr pin"]
107pub struct DSRN_R(crate::FieldReader<bool, bool>);
108impl DSRN_R {
109    #[inline(always)]
110    pub(crate) fn new(bits: bool) -> Self {
111        DSRN_R(crate::FieldReader::new(bits))
112    }
113}
114impl core::ops::Deref for DSRN_R {
115    type Target = crate::FieldReader<bool, bool>;
116    #[inline(always)]
117    fn deref(&self) -> &Self::Target {
118        &self.0
119    }
120}
121#[doc = "Field `rxfifo_cnt` reader - Number of data in uart rx fifo"]
122pub struct RXFIFO_CNT_R(crate::FieldReader<u8, u8>);
123impl RXFIFO_CNT_R {
124    #[inline(always)]
125    pub(crate) fn new(bits: u8) -> Self {
126        RXFIFO_CNT_R(crate::FieldReader::new(bits))
127    }
128}
129impl core::ops::Deref for RXFIFO_CNT_R {
130    type Target = crate::FieldReader<u8, u8>;
131    #[inline(always)]
132    fn deref(&self) -> &Self::Target {
133        &self.0
134    }
135}
136impl R {
137    #[doc = "Bit 31 - The level of the uart txd pin"]
138    #[inline(always)]
139    pub fn txd(&self) -> TXD_R {
140        TXD_R::new(((self.bits >> 31) & 1) != 0)
141    }
142    #[doc = "Bit 30 - The level of uart rts pin"]
143    #[inline(always)]
144    pub fn rtsn(&self) -> RTSN_R {
145        RTSN_R::new(((self.bits >> 30) & 1) != 0)
146    }
147    #[doc = "Bit 29 - The level of uart dtr pin"]
148    #[inline(always)]
149    pub fn dtrn(&self) -> DTRN_R {
150        DTRN_R::new(((self.bits >> 29) & 1) != 0)
151    }
152    #[doc = "Bits 16:23 - Number of data in UART TX fifo"]
153    #[inline(always)]
154    pub fn txfifo_cnt(&self) -> TXFIFO_CNT_R {
155        TXFIFO_CNT_R::new(((self.bits >> 16) & 0xff) as u8)
156    }
157    #[doc = "Bit 15 - The level of uart rxd pin"]
158    #[inline(always)]
159    pub fn rxd(&self) -> RXD_R {
160        RXD_R::new(((self.bits >> 15) & 1) != 0)
161    }
162    #[doc = "Bit 14 - The level of uart cts pin"]
163    #[inline(always)]
164    pub fn ctsn(&self) -> CTSN_R {
165        CTSN_R::new(((self.bits >> 14) & 1) != 0)
166    }
167    #[doc = "Bit 13 - The level of uart dsr pin"]
168    #[inline(always)]
169    pub fn dsrn(&self) -> DSRN_R {
170        DSRN_R::new(((self.bits >> 13) & 1) != 0)
171    }
172    #[doc = "Bits 0:7 - Number of data in uart rx fifo"]
173    #[inline(always)]
174    pub fn rxfifo_cnt(&self) -> RXFIFO_CNT_R {
175        RXFIFO_CNT_R::new((self.bits & 0xff) as u8)
176    }
177}
178#[doc = "UART STATUS REGISTER\n\nThis register you can [`read`]
179(crate::generic::Reg::read). See [API]
180(https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [uart_status]
181(index.html) module"]
182pub struct UART_STATUS_SPEC;
183impl crate::RegisterSpec for UART_STATUS_SPEC {
184    type Ux = u32;
185}
186#[doc = "`read()` method returns [uart_status::R]
187(R) reader structure"]
188impl crate::Readable for UART_STATUS_SPEC {
189    type Reader = R;
190}
191#[doc = "`reset()` method sets UART_STATUS to value 0"]
192impl crate::Resettable for UART_STATUS_SPEC {
193    #[inline(always)]
194    fn reset_value() -> Self::Ux {
195        0
196    }
197}