1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 transmit_config: TRANSMIT_CONFIG,
5 receive_config: RECEIVE_CONFIG,
6 bit_period: BIT_PERIOD,
7 data_config: DATA_CONFIG,
8 transmit_position: TRANSMIT_POSITION,
9 receive_position: RECEIVE_POSITION,
10 receive_timeout: RECEIVE_TIMEOUT,
11 signal_override: SIGNAL_OVERRIDE,
12 interrupt_state: INTERRUPT_STATE,
13 interrupt_mask: INTERRUPT_MASK,
14 interrupt_clear: INTERRUPT_CLEAR,
15 interrupt_enable: INTERRUPT_ENABLE,
16 bus_state: BUS_STATE,
17 auto_baudrate: AUTO_BAUDRATE,
18 _reserved14: [u8; 0x10],
19 pulse_tolerance: PULSE_TOLERANCE,
20 _reserved15: [u8; 0x08],
21 rs485_transmit: RS485_TRANSMIT,
22 _reserved16: [u8; 0x28],
23 fifo_config_0: FIFO_CONFIG_0,
24 fifo_config_1: FIFO_CONFIG_1,
25 data_write: DATA_WRITE,
26 data_read: DATA_READ,
27}
28impl RegisterBlock {
29 #[doc = "0x00 - Transmit configuration register"]
30 #[inline(always)]
31 pub const fn transmit_config(&self) -> &TRANSMIT_CONFIG {
32 &self.transmit_config
33 }
34 #[doc = "0x04 - Receive configuration register"]
35 #[inline(always)]
36 pub const fn receive_config(&self) -> &RECEIVE_CONFIG {
37 &self.receive_config
38 }
39 #[doc = "0x08 - Bit period control register"]
40 #[inline(always)]
41 pub const fn bit_period(&self) -> &BIT_PERIOD {
42 &self.bit_period
43 }
44 #[doc = "0x0c - Data configuration register"]
45 #[inline(always)]
46 pub const fn data_config(&self) -> &DATA_CONFIG {
47 &self.data_config
48 }
49 #[doc = "0x10 - IR-mode transmit position control"]
50 #[inline(always)]
51 pub const fn transmit_position(&self) -> &TRANSMIT_POSITION {
52 &self.transmit_position
53 }
54 #[doc = "0x14 - IR-mode receive position control"]
55 #[inline(always)]
56 pub const fn receive_position(&self) -> &RECEIVE_POSITION {
57 &self.receive_position
58 }
59 #[doc = "0x18 - Receive Time-Out interrupt control"]
60 #[inline(always)]
61 pub const fn receive_timeout(&self) -> &RECEIVE_TIMEOUT {
62 &self.receive_timeout
63 }
64 #[doc = "0x1c - Manual override of flow control signal"]
65 #[inline(always)]
66 pub const fn signal_override(&self) -> &SIGNAL_OVERRIDE {
67 &self.signal_override
68 }
69 #[doc = "0x20 - Interrupt state register"]
70 #[inline(always)]
71 pub const fn interrupt_state(&self) -> &INTERRUPT_STATE {
72 &self.interrupt_state
73 }
74 #[doc = "0x24 - Interrupt mask register"]
75 #[inline(always)]
76 pub const fn interrupt_mask(&self) -> &INTERRUPT_MASK {
77 &self.interrupt_mask
78 }
79 #[doc = "0x28 - Clear interrupt register"]
80 #[inline(always)]
81 pub const fn interrupt_clear(&self) -> &INTERRUPT_CLEAR {
82 &self.interrupt_clear
83 }
84 #[doc = "0x2c - Interrupt enable register"]
85 #[inline(always)]
86 pub const fn interrupt_enable(&self) -> &INTERRUPT_ENABLE {
87 &self.interrupt_enable
88 }
89 #[doc = "0x30 - Bus state register"]
90 #[inline(always)]
91 pub const fn bus_state(&self) -> &BUS_STATE {
92 &self.bus_state
93 }
94 #[doc = "0x34 - Auto baudrate detection register"]
95 #[inline(always)]
96 pub const fn auto_baudrate(&self) -> &AUTO_BAUDRATE {
97 &self.auto_baudrate
98 }
99 #[doc = "0x48 - Pulse width tolerance for auto baudrate"]
100 #[inline(always)]
101 pub const fn pulse_tolerance(&self) -> &PULSE_TOLERANCE {
102 &self.pulse_tolerance
103 }
104 #[doc = "0x54 - RS-485 mode transmit configuration"]
105 #[inline(always)]
106 pub const fn rs485_transmit(&self) -> &RS485_TRANSMIT {
107 &self.rs485_transmit
108 }
109 #[doc = "0x80 - FIFO configuration register 0"]
110 #[inline(always)]
111 pub const fn fifo_config_0(&self) -> &FIFO_CONFIG_0 {
112 &self.fifo_config_0
113 }
114 #[doc = "0x84 - FIFO configuration register 1"]
115 #[inline(always)]
116 pub const fn fifo_config_1(&self) -> &FIFO_CONFIG_1 {
117 &self.fifo_config_1
118 }
119 #[doc = "0x88 - FIFO write data register"]
120 #[inline(always)]
121 pub const fn data_write(&self) -> &DATA_WRITE {
122 &self.data_write
123 }
124 #[doc = "0x8c - FIFO read data register"]
125 #[inline(always)]
126 pub const fn data_read(&self) -> &DATA_READ {
127 &self.data_read
128 }
129}
130#[doc = "transmit_config (rw) register accessor: Transmit configuration register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`transmit_config::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`transmit_config::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@transmit_config`]
131module"]
132pub type TRANSMIT_CONFIG = crate::Reg<transmit_config::TRANSMIT_CONFIG_SPEC>;
133#[doc = "Transmit configuration register"]
134pub mod transmit_config;
135#[doc = "receive_config (rw) register accessor: Receive configuration register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`receive_config::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`receive_config::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@receive_config`]
136module"]
137pub type RECEIVE_CONFIG = crate::Reg<receive_config::RECEIVE_CONFIG_SPEC>;
138#[doc = "Receive configuration register"]
139pub mod receive_config;
140#[doc = "bit_period (rw) register accessor: Bit period control register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`bit_period::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`bit_period::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@bit_period`]
141module"]
142pub type BIT_PERIOD = crate::Reg<bit_period::BIT_PERIOD_SPEC>;
143#[doc = "Bit period control register"]
144pub mod bit_period;
145#[doc = "data_config (rw) register accessor: Data configuration register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data_config::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data_config::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data_config`]
146module"]
147pub type DATA_CONFIG = crate::Reg<data_config::DATA_CONFIG_SPEC>;
148#[doc = "Data configuration register"]
149pub mod data_config;
150#[doc = "transmit_position (rw) register accessor: IR-mode transmit position control\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`transmit_position::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`transmit_position::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@transmit_position`]
151module"]
152pub type TRANSMIT_POSITION = crate::Reg<transmit_position::TRANSMIT_POSITION_SPEC>;
153#[doc = "IR-mode transmit position control"]
154pub mod transmit_position;
155#[doc = "receive_position (rw) register accessor: IR-mode receive position control\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`receive_position::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`receive_position::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@receive_position`]
156module"]
157pub type RECEIVE_POSITION = crate::Reg<receive_position::RECEIVE_POSITION_SPEC>;
158#[doc = "IR-mode receive position control"]
159pub mod receive_position;
160#[doc = "receive_timeout (rw) register accessor: Receive Time-Out interrupt control\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`receive_timeout::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`receive_timeout::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@receive_timeout`]
161module"]
162pub type RECEIVE_TIMEOUT = crate::Reg<receive_timeout::RECEIVE_TIMEOUT_SPEC>;
163#[doc = "Receive Time-Out interrupt control"]
164pub mod receive_timeout;
165#[doc = "signal_override (rw) register accessor: Manual override of flow control signal\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`signal_override::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`signal_override::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@signal_override`]
166module"]
167pub type SIGNAL_OVERRIDE = crate::Reg<signal_override::SIGNAL_OVERRIDE_SPEC>;
168#[doc = "Manual override of flow control signal"]
169pub mod signal_override;
170#[doc = "interrupt_state (r) register accessor: Interrupt state register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`interrupt_state::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@interrupt_state`]
171module"]
172pub type INTERRUPT_STATE = crate::Reg<interrupt_state::INTERRUPT_STATE_SPEC>;
173#[doc = "Interrupt state register"]
174pub mod interrupt_state;
175#[doc = "interrupt_mask (rw) register accessor: Interrupt mask register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`interrupt_mask::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`interrupt_mask::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@interrupt_mask`]
176module"]
177pub type INTERRUPT_MASK = crate::Reg<interrupt_mask::INTERRUPT_MASK_SPEC>;
178#[doc = "Interrupt mask register"]
179pub mod interrupt_mask;
180#[doc = "interrupt_clear (w) register accessor: Clear interrupt register\n\nYou can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`interrupt_clear::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@interrupt_clear`]
181module"]
182pub type INTERRUPT_CLEAR = crate::Reg<interrupt_clear::INTERRUPT_CLEAR_SPEC>;
183#[doc = "Clear interrupt register"]
184pub mod interrupt_clear;
185#[doc = "interrupt_enable (rw) register accessor: Interrupt enable register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`interrupt_enable::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`interrupt_enable::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@interrupt_enable`]
186module"]
187pub type INTERRUPT_ENABLE = crate::Reg<interrupt_enable::INTERRUPT_ENABLE_SPEC>;
188#[doc = "Interrupt enable register"]
189pub mod interrupt_enable;
190#[doc = "bus_state (r) register accessor: Bus state register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`bus_state::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@bus_state`]
191module"]
192pub type BUS_STATE = crate::Reg<bus_state::BUS_STATE_SPEC>;
193#[doc = "Bus state register"]
194pub mod bus_state;
195#[doc = "auto_baudrate (r) register accessor: Auto baudrate detection register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`auto_baudrate::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@auto_baudrate`]
196module"]
197pub type AUTO_BAUDRATE = crate::Reg<auto_baudrate::AUTO_BAUDRATE_SPEC>;
198#[doc = "Auto baudrate detection register"]
199pub mod auto_baudrate;
200#[doc = "pulse_tolerance (rw) register accessor: Pulse width tolerance for auto baudrate\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`pulse_tolerance::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`pulse_tolerance::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pulse_tolerance`]
201module"]
202pub type PULSE_TOLERANCE = crate::Reg<pulse_tolerance::PULSE_TOLERANCE_SPEC>;
203#[doc = "Pulse width tolerance for auto baudrate"]
204pub mod pulse_tolerance;
205#[doc = "rs485_transmit (rw) register accessor: RS-485 mode transmit configuration\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rs485_transmit::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`rs485_transmit::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rs485_transmit`]
206module"]
207pub type RS485_TRANSMIT = crate::Reg<rs485_transmit::RS485_TRANSMIT_SPEC>;
208#[doc = "RS-485 mode transmit configuration"]
209pub mod rs485_transmit;
210#[doc = "fifo_config_0 (rw) register accessor: FIFO configuration register 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`fifo_config_0::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`fifo_config_0::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@fifo_config_0`]
211module"]
212pub type FIFO_CONFIG_0 = crate::Reg<fifo_config_0::FIFO_CONFIG_0_SPEC>;
213#[doc = "FIFO configuration register 0"]
214pub mod fifo_config_0;
215#[doc = "fifo_config_1 (rw) register accessor: FIFO configuration register 1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`fifo_config_1::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`fifo_config_1::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@fifo_config_1`]
216module"]
217pub type FIFO_CONFIG_1 = crate::Reg<fifo_config_1::FIFO_CONFIG_1_SPEC>;
218#[doc = "FIFO configuration register 1"]
219pub mod fifo_config_1;
220#[doc = "data_write (w) register accessor: FIFO write data register\n\nYou can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`data_write::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data_write`]
221module"]
222pub type DATA_WRITE = crate::Reg<data_write::DATA_WRITE_SPEC>;
223#[doc = "FIFO write data register"]
224pub mod data_write;
225#[doc = "data_read (r) register accessor: FIFO read data register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data_read::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data_read`]
226module"]
227pub type DATA_READ = crate::Reg<data_read::DATA_READ_SPEC>;
228#[doc = "FIFO read data register"]
229pub mod data_read;