1#[repr(C)]
2#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5 mode: MODE,
6 cmd: CMD,
7 status: STATUS,
8 int_raw: INT_RAW,
9 int_ena: INT_ENA,
10 _reserved5: [u8; 0x04],
11 bus_timing_0: BUS_TIMING_0,
12 bus_timing_1: BUS_TIMING_1,
13 _reserved7: [u8; 0x0c],
14 arb_lost_cap: ARB_LOST_CAP,
15 err_code_cap: ERR_CODE_CAP,
16 err_warning_limit: ERR_WARNING_LIMIT,
17 rx_err_cnt: RX_ERR_CNT,
18 tx_err_cnt: TX_ERR_CNT,
19 data_0: DATA_0,
20 data_1: DATA_1,
21 data_2: DATA_2,
22 data_3: DATA_3,
23 data_4: DATA_4,
24 data_5: DATA_5,
25 data_6: DATA_6,
26 data_7: DATA_7,
27 data_8: DATA_8,
28 data_9: DATA_9,
29 data_10: DATA_10,
30 data_11: DATA_11,
31 data_12: DATA_12,
32 rx_message_cnt: RX_MESSAGE_CNT,
33 _reserved26: [u8; 0x04],
34 clock_divider: CLOCK_DIVIDER,
35}
36impl RegisterBlock {
37 #[doc = "0x00 - Mode Register"]
38 #[inline(always)]
39 pub const fn mode(&self) -> &MODE {
40 &self.mode
41 }
42 #[doc = "0x04 - Command Register"]
43 #[inline(always)]
44 pub const fn cmd(&self) -> &CMD {
45 &self.cmd
46 }
47 #[doc = "0x08 - Status register"]
48 #[inline(always)]
49 pub const fn status(&self) -> &STATUS {
50 &self.status
51 }
52 #[doc = "0x0c - Interrupt Register"]
53 #[inline(always)]
54 pub const fn int_raw(&self) -> &INT_RAW {
55 &self.int_raw
56 }
57 #[doc = "0x10 - Interrupt Enable Register"]
58 #[inline(always)]
59 pub const fn int_ena(&self) -> &INT_ENA {
60 &self.int_ena
61 }
62 #[doc = "0x18 - Bus Timing Register 0"]
63 #[inline(always)]
64 pub const fn bus_timing_0(&self) -> &BUS_TIMING_0 {
65 &self.bus_timing_0
66 }
67 #[doc = "0x1c - Bus Timing Register 1"]
68 #[inline(always)]
69 pub const fn bus_timing_1(&self) -> &BUS_TIMING_1 {
70 &self.bus_timing_1
71 }
72 #[doc = "0x2c - Arbitration Lost Capture Register"]
73 #[inline(always)]
74 pub const fn arb_lost_cap(&self) -> &ARB_LOST_CAP {
75 &self.arb_lost_cap
76 }
77 #[doc = "0x30 - Error Code Capture Register"]
78 #[inline(always)]
79 pub const fn err_code_cap(&self) -> &ERR_CODE_CAP {
80 &self.err_code_cap
81 }
82 #[doc = "0x34 - Error Warning Limit Register"]
83 #[inline(always)]
84 pub const fn err_warning_limit(&self) -> &ERR_WARNING_LIMIT {
85 &self.err_warning_limit
86 }
87 #[doc = "0x38 - Receive Error Counter Register"]
88 #[inline(always)]
89 pub const fn rx_err_cnt(&self) -> &RX_ERR_CNT {
90 &self.rx_err_cnt
91 }
92 #[doc = "0x3c - Transmit Error Counter Register"]
93 #[inline(always)]
94 pub const fn tx_err_cnt(&self) -> &TX_ERR_CNT {
95 &self.tx_err_cnt
96 }
97 #[doc = "0x40 - Data register 0"]
98 #[inline(always)]
99 pub const fn data_0(&self) -> &DATA_0 {
100 &self.data_0
101 }
102 #[doc = "0x44 - Data register 1"]
103 #[inline(always)]
104 pub const fn data_1(&self) -> &DATA_1 {
105 &self.data_1
106 }
107 #[doc = "0x48 - Data register 2"]
108 #[inline(always)]
109 pub const fn data_2(&self) -> &DATA_2 {
110 &self.data_2
111 }
112 #[doc = "0x4c - Data register 3"]
113 #[inline(always)]
114 pub const fn data_3(&self) -> &DATA_3 {
115 &self.data_3
116 }
117 #[doc = "0x50 - Data register 4"]
118 #[inline(always)]
119 pub const fn data_4(&self) -> &DATA_4 {
120 &self.data_4
121 }
122 #[doc = "0x54 - Data register 5"]
123 #[inline(always)]
124 pub const fn data_5(&self) -> &DATA_5 {
125 &self.data_5
126 }
127 #[doc = "0x58 - Data register 6"]
128 #[inline(always)]
129 pub const fn data_6(&self) -> &DATA_6 {
130 &self.data_6
131 }
132 #[doc = "0x5c - Data register 7"]
133 #[inline(always)]
134 pub const fn data_7(&self) -> &DATA_7 {
135 &self.data_7
136 }
137 #[doc = "0x60 - Data register 8"]
138 #[inline(always)]
139 pub const fn data_8(&self) -> &DATA_8 {
140 &self.data_8
141 }
142 #[doc = "0x64 - Data register 9"]
143 #[inline(always)]
144 pub const fn data_9(&self) -> &DATA_9 {
145 &self.data_9
146 }
147 #[doc = "0x68 - Data register 10"]
148 #[inline(always)]
149 pub const fn data_10(&self) -> &DATA_10 {
150 &self.data_10
151 }
152 #[doc = "0x6c - Data register 11"]
153 #[inline(always)]
154 pub const fn data_11(&self) -> &DATA_11 {
155 &self.data_11
156 }
157 #[doc = "0x70 - Data register 12"]
158 #[inline(always)]
159 pub const fn data_12(&self) -> &DATA_12 {
160 &self.data_12
161 }
162 #[doc = "0x74 - Receive Message Counter Register"]
163 #[inline(always)]
164 pub const fn rx_message_cnt(&self) -> &RX_MESSAGE_CNT {
165 &self.rx_message_cnt
166 }
167 #[doc = "0x7c - Clock Divider register"]
168 #[inline(always)]
169 pub const fn clock_divider(&self) -> &CLOCK_DIVIDER {
170 &self.clock_divider
171 }
172}
173#[doc = "MODE (rw) register accessor: Mode Register\n\nYou can [`read`](crate::Reg::read) this register and get [`mode::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`mode::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@mode`] module"]
174pub type MODE = crate::Reg<mode::MODE_SPEC>;
175#[doc = "Mode Register"]
176pub mod mode;
177#[doc = "CMD (w) register accessor: Command Register\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cmd::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cmd`] module"]
178pub type CMD = crate::Reg<cmd::CMD_SPEC>;
179#[doc = "Command Register"]
180pub mod cmd;
181#[doc = "STATUS (r) register accessor: Status register\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"]
182pub type STATUS = crate::Reg<status::STATUS_SPEC>;
183#[doc = "Status register"]
184pub mod status;
185#[doc = "INT_RAW (r) register accessor: Interrupt Register\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"]
186pub type INT_RAW = crate::Reg<int_raw::INT_RAW_SPEC>;
187#[doc = "Interrupt Register"]
188pub mod int_raw;
189#[doc = "INT_ENA (rw) register accessor: Interrupt Enable Register\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"]
190pub type INT_ENA = crate::Reg<int_ena::INT_ENA_SPEC>;
191#[doc = "Interrupt Enable Register"]
192pub mod int_ena;
193#[doc = "BUS_TIMING_0 (rw) register accessor: Bus Timing Register 0\n\nYou can [`read`](crate::Reg::read) this register and get [`bus_timing_0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`bus_timing_0::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@bus_timing_0`] module"]
194pub type BUS_TIMING_0 = crate::Reg<bus_timing_0::BUS_TIMING_0_SPEC>;
195#[doc = "Bus Timing Register 0"]
196pub mod bus_timing_0;
197#[doc = "BUS_TIMING_1 (rw) register accessor: Bus Timing Register 1\n\nYou can [`read`](crate::Reg::read) this register and get [`bus_timing_1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`bus_timing_1::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@bus_timing_1`] module"]
198pub type BUS_TIMING_1 = crate::Reg<bus_timing_1::BUS_TIMING_1_SPEC>;
199#[doc = "Bus Timing Register 1"]
200pub mod bus_timing_1;
201#[doc = "ARB_LOST_CAP (r) register accessor: Arbitration Lost Capture Register\n\nYou can [`read`](crate::Reg::read) this register and get [`arb_lost_cap::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@arb_lost_cap`] module"]
202pub type ARB_LOST_CAP = crate::Reg<arb_lost_cap::ARB_LOST_CAP_SPEC>;
203#[doc = "Arbitration Lost Capture Register"]
204pub mod arb_lost_cap;
205#[doc = "ERR_CODE_CAP (r) register accessor: Error Code Capture Register\n\nYou can [`read`](crate::Reg::read) this register and get [`err_code_cap::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@err_code_cap`] module"]
206pub type ERR_CODE_CAP = crate::Reg<err_code_cap::ERR_CODE_CAP_SPEC>;
207#[doc = "Error Code Capture Register"]
208pub mod err_code_cap;
209#[doc = "ERR_WARNING_LIMIT (rw) register accessor: Error Warning Limit Register\n\nYou can [`read`](crate::Reg::read) this register and get [`err_warning_limit::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`err_warning_limit::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@err_warning_limit`] module"]
210pub type ERR_WARNING_LIMIT = crate::Reg<err_warning_limit::ERR_WARNING_LIMIT_SPEC>;
211#[doc = "Error Warning Limit Register"]
212pub mod err_warning_limit;
213#[doc = "RX_ERR_CNT (rw) register accessor: Receive Error Counter Register\n\nYou can [`read`](crate::Reg::read) this register and get [`rx_err_cnt::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rx_err_cnt::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@rx_err_cnt`] module"]
214pub type RX_ERR_CNT = crate::Reg<rx_err_cnt::RX_ERR_CNT_SPEC>;
215#[doc = "Receive Error Counter Register"]
216pub mod rx_err_cnt;
217#[doc = "TX_ERR_CNT (rw) register accessor: Transmit Error Counter Register\n\nYou can [`read`](crate::Reg::read) this register and get [`tx_err_cnt::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tx_err_cnt::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_err_cnt`] module"]
218pub type TX_ERR_CNT = crate::Reg<tx_err_cnt::TX_ERR_CNT_SPEC>;
219#[doc = "Transmit Error Counter Register"]
220pub mod tx_err_cnt;
221#[doc = "DATA_0 (rw) register accessor: Data register 0\n\nYou can [`read`](crate::Reg::read) this register and get [`data_0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data_0::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@data_0`] module"]
222pub type DATA_0 = crate::Reg<data_0::DATA_0_SPEC>;
223#[doc = "Data register 0"]
224pub mod data_0;
225#[doc = "DATA_1 (rw) register accessor: Data register 1\n\nYou can [`read`](crate::Reg::read) this register and get [`data_1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data_1::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@data_1`] module"]
226pub type DATA_1 = crate::Reg<data_1::DATA_1_SPEC>;
227#[doc = "Data register 1"]
228pub mod data_1;
229#[doc = "DATA_2 (rw) register accessor: Data register 2\n\nYou can [`read`](crate::Reg::read) this register and get [`data_2::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data_2::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@data_2`] module"]
230pub type DATA_2 = crate::Reg<data_2::DATA_2_SPEC>;
231#[doc = "Data register 2"]
232pub mod data_2;
233#[doc = "DATA_3 (rw) register accessor: Data register 3\n\nYou can [`read`](crate::Reg::read) this register and get [`data_3::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data_3::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@data_3`] module"]
234pub type DATA_3 = crate::Reg<data_3::DATA_3_SPEC>;
235#[doc = "Data register 3"]
236pub mod data_3;
237#[doc = "DATA_4 (rw) register accessor: Data register 4\n\nYou can [`read`](crate::Reg::read) this register and get [`data_4::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data_4::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@data_4`] module"]
238pub type DATA_4 = crate::Reg<data_4::DATA_4_SPEC>;
239#[doc = "Data register 4"]
240pub mod data_4;
241#[doc = "DATA_5 (rw) register accessor: Data register 5\n\nYou can [`read`](crate::Reg::read) this register and get [`data_5::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data_5::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@data_5`] module"]
242pub type DATA_5 = crate::Reg<data_5::DATA_5_SPEC>;
243#[doc = "Data register 5"]
244pub mod data_5;
245#[doc = "DATA_6 (rw) register accessor: Data register 6\n\nYou can [`read`](crate::Reg::read) this register and get [`data_6::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data_6::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@data_6`] module"]
246pub type DATA_6 = crate::Reg<data_6::DATA_6_SPEC>;
247#[doc = "Data register 6"]
248pub mod data_6;
249#[doc = "DATA_7 (rw) register accessor: Data register 7\n\nYou can [`read`](crate::Reg::read) this register and get [`data_7::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data_7::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@data_7`] module"]
250pub type DATA_7 = crate::Reg<data_7::DATA_7_SPEC>;
251#[doc = "Data register 7"]
252pub mod data_7;
253#[doc = "DATA_8 (rw) register accessor: Data register 8\n\nYou can [`read`](crate::Reg::read) this register and get [`data_8::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data_8::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@data_8`] module"]
254pub type DATA_8 = crate::Reg<data_8::DATA_8_SPEC>;
255#[doc = "Data register 8"]
256pub mod data_8;
257#[doc = "DATA_9 (rw) register accessor: Data register 9\n\nYou can [`read`](crate::Reg::read) this register and get [`data_9::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data_9::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@data_9`] module"]
258pub type DATA_9 = crate::Reg<data_9::DATA_9_SPEC>;
259#[doc = "Data register 9"]
260pub mod data_9;
261#[doc = "DATA_10 (rw) register accessor: Data register 10\n\nYou can [`read`](crate::Reg::read) this register and get [`data_10::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data_10::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@data_10`] module"]
262pub type DATA_10 = crate::Reg<data_10::DATA_10_SPEC>;
263#[doc = "Data register 10"]
264pub mod data_10;
265#[doc = "DATA_11 (rw) register accessor: Data register 11\n\nYou can [`read`](crate::Reg::read) this register and get [`data_11::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data_11::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@data_11`] module"]
266pub type DATA_11 = crate::Reg<data_11::DATA_11_SPEC>;
267#[doc = "Data register 11"]
268pub mod data_11;
269#[doc = "DATA_12 (rw) register accessor: Data register 12\n\nYou can [`read`](crate::Reg::read) this register and get [`data_12::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data_12::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@data_12`] module"]
270pub type DATA_12 = crate::Reg<data_12::DATA_12_SPEC>;
271#[doc = "Data register 12"]
272pub mod data_12;
273#[doc = "RX_MESSAGE_CNT (r) register accessor: Receive Message Counter Register\n\nYou can [`read`](crate::Reg::read) this register and get [`rx_message_cnt::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rx_message_cnt`] module"]
274pub type RX_MESSAGE_CNT = crate::Reg<rx_message_cnt::RX_MESSAGE_CNT_SPEC>;
275#[doc = "Receive Message Counter Register"]
276pub mod rx_message_cnt;
277#[doc = "CLOCK_DIVIDER (rw) register accessor: Clock Divider register\n\nYou can [`read`](crate::Reg::read) this register and get [`clock_divider::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`clock_divider::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@clock_divider`] module"]
278pub type CLOCK_DIVIDER = crate::Reg<clock_divider::CLOCK_DIVIDER_SPEC>;
279#[doc = "Clock Divider register"]
280pub mod clock_divider;