esp32c3/
rmt.rs

1#[repr(C)]
2#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5    chdata: [CHDATA; 4],
6    ch_tx_conf0: [CH_TX_CONF0; 2],
7    ch_rx_conf0: (),
8    _reserved3: [u8; 0x04],
9    ch_rx_conf1: (),
10    _reserved4: [u8; 0x0c],
11    ch_tx_status: [CH_TX_STATUS; 2],
12    ch_rx_status: [CH_RX_STATUS; 2],
13    int_raw: INT_RAW,
14    int_st: INT_ST,
15    int_ena: INT_ENA,
16    int_clr: INT_CLR,
17    chcarrier_duty: [CHCARRIER_DUTY; 2],
18    ch_rx_carrier_rm: [CH_RX_CARRIER_RM; 2],
19    ch_tx_lim: [CH_TX_LIM; 2],
20    ch_rx_lim: [CH_RX_LIM; 2],
21    sys_conf: SYS_CONF,
22    tx_sim: TX_SIM,
23    ref_cnt_rst: REF_CNT_RST,
24    _reserved17: [u8; 0x58],
25    date: DATE,
26}
27impl RegisterBlock {
28    #[doc = "0x00..0x10 - RMT_CH%sDATA_REG."]
29    #[inline(always)]
30    pub const fn chdata(&self, n: usize) -> &CHDATA {
31        &self.chdata[n]
32    }
33    #[doc = "Iterator for array of:"]
34    #[doc = "0x00..0x10 - RMT_CH%sDATA_REG."]
35    #[inline(always)]
36    pub fn chdata_iter(&self) -> impl Iterator<Item = &CHDATA> {
37        self.chdata.iter()
38    }
39    #[doc = "0x00 - RMT_CH0DATA_REG."]
40    #[inline(always)]
41    pub const fn ch0data(&self) -> &CHDATA {
42        self.chdata(0)
43    }
44    #[doc = "0x04 - RMT_CH1DATA_REG."]
45    #[inline(always)]
46    pub const fn ch1data(&self) -> &CHDATA {
47        self.chdata(1)
48    }
49    #[doc = "0x08 - RMT_CH2DATA_REG."]
50    #[inline(always)]
51    pub const fn ch2data(&self) -> &CHDATA {
52        self.chdata(2)
53    }
54    #[doc = "0x0c - RMT_CH3DATA_REG."]
55    #[inline(always)]
56    pub const fn ch3data(&self) -> &CHDATA {
57        self.chdata(3)
58    }
59    #[doc = "0x10..0x18 - RMT_CH%sCONF%s_REG."]
60    #[inline(always)]
61    pub const fn ch_tx_conf0(&self, n: usize) -> &CH_TX_CONF0 {
62        &self.ch_tx_conf0[n]
63    }
64    #[doc = "Iterator for array of:"]
65    #[doc = "0x10..0x18 - RMT_CH%sCONF%s_REG."]
66    #[inline(always)]
67    pub fn ch_tx_conf0_iter(&self) -> impl Iterator<Item = &CH_TX_CONF0> {
68        self.ch_tx_conf0.iter()
69    }
70    #[doc = "0x10 - RMT_CH0CONF0_REG."]
71    #[inline(always)]
72    pub const fn ch0_tx_conf0(&self) -> &CH_TX_CONF0 {
73        self.ch_tx_conf0(0)
74    }
75    #[doc = "0x14 - RMT_CH1CONF1_REG."]
76    #[inline(always)]
77    pub const fn ch1_tx_conf0(&self) -> &CH_TX_CONF0 {
78        self.ch_tx_conf0(1)
79    }
80    #[doc = "0x18..0x20 - RMT_CH2CONF0_REG."]
81    #[doc = ""]
82    #[doc = "<div class=\"warning\">`n` is the index of register in the array. `n == 0` corresponds to `CH2_RX_CONF0` register.</div>"]
83    #[inline(always)]
84    pub const fn ch_rx_conf0(&self, n: usize) -> &CH_RX_CONF0 {
85        #[allow(clippy::no_effect)]
86        [(); 2][n];
87        unsafe {
88            &*core::ptr::from_ref(self)
89                .cast::<u8>()
90                .add(24)
91                .add(8 * n)
92                .cast()
93        }
94    }
95    #[doc = "Iterator for array of:"]
96    #[doc = "0x18..0x20 - RMT_CH2CONF0_REG."]
97    #[inline(always)]
98    pub fn ch_rx_conf0_iter(&self) -> impl Iterator<Item = &CH_RX_CONF0> {
99        (0..2).map(move |n| unsafe {
100            &*core::ptr::from_ref(self)
101                .cast::<u8>()
102                .add(24)
103                .add(8 * n)
104                .cast()
105        })
106    }
107    #[doc = "0x18 - RMT_CH2CONF0_REG."]
108    #[inline(always)]
109    pub const fn ch2_rx_conf0(&self) -> &CH_RX_CONF0 {
110        self.ch_rx_conf0(0)
111    }
112    #[doc = "0x20 - RMT_CH2CONF0_REG."]
113    #[inline(always)]
114    pub const fn ch3_rx_conf0(&self) -> &CH_RX_CONF0 {
115        self.ch_rx_conf0(1)
116    }
117    #[doc = "0x1c..0x24 - RMT_CH2CONF1_REG."]
118    #[doc = ""]
119    #[doc = "<div class=\"warning\">`n` is the index of register in the array. `n == 0` corresponds to `CH2_RX_CONF1` register.</div>"]
120    #[inline(always)]
121    pub const fn ch_rx_conf1(&self, n: usize) -> &CH_RX_CONF1 {
122        #[allow(clippy::no_effect)]
123        [(); 2][n];
124        unsafe {
125            &*core::ptr::from_ref(self)
126                .cast::<u8>()
127                .add(28)
128                .add(8 * n)
129                .cast()
130        }
131    }
132    #[doc = "Iterator for array of:"]
133    #[doc = "0x1c..0x24 - RMT_CH2CONF1_REG."]
134    #[inline(always)]
135    pub fn ch_rx_conf1_iter(&self) -> impl Iterator<Item = &CH_RX_CONF1> {
136        (0..2).map(move |n| unsafe {
137            &*core::ptr::from_ref(self)
138                .cast::<u8>()
139                .add(28)
140                .add(8 * n)
141                .cast()
142        })
143    }
144    #[doc = "0x1c - RMT_CH2CONF1_REG."]
145    #[inline(always)]
146    pub const fn ch2_rx_conf1(&self) -> &CH_RX_CONF1 {
147        self.ch_rx_conf1(0)
148    }
149    #[doc = "0x24 - RMT_CH2CONF1_REG."]
150    #[inline(always)]
151    pub const fn ch3_rx_conf1(&self) -> &CH_RX_CONF1 {
152        self.ch_rx_conf1(1)
153    }
154    #[doc = "0x28..0x30 - RMT_CH%sSTATUS_REG."]
155    #[inline(always)]
156    pub const fn ch_tx_status(&self, n: usize) -> &CH_TX_STATUS {
157        &self.ch_tx_status[n]
158    }
159    #[doc = "Iterator for array of:"]
160    #[doc = "0x28..0x30 - RMT_CH%sSTATUS_REG."]
161    #[inline(always)]
162    pub fn ch_tx_status_iter(&self) -> impl Iterator<Item = &CH_TX_STATUS> {
163        self.ch_tx_status.iter()
164    }
165    #[doc = "0x28 - RMT_CH0STATUS_REG."]
166    #[inline(always)]
167    pub const fn ch0_tx_status(&self) -> &CH_TX_STATUS {
168        self.ch_tx_status(0)
169    }
170    #[doc = "0x2c - RMT_CH1STATUS_REG."]
171    #[inline(always)]
172    pub const fn ch1_tx_status(&self) -> &CH_TX_STATUS {
173        self.ch_tx_status(1)
174    }
175    #[doc = "0x30..0x38 - RMT_CH2STATUS_REG."]
176    #[doc = ""]
177    #[doc = "<div class=\"warning\">`n` is the index of register in the array. `n == 0` corresponds to `CH2_RX_STATUS` register.</div>"]
178    #[inline(always)]
179    pub const fn ch_rx_status(&self, n: usize) -> &CH_RX_STATUS {
180        &self.ch_rx_status[n]
181    }
182    #[doc = "Iterator for array of:"]
183    #[doc = "0x30..0x38 - RMT_CH2STATUS_REG."]
184    #[inline(always)]
185    pub fn ch_rx_status_iter(&self) -> impl Iterator<Item = &CH_RX_STATUS> {
186        self.ch_rx_status.iter()
187    }
188    #[doc = "0x30 - RMT_CH2STATUS_REG."]
189    #[inline(always)]
190    pub const fn ch2_rx_status(&self) -> &CH_RX_STATUS {
191        self.ch_rx_status(0)
192    }
193    #[doc = "0x34 - RMT_CH2STATUS_REG."]
194    #[inline(always)]
195    pub const fn ch3_rx_status(&self) -> &CH_RX_STATUS {
196        self.ch_rx_status(1)
197    }
198    #[doc = "0x38 - RMT_INT_RAW_REG."]
199    #[inline(always)]
200    pub const fn int_raw(&self) -> &INT_RAW {
201        &self.int_raw
202    }
203    #[doc = "0x3c - RMT_INT_ST_REG."]
204    #[inline(always)]
205    pub const fn int_st(&self) -> &INT_ST {
206        &self.int_st
207    }
208    #[doc = "0x40 - RMT_INT_ENA_REG."]
209    #[inline(always)]
210    pub const fn int_ena(&self) -> &INT_ENA {
211        &self.int_ena
212    }
213    #[doc = "0x44 - RMT_INT_CLR_REG."]
214    #[inline(always)]
215    pub const fn int_clr(&self) -> &INT_CLR {
216        &self.int_clr
217    }
218    #[doc = "0x48..0x50 - RMT_CH%sCARRIER_DUTY_REG."]
219    #[inline(always)]
220    pub const fn chcarrier_duty(&self, n: usize) -> &CHCARRIER_DUTY {
221        &self.chcarrier_duty[n]
222    }
223    #[doc = "Iterator for array of:"]
224    #[doc = "0x48..0x50 - RMT_CH%sCARRIER_DUTY_REG."]
225    #[inline(always)]
226    pub fn chcarrier_duty_iter(&self) -> impl Iterator<Item = &CHCARRIER_DUTY> {
227        self.chcarrier_duty.iter()
228    }
229    #[doc = "0x48 - RMT_CH0CARRIER_DUTY_REG."]
230    #[inline(always)]
231    pub const fn ch0carrier_duty(&self) -> &CHCARRIER_DUTY {
232        self.chcarrier_duty(0)
233    }
234    #[doc = "0x4c - RMT_CH1CARRIER_DUTY_REG."]
235    #[inline(always)]
236    pub const fn ch1carrier_duty(&self) -> &CHCARRIER_DUTY {
237        self.chcarrier_duty(1)
238    }
239    #[doc = "0x50..0x58 - RMT_CH2_RX_CARRIER_RM_REG."]
240    #[doc = ""]
241    #[doc = "<div class=\"warning\">`n` is the index of register in the array. `n == 0` corresponds to `CH2_RX_CARRIER_RM` register.</div>"]
242    #[inline(always)]
243    pub const fn ch_rx_carrier_rm(&self, n: usize) -> &CH_RX_CARRIER_RM {
244        &self.ch_rx_carrier_rm[n]
245    }
246    #[doc = "Iterator for array of:"]
247    #[doc = "0x50..0x58 - RMT_CH2_RX_CARRIER_RM_REG."]
248    #[inline(always)]
249    pub fn ch_rx_carrier_rm_iter(&self) -> impl Iterator<Item = &CH_RX_CARRIER_RM> {
250        self.ch_rx_carrier_rm.iter()
251    }
252    #[doc = "0x50 - RMT_CH2_RX_CARRIER_RM_REG."]
253    #[inline(always)]
254    pub const fn ch2_rx_carrier_rm(&self) -> &CH_RX_CARRIER_RM {
255        self.ch_rx_carrier_rm(0)
256    }
257    #[doc = "0x54 - RMT_CH2_RX_CARRIER_RM_REG."]
258    #[inline(always)]
259    pub const fn ch3_rx_carrier_rm(&self) -> &CH_RX_CARRIER_RM {
260        self.ch_rx_carrier_rm(1)
261    }
262    #[doc = "0x58..0x60 - RMT_CH%s_TX_LIM_REG."]
263    #[inline(always)]
264    pub const fn ch_tx_lim(&self, n: usize) -> &CH_TX_LIM {
265        &self.ch_tx_lim[n]
266    }
267    #[doc = "Iterator for array of:"]
268    #[doc = "0x58..0x60 - RMT_CH%s_TX_LIM_REG."]
269    #[inline(always)]
270    pub fn ch_tx_lim_iter(&self) -> impl Iterator<Item = &CH_TX_LIM> {
271        self.ch_tx_lim.iter()
272    }
273    #[doc = "0x58 - RMT_CH0_TX_LIM_REG."]
274    #[inline(always)]
275    pub const fn ch0_tx_lim(&self) -> &CH_TX_LIM {
276        self.ch_tx_lim(0)
277    }
278    #[doc = "0x5c - RMT_CH1_TX_LIM_REG."]
279    #[inline(always)]
280    pub const fn ch1_tx_lim(&self) -> &CH_TX_LIM {
281        self.ch_tx_lim(1)
282    }
283    #[doc = "0x60..0x68 - RMT_CH2_RX_LIM_REG."]
284    #[doc = ""]
285    #[doc = "<div class=\"warning\">`n` is the index of register in the array. `n == 0` corresponds to `CH2_RX_LIM` register.</div>"]
286    #[inline(always)]
287    pub const fn ch_rx_lim(&self, n: usize) -> &CH_RX_LIM {
288        &self.ch_rx_lim[n]
289    }
290    #[doc = "Iterator for array of:"]
291    #[doc = "0x60..0x68 - RMT_CH2_RX_LIM_REG."]
292    #[inline(always)]
293    pub fn ch_rx_lim_iter(&self) -> impl Iterator<Item = &CH_RX_LIM> {
294        self.ch_rx_lim.iter()
295    }
296    #[doc = "0x60 - RMT_CH2_RX_LIM_REG."]
297    #[inline(always)]
298    pub const fn ch2_rx_lim(&self) -> &CH_RX_LIM {
299        self.ch_rx_lim(0)
300    }
301    #[doc = "0x64 - RMT_CH2_RX_LIM_REG."]
302    #[inline(always)]
303    pub const fn ch3_rx_lim(&self) -> &CH_RX_LIM {
304        self.ch_rx_lim(1)
305    }
306    #[doc = "0x68 - RMT_SYS_CONF_REG."]
307    #[inline(always)]
308    pub const fn sys_conf(&self) -> &SYS_CONF {
309        &self.sys_conf
310    }
311    #[doc = "0x6c - RMT_TX_SIM_REG."]
312    #[inline(always)]
313    pub const fn tx_sim(&self) -> &TX_SIM {
314        &self.tx_sim
315    }
316    #[doc = "0x70 - RMT_REF_CNT_RST_REG."]
317    #[inline(always)]
318    pub const fn ref_cnt_rst(&self) -> &REF_CNT_RST {
319        &self.ref_cnt_rst
320    }
321    #[doc = "0xcc - RMT_DATE_REG."]
322    #[inline(always)]
323    pub const fn date(&self) -> &DATE {
324        &self.date
325    }
326}
327#[doc = "CHDATA (rw) register accessor: RMT_CH%sDATA_REG.\n\nYou can [`read`](crate::Reg::read) this register and get [`chdata::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`chdata::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@chdata`] module"]
328pub type CHDATA = crate::Reg<chdata::CHDATA_SPEC>;
329#[doc = "RMT_CH%sDATA_REG."]
330pub mod chdata;
331#[doc = "CH_TX_CONF0 (rw) register accessor: RMT_CH%sCONF%s_REG.\n\nYou can [`read`](crate::Reg::read) this register and get [`ch_tx_conf0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ch_tx_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@ch_tx_conf0`] module"]
332pub type CH_TX_CONF0 = crate::Reg<ch_tx_conf0::CH_TX_CONF0_SPEC>;
333#[doc = "RMT_CH%sCONF%s_REG."]
334pub mod ch_tx_conf0;
335#[doc = "CH_RX_CONF0 (rw) register accessor: RMT_CH2CONF0_REG.\n\nYou can [`read`](crate::Reg::read) this register and get [`ch_rx_conf0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ch_rx_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@ch_rx_conf0`] module"]
336pub type CH_RX_CONF0 = crate::Reg<ch_rx_conf0::CH_RX_CONF0_SPEC>;
337#[doc = "RMT_CH2CONF0_REG."]
338pub mod ch_rx_conf0;
339#[doc = "CH_RX_CONF1 (rw) register accessor: RMT_CH2CONF1_REG.\n\nYou can [`read`](crate::Reg::read) this register and get [`ch_rx_conf1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ch_rx_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@ch_rx_conf1`] module"]
340pub type CH_RX_CONF1 = crate::Reg<ch_rx_conf1::CH_RX_CONF1_SPEC>;
341#[doc = "RMT_CH2CONF1_REG."]
342pub mod ch_rx_conf1;
343#[doc = "CH_TX_STATUS (r) register accessor: RMT_CH%sSTATUS_REG.\n\nYou can [`read`](crate::Reg::read) this register and get [`ch_tx_status::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ch_tx_status`] module"]
344pub type CH_TX_STATUS = crate::Reg<ch_tx_status::CH_TX_STATUS_SPEC>;
345#[doc = "RMT_CH%sSTATUS_REG."]
346pub mod ch_tx_status;
347#[doc = "CH_RX_STATUS (r) register accessor: RMT_CH2STATUS_REG.\n\nYou can [`read`](crate::Reg::read) this register and get [`ch_rx_status::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ch_rx_status`] module"]
348pub type CH_RX_STATUS = crate::Reg<ch_rx_status::CH_RX_STATUS_SPEC>;
349#[doc = "RMT_CH2STATUS_REG."]
350pub mod ch_rx_status;
351#[doc = "INT_RAW (rw) register accessor: RMT_INT_RAW_REG.\n\nYou can [`read`](crate::Reg::read) this register and get [`int_raw::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`int_raw::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_raw`] module"]
352pub type INT_RAW = crate::Reg<int_raw::INT_RAW_SPEC>;
353#[doc = "RMT_INT_RAW_REG."]
354pub mod int_raw;
355#[doc = "INT_ST (r) register accessor: RMT_INT_ST_REG.\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"]
356pub type INT_ST = crate::Reg<int_st::INT_ST_SPEC>;
357#[doc = "RMT_INT_ST_REG."]
358pub mod int_st;
359#[doc = "INT_ENA (rw) register accessor: RMT_INT_ENA_REG.\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"]
360pub type INT_ENA = crate::Reg<int_ena::INT_ENA_SPEC>;
361#[doc = "RMT_INT_ENA_REG."]
362pub mod int_ena;
363#[doc = "INT_CLR (w) register accessor: RMT_INT_CLR_REG.\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"]
364pub type INT_CLR = crate::Reg<int_clr::INT_CLR_SPEC>;
365#[doc = "RMT_INT_CLR_REG."]
366pub mod int_clr;
367#[doc = "CHCARRIER_DUTY (rw) register accessor: RMT_CH%sCARRIER_DUTY_REG.\n\nYou can [`read`](crate::Reg::read) this register and get [`chcarrier_duty::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`chcarrier_duty::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@chcarrier_duty`] module"]
368pub type CHCARRIER_DUTY = crate::Reg<chcarrier_duty::CHCARRIER_DUTY_SPEC>;
369#[doc = "RMT_CH%sCARRIER_DUTY_REG."]
370pub mod chcarrier_duty;
371#[doc = "CH_RX_CARRIER_RM (rw) register accessor: RMT_CH2_RX_CARRIER_RM_REG.\n\nYou can [`read`](crate::Reg::read) this register and get [`ch_rx_carrier_rm::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ch_rx_carrier_rm::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@ch_rx_carrier_rm`] module"]
372pub type CH_RX_CARRIER_RM = crate::Reg<ch_rx_carrier_rm::CH_RX_CARRIER_RM_SPEC>;
373#[doc = "RMT_CH2_RX_CARRIER_RM_REG."]
374pub mod ch_rx_carrier_rm;
375#[doc = "CH_TX_LIM (rw) register accessor: RMT_CH%s_TX_LIM_REG.\n\nYou can [`read`](crate::Reg::read) this register and get [`ch_tx_lim::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ch_tx_lim::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@ch_tx_lim`] module"]
376pub type CH_TX_LIM = crate::Reg<ch_tx_lim::CH_TX_LIM_SPEC>;
377#[doc = "RMT_CH%s_TX_LIM_REG."]
378pub mod ch_tx_lim;
379#[doc = "CH_RX_LIM (rw) register accessor: RMT_CH2_RX_LIM_REG.\n\nYou can [`read`](crate::Reg::read) this register and get [`ch_rx_lim::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ch_rx_lim::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@ch_rx_lim`] module"]
380pub type CH_RX_LIM = crate::Reg<ch_rx_lim::CH_RX_LIM_SPEC>;
381#[doc = "RMT_CH2_RX_LIM_REG."]
382pub mod ch_rx_lim;
383#[doc = "SYS_CONF (rw) register accessor: RMT_SYS_CONF_REG.\n\nYou can [`read`](crate::Reg::read) this register and get [`sys_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sys_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@sys_conf`] module"]
384pub type SYS_CONF = crate::Reg<sys_conf::SYS_CONF_SPEC>;
385#[doc = "RMT_SYS_CONF_REG."]
386pub mod sys_conf;
387#[doc = "TX_SIM (rw) register accessor: RMT_TX_SIM_REG.\n\nYou can [`read`](crate::Reg::read) this register and get [`tx_sim::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tx_sim::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@tx_sim`] module"]
388pub type TX_SIM = crate::Reg<tx_sim::TX_SIM_SPEC>;
389#[doc = "RMT_TX_SIM_REG."]
390pub mod tx_sim;
391#[doc = "REF_CNT_RST (w) register accessor: RMT_REF_CNT_RST_REG.\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ref_cnt_rst::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ref_cnt_rst`] module"]
392pub type REF_CNT_RST = crate::Reg<ref_cnt_rst::REF_CNT_RST_SPEC>;
393#[doc = "RMT_REF_CNT_RST_REG."]
394pub mod ref_cnt_rst;
395#[doc = "DATE (rw) register accessor: RMT_DATE_REG.\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"]
396pub type DATE = crate::Reg<date::DATE_SPEC>;
397#[doc = "RMT_DATE_REG."]
398pub mod date;