esp32/
uart0.rs

1#[repr(C)]
2#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5    fifo: FIFO,
6    int_raw: INT_RAW,
7    int_st: INT_ST,
8    int_ena: INT_ENA,
9    int_clr: INT_CLR,
10    clkdiv: CLKDIV,
11    autobaud: AUTOBAUD,
12    status: STATUS,
13    conf0: CONF0,
14    conf1: CONF1,
15    lowpulse: LOWPULSE,
16    highpulse: HIGHPULSE,
17    rxd_cnt: RXD_CNT,
18    flow_conf: FLOW_CONF,
19    sleep_conf: SLEEP_CONF,
20    swfc_conf: SWFC_CONF,
21    idle_conf: IDLE_CONF,
22    rs485_conf: RS485_CONF,
23    at_cmd_precnt: AT_CMD_PRECNT,
24    at_cmd_postcnt: AT_CMD_POSTCNT,
25    at_cmd_gaptout: AT_CMD_GAPTOUT,
26    at_cmd_char: AT_CMD_CHAR,
27    mem_conf: MEM_CONF,
28    mem_tx_status: MEM_TX_STATUS,
29    mem_rx_status: MEM_RX_STATUS,
30    mem_cnt_status: MEM_CNT_STATUS,
31    pospulse: POSPULSE,
32    negpulse: NEGPULSE,
33    _reserved28: [u8; 0x08],
34    date: DATE,
35    id: ID,
36}
37impl RegisterBlock {
38    #[doc = "0x00 - "]
39    #[inline(always)]
40    pub const fn fifo(&self) -> &FIFO {
41        &self.fifo
42    }
43    #[doc = "0x04 - "]
44    #[inline(always)]
45    pub const fn int_raw(&self) -> &INT_RAW {
46        &self.int_raw
47    }
48    #[doc = "0x08 - "]
49    #[inline(always)]
50    pub const fn int_st(&self) -> &INT_ST {
51        &self.int_st
52    }
53    #[doc = "0x0c - "]
54    #[inline(always)]
55    pub const fn int_ena(&self) -> &INT_ENA {
56        &self.int_ena
57    }
58    #[doc = "0x10 - "]
59    #[inline(always)]
60    pub const fn int_clr(&self) -> &INT_CLR {
61        &self.int_clr
62    }
63    #[doc = "0x14 - "]
64    #[inline(always)]
65    pub const fn clkdiv(&self) -> &CLKDIV {
66        &self.clkdiv
67    }
68    #[doc = "0x18 - "]
69    #[inline(always)]
70    pub const fn autobaud(&self) -> &AUTOBAUD {
71        &self.autobaud
72    }
73    #[doc = "0x1c - "]
74    #[inline(always)]
75    pub const fn status(&self) -> &STATUS {
76        &self.status
77    }
78    #[doc = "0x20 - "]
79    #[inline(always)]
80    pub const fn conf0(&self) -> &CONF0 {
81        &self.conf0
82    }
83    #[doc = "0x24 - "]
84    #[inline(always)]
85    pub const fn conf1(&self) -> &CONF1 {
86        &self.conf1
87    }
88    #[doc = "0x28 - "]
89    #[inline(always)]
90    pub const fn lowpulse(&self) -> &LOWPULSE {
91        &self.lowpulse
92    }
93    #[doc = "0x2c - "]
94    #[inline(always)]
95    pub const fn highpulse(&self) -> &HIGHPULSE {
96        &self.highpulse
97    }
98    #[doc = "0x30 - "]
99    #[inline(always)]
100    pub const fn rxd_cnt(&self) -> &RXD_CNT {
101        &self.rxd_cnt
102    }
103    #[doc = "0x34 - "]
104    #[inline(always)]
105    pub const fn flow_conf(&self) -> &FLOW_CONF {
106        &self.flow_conf
107    }
108    #[doc = "0x38 - "]
109    #[inline(always)]
110    pub const fn sleep_conf(&self) -> &SLEEP_CONF {
111        &self.sleep_conf
112    }
113    #[doc = "0x3c - "]
114    #[inline(always)]
115    pub const fn swfc_conf(&self) -> &SWFC_CONF {
116        &self.swfc_conf
117    }
118    #[doc = "0x40 - "]
119    #[inline(always)]
120    pub const fn idle_conf(&self) -> &IDLE_CONF {
121        &self.idle_conf
122    }
123    #[doc = "0x44 - "]
124    #[inline(always)]
125    pub const fn rs485_conf(&self) -> &RS485_CONF {
126        &self.rs485_conf
127    }
128    #[doc = "0x48 - "]
129    #[inline(always)]
130    pub const fn at_cmd_precnt(&self) -> &AT_CMD_PRECNT {
131        &self.at_cmd_precnt
132    }
133    #[doc = "0x4c - "]
134    #[inline(always)]
135    pub const fn at_cmd_postcnt(&self) -> &AT_CMD_POSTCNT {
136        &self.at_cmd_postcnt
137    }
138    #[doc = "0x50 - "]
139    #[inline(always)]
140    pub const fn at_cmd_gaptout(&self) -> &AT_CMD_GAPTOUT {
141        &self.at_cmd_gaptout
142    }
143    #[doc = "0x54 - "]
144    #[inline(always)]
145    pub const fn at_cmd_char(&self) -> &AT_CMD_CHAR {
146        &self.at_cmd_char
147    }
148    #[doc = "0x58 - "]
149    #[inline(always)]
150    pub const fn mem_conf(&self) -> &MEM_CONF {
151        &self.mem_conf
152    }
153    #[doc = "0x5c - "]
154    #[inline(always)]
155    pub const fn mem_tx_status(&self) -> &MEM_TX_STATUS {
156        &self.mem_tx_status
157    }
158    #[doc = "0x60 - "]
159    #[inline(always)]
160    pub const fn mem_rx_status(&self) -> &MEM_RX_STATUS {
161        &self.mem_rx_status
162    }
163    #[doc = "0x64 - "]
164    #[inline(always)]
165    pub const fn mem_cnt_status(&self) -> &MEM_CNT_STATUS {
166        &self.mem_cnt_status
167    }
168    #[doc = "0x68 - "]
169    #[inline(always)]
170    pub const fn pospulse(&self) -> &POSPULSE {
171        &self.pospulse
172    }
173    #[doc = "0x6c - "]
174    #[inline(always)]
175    pub const fn negpulse(&self) -> &NEGPULSE {
176        &self.negpulse
177    }
178    #[doc = "0x78 - "]
179    #[inline(always)]
180    pub const fn date(&self) -> &DATE {
181        &self.date
182    }
183    #[doc = "0x7c - "]
184    #[inline(always)]
185    pub const fn id(&self) -> &ID {
186        &self.id
187    }
188}
189#[doc = "FIFO (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`fifo::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`fifo::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@fifo`] module"]
190pub type FIFO = crate::Reg<fifo::FIFO_SPEC>;
191#[doc = ""]
192pub mod fifo;
193#[doc = "INT_RAW (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`int_raw::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@int_raw`] module"]
194pub type INT_RAW = crate::Reg<int_raw::INT_RAW_SPEC>;
195#[doc = ""]
196pub mod int_raw;
197#[doc = "INT_ST (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`int_st::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@int_st`] module"]
198pub type INT_ST = crate::Reg<int_st::INT_ST_SPEC>;
199#[doc = ""]
200pub mod int_st;
201#[doc = "INT_ENA (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`int_ena::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`int_ena::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@int_ena`] module"]
202pub type INT_ENA = crate::Reg<int_ena::INT_ENA_SPEC>;
203#[doc = ""]
204pub mod int_ena;
205#[doc = "INT_CLR (w) register accessor: \n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`int_clr::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@int_clr`] module"]
206pub type INT_CLR = crate::Reg<int_clr::INT_CLR_SPEC>;
207#[doc = ""]
208pub mod int_clr;
209#[doc = "CLKDIV (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`clkdiv::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`clkdiv::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clkdiv`] module"]
210pub type CLKDIV = crate::Reg<clkdiv::CLKDIV_SPEC>;
211#[doc = ""]
212pub mod clkdiv;
213#[doc = "AUTOBAUD (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`autobaud::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`autobaud::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@autobaud`] module"]
214pub type AUTOBAUD = crate::Reg<autobaud::AUTOBAUD_SPEC>;
215#[doc = ""]
216pub mod autobaud;
217#[doc = "STATUS (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`status::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@status`] module"]
218pub type STATUS = crate::Reg<status::STATUS_SPEC>;
219#[doc = ""]
220pub mod status;
221#[doc = "CONF0 (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`conf0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`conf0::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@conf0`] module"]
222pub type CONF0 = crate::Reg<conf0::CONF0_SPEC>;
223#[doc = ""]
224pub mod conf0;
225#[doc = "CONF1 (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`conf1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`conf1::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@conf1`] module"]
226pub type CONF1 = crate::Reg<conf1::CONF1_SPEC>;
227#[doc = ""]
228pub mod conf1;
229#[doc = "LOWPULSE (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`lowpulse::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@lowpulse`] module"]
230pub type LOWPULSE = crate::Reg<lowpulse::LOWPULSE_SPEC>;
231#[doc = ""]
232pub mod lowpulse;
233#[doc = "HIGHPULSE (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`highpulse::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@highpulse`] module"]
234pub type HIGHPULSE = crate::Reg<highpulse::HIGHPULSE_SPEC>;
235#[doc = ""]
236pub mod highpulse;
237#[doc = "RXD_CNT (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`rxd_cnt::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rxd_cnt`] module"]
238pub type RXD_CNT = crate::Reg<rxd_cnt::RXD_CNT_SPEC>;
239#[doc = ""]
240pub mod rxd_cnt;
241#[doc = "FLOW_CONF (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`flow_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`flow_conf::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@flow_conf`] module"]
242pub type FLOW_CONF = crate::Reg<flow_conf::FLOW_CONF_SPEC>;
243#[doc = ""]
244pub mod flow_conf;
245#[doc = "SLEEP_CONF (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`sleep_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sleep_conf::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@sleep_conf`] module"]
246pub type SLEEP_CONF = crate::Reg<sleep_conf::SLEEP_CONF_SPEC>;
247#[doc = ""]
248pub mod sleep_conf;
249#[doc = "SWFC_CONF (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`swfc_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`swfc_conf::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@swfc_conf`] module"]
250pub type SWFC_CONF = crate::Reg<swfc_conf::SWFC_CONF_SPEC>;
251#[doc = ""]
252pub mod swfc_conf;
253#[doc = "IDLE_CONF (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`idle_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`idle_conf::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@idle_conf`] module"]
254pub type IDLE_CONF = crate::Reg<idle_conf::IDLE_CONF_SPEC>;
255#[doc = ""]
256pub mod idle_conf;
257#[doc = "RS485_CONF (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`rs485_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rs485_conf::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rs485_conf`] module"]
258pub type RS485_CONF = crate::Reg<rs485_conf::RS485_CONF_SPEC>;
259#[doc = ""]
260pub mod rs485_conf;
261#[doc = "AT_CMD_PRECNT (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`at_cmd_precnt::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`at_cmd_precnt::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@at_cmd_precnt`] module"]
262pub type AT_CMD_PRECNT = crate::Reg<at_cmd_precnt::AT_CMD_PRECNT_SPEC>;
263#[doc = ""]
264pub mod at_cmd_precnt;
265#[doc = "AT_CMD_POSTCNT (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`at_cmd_postcnt::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`at_cmd_postcnt::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@at_cmd_postcnt`] module"]
266pub type AT_CMD_POSTCNT = crate::Reg<at_cmd_postcnt::AT_CMD_POSTCNT_SPEC>;
267#[doc = ""]
268pub mod at_cmd_postcnt;
269#[doc = "AT_CMD_GAPTOUT (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`at_cmd_gaptout::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`at_cmd_gaptout::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@at_cmd_gaptout`] module"]
270pub type AT_CMD_GAPTOUT = crate::Reg<at_cmd_gaptout::AT_CMD_GAPTOUT_SPEC>;
271#[doc = ""]
272pub mod at_cmd_gaptout;
273#[doc = "AT_CMD_CHAR (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`at_cmd_char::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`at_cmd_char::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@at_cmd_char`] module"]
274pub type AT_CMD_CHAR = crate::Reg<at_cmd_char::AT_CMD_CHAR_SPEC>;
275#[doc = ""]
276pub mod at_cmd_char;
277#[doc = "MEM_CONF (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`mem_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`mem_conf::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@mem_conf`] module"]
278pub type MEM_CONF = crate::Reg<mem_conf::MEM_CONF_SPEC>;
279#[doc = ""]
280pub mod mem_conf;
281#[doc = "MEM_TX_STATUS (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`mem_tx_status::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@mem_tx_status`] module"]
282pub type MEM_TX_STATUS = crate::Reg<mem_tx_status::MEM_TX_STATUS_SPEC>;
283#[doc = ""]
284pub mod mem_tx_status;
285#[doc = "MEM_RX_STATUS (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`mem_rx_status::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@mem_rx_status`] module"]
286pub type MEM_RX_STATUS = crate::Reg<mem_rx_status::MEM_RX_STATUS_SPEC>;
287#[doc = ""]
288pub mod mem_rx_status;
289#[doc = "MEM_CNT_STATUS (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`mem_cnt_status::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@mem_cnt_status`] module"]
290pub type MEM_CNT_STATUS = crate::Reg<mem_cnt_status::MEM_CNT_STATUS_SPEC>;
291#[doc = ""]
292pub mod mem_cnt_status;
293#[doc = "POSPULSE (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`pospulse::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pospulse`] module"]
294pub type POSPULSE = crate::Reg<pospulse::POSPULSE_SPEC>;
295#[doc = ""]
296pub mod pospulse;
297#[doc = "NEGPULSE (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`negpulse::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@negpulse`] module"]
298pub type NEGPULSE = crate::Reg<negpulse::NEGPULSE_SPEC>;
299#[doc = ""]
300pub mod negpulse;
301#[doc = "DATE (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`date::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`date::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@date`] module"]
302pub type DATE = crate::Reg<date::DATE_SPEC>;
303#[doc = ""]
304pub mod date;
305#[doc = "ID (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`id::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`id::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@id`] module"]
306pub type ID = crate::Reg<id::ID_SPEC>;
307#[doc = ""]
308pub mod id;