1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 interrupt_state: INTERRUPT_STATE,
5 terminate_state: TERMINATE_STATE,
6 terminate_clear: TERMINATE_CLEAR,
7 error_state: ERROR_STATE,
8 error_clear: ERROR_CLEAR,
9 terminate_state_raw: TERMINATE_STATE_RAW,
10 error_state_raw: ERROR_STATE_RAW,
11 channel_state: CHANNEL_STATE,
12 burst_request: BURST_REQUEST,
13 single_request: SINGLE_REQUEST,
14 last_burst_request: LAST_BURST_REQUEST,
15 last_single_request: LAST_SINGLE_REQUEST,
16 config: CONFIG,
17 synchronize: SYNCHRONIZE,
18 _reserved14: [u8; 0xc8],
19 channel: (),
20}
21impl RegisterBlock {
22 #[doc = "0x00 - ??"]
23 #[inline(always)]
24 pub const fn interrupt_state(&self) -> &INTERRUPT_STATE {
25 &self.interrupt_state
26 }
27 #[doc = "0x04 - ??"]
28 #[inline(always)]
29 pub const fn terminate_state(&self) -> &TERMINATE_STATE {
30 &self.terminate_state
31 }
32 #[doc = "0x08 - ??"]
33 #[inline(always)]
34 pub const fn terminate_clear(&self) -> &TERMINATE_CLEAR {
35 &self.terminate_clear
36 }
37 #[doc = "0x0c - ??"]
38 #[inline(always)]
39 pub const fn error_state(&self) -> &ERROR_STATE {
40 &self.error_state
41 }
42 #[doc = "0x10 - ??"]
43 #[inline(always)]
44 pub const fn error_clear(&self) -> &ERROR_CLEAR {
45 &self.error_clear
46 }
47 #[doc = "0x14 - ??"]
48 #[inline(always)]
49 pub const fn terminate_state_raw(&self) -> &TERMINATE_STATE_RAW {
50 &self.terminate_state_raw
51 }
52 #[doc = "0x18 - ??"]
53 #[inline(always)]
54 pub const fn error_state_raw(&self) -> &ERROR_STATE_RAW {
55 &self.error_state_raw
56 }
57 #[doc = "0x1c - ??"]
58 #[inline(always)]
59 pub const fn channel_state(&self) -> &CHANNEL_STATE {
60 &self.channel_state
61 }
62 #[doc = "0x20 - ??"]
63 #[inline(always)]
64 pub const fn burst_request(&self) -> &BURST_REQUEST {
65 &self.burst_request
66 }
67 #[doc = "0x24 - ??"]
68 #[inline(always)]
69 pub const fn single_request(&self) -> &SINGLE_REQUEST {
70 &self.single_request
71 }
72 #[doc = "0x28 - ??"]
73 #[inline(always)]
74 pub const fn last_burst_request(&self) -> &LAST_BURST_REQUEST {
75 &self.last_burst_request
76 }
77 #[doc = "0x2c - ??"]
78 #[inline(always)]
79 pub const fn last_single_request(&self) -> &LAST_SINGLE_REQUEST {
80 &self.last_single_request
81 }
82 #[doc = "0x30 - ??"]
83 #[inline(always)]
84 pub const fn config(&self) -> &CONFIG {
85 &self.config
86 }
87 #[doc = "0x34 - ??"]
88 #[inline(always)]
89 pub const fn synchronize(&self) -> &SYNCHRONIZE {
90 &self.synchronize
91 }
92 #[doc = "0x100..0x150 - Direct Memory Access channel"]
93 #[inline(always)]
94 pub const fn channel(&self, n: usize) -> &CHANNEL {
95 #[allow(clippy::no_effect)]
96 [(); 4][n];
97 unsafe {
98 &*(self as *const Self)
99 .cast::<u8>()
100 .add(256)
101 .add(256 * n)
102 .cast()
103 }
104 }
105 #[doc = "Iterator for array of:"]
106 #[doc = "0x100..0x150 - Direct Memory Access channel"]
107 #[inline(always)]
108 pub fn channel_iter(&self) -> impl Iterator<Item = &CHANNEL> {
109 (0..4).map(|n| unsafe {
110 &*(self as *const Self)
111 .cast::<u8>()
112 .add(256)
113 .add(256 * n)
114 .cast()
115 })
116 }
117}
118#[doc = "interrupt_state (rw) register accessor: ??\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`interrupt_state::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_state::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_state`]
119module"]
120pub type INTERRUPT_STATE = crate::Reg<interrupt_state::INTERRUPT_STATE_SPEC>;
121#[doc = "??"]
122pub mod interrupt_state;
123#[doc = "terminate_state (rw) register accessor: ??\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`terminate_state::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 [`terminate_state::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@terminate_state`]
124module"]
125pub type TERMINATE_STATE = crate::Reg<terminate_state::TERMINATE_STATE_SPEC>;
126#[doc = "??"]
127pub mod terminate_state;
128#[doc = "terminate_clear (rw) register accessor: ??\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`terminate_clear::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 [`terminate_clear::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@terminate_clear`]
129module"]
130pub type TERMINATE_CLEAR = crate::Reg<terminate_clear::TERMINATE_CLEAR_SPEC>;
131#[doc = "??"]
132pub mod terminate_clear;
133#[doc = "error_state (rw) register accessor: ??\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`error_state::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 [`error_state::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@error_state`]
134module"]
135pub type ERROR_STATE = crate::Reg<error_state::ERROR_STATE_SPEC>;
136#[doc = "??"]
137pub mod error_state;
138#[doc = "error_clear (rw) register accessor: ??\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`error_clear::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 [`error_clear::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@error_clear`]
139module"]
140pub type ERROR_CLEAR = crate::Reg<error_clear::ERROR_CLEAR_SPEC>;
141#[doc = "??"]
142pub mod error_clear;
143#[doc = "terminate_state_raw (rw) register accessor: ??\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`terminate_state_raw::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 [`terminate_state_raw::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@terminate_state_raw`]
144module"]
145pub type TERMINATE_STATE_RAW = crate::Reg<terminate_state_raw::TERMINATE_STATE_RAW_SPEC>;
146#[doc = "??"]
147pub mod terminate_state_raw;
148#[doc = "error_state_raw (rw) register accessor: ??\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`error_state_raw::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 [`error_state_raw::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@error_state_raw`]
149module"]
150pub type ERROR_STATE_RAW = crate::Reg<error_state_raw::ERROR_STATE_RAW_SPEC>;
151#[doc = "??"]
152pub mod error_state_raw;
153#[doc = "channel_state (rw) register accessor: ??\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`channel_state::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 [`channel_state::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@channel_state`]
154module"]
155pub type CHANNEL_STATE = crate::Reg<channel_state::CHANNEL_STATE_SPEC>;
156#[doc = "??"]
157pub mod channel_state;
158#[doc = "burst_request (rw) register accessor: ??\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`burst_request::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 [`burst_request::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@burst_request`]
159module"]
160pub type BURST_REQUEST = crate::Reg<burst_request::BURST_REQUEST_SPEC>;
161#[doc = "??"]
162pub mod burst_request;
163#[doc = "single_request (rw) register accessor: ??\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`single_request::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 [`single_request::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@single_request`]
164module"]
165pub type SINGLE_REQUEST = crate::Reg<single_request::SINGLE_REQUEST_SPEC>;
166#[doc = "??"]
167pub mod single_request;
168#[doc = "last_burst_request (rw) register accessor: ??\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`last_burst_request::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 [`last_burst_request::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@last_burst_request`]
169module"]
170pub type LAST_BURST_REQUEST = crate::Reg<last_burst_request::LAST_BURST_REQUEST_SPEC>;
171#[doc = "??"]
172pub mod last_burst_request;
173#[doc = "last_single_request (rw) register accessor: ??\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`last_single_request::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 [`last_single_request::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@last_single_request`]
174module"]
175pub type LAST_SINGLE_REQUEST = crate::Reg<last_single_request::LAST_SINGLE_REQUEST_SPEC>;
176#[doc = "??"]
177pub mod last_single_request;
178#[doc = "config (rw) register accessor: ??\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`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 [`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@config`]
179module"]
180pub type CONFIG = crate::Reg<config::CONFIG_SPEC>;
181#[doc = "??"]
182pub mod config;
183#[doc = "synchronize (rw) register accessor: ??\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`synchronize::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 [`synchronize::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@synchronize`]
184module"]
185pub type SYNCHRONIZE = crate::Reg<synchronize::SYNCHRONIZE_SPEC>;
186#[doc = "??"]
187pub mod synchronize;
188#[doc = "Direct Memory Access channel"]
189pub use self::channel::CHANNEL;
190#[doc = r"Cluster"]
191#[doc = "Direct Memory Access channel"]
192pub mod channel;