stm32f1_staging/stm32f107/bkp.rs
1#[repr(C)]
2#[derive(Debug)]
3///Register block
4pub struct RegisterBlock {
5 dr: [DR; 10],
6 rtccr: RTCCR,
7 cr: CR,
8 csr: CSR,
9 _reserved4: [u8; 0x08],
10 bkp_dr: [BKP_DR; 32],
11}
12impl RegisterBlock {
13 ///0x00..0x28 - Backup data register (BKP_DR)
14 ///
15 ///<div class="warning">`n` is the index of register in the array. `n == 0` corresponds to `DR1` register.</div>
16 #[inline(always)]
17 pub const fn dr(&self, n: usize) -> &DR {
18 &self.dr[n]
19 }
20 ///Iterator for array of:
21 ///0x00..0x28 - Backup data register (BKP_DR)
22 #[inline(always)]
23 pub fn dr_iter(&self) -> impl Iterator<Item = &DR> {
24 self.dr.iter()
25 }
26 ///0x00 - Backup data register (BKP_DR)
27 #[inline(always)]
28 pub const fn dr1(&self) -> &DR {
29 self.dr(0)
30 }
31 ///0x04 - Backup data register (BKP_DR)
32 #[inline(always)]
33 pub const fn dr2(&self) -> &DR {
34 self.dr(1)
35 }
36 ///0x08 - Backup data register (BKP_DR)
37 #[inline(always)]
38 pub const fn dr3(&self) -> &DR {
39 self.dr(2)
40 }
41 ///0x0c - Backup data register (BKP_DR)
42 #[inline(always)]
43 pub const fn dr4(&self) -> &DR {
44 self.dr(3)
45 }
46 ///0x10 - Backup data register (BKP_DR)
47 #[inline(always)]
48 pub const fn dr5(&self) -> &DR {
49 self.dr(4)
50 }
51 ///0x14 - Backup data register (BKP_DR)
52 #[inline(always)]
53 pub const fn dr6(&self) -> &DR {
54 self.dr(5)
55 }
56 ///0x18 - Backup data register (BKP_DR)
57 #[inline(always)]
58 pub const fn dr7(&self) -> &DR {
59 self.dr(6)
60 }
61 ///0x1c - Backup data register (BKP_DR)
62 #[inline(always)]
63 pub const fn dr8(&self) -> &DR {
64 self.dr(7)
65 }
66 ///0x20 - Backup data register (BKP_DR)
67 #[inline(always)]
68 pub const fn dr9(&self) -> &DR {
69 self.dr(8)
70 }
71 ///0x24 - Backup data register (BKP_DR)
72 #[inline(always)]
73 pub const fn dr10(&self) -> &DR {
74 self.dr(9)
75 }
76 ///0x28 - RTC clock calibration register (BKP_RTCCR)
77 #[inline(always)]
78 pub const fn rtccr(&self) -> &RTCCR {
79 &self.rtccr
80 }
81 ///0x2c - Backup control register (BKP_CR)
82 #[inline(always)]
83 pub const fn cr(&self) -> &CR {
84 &self.cr
85 }
86 ///0x30 - BKP_CSR control/status register
87 #[inline(always)]
88 pub const fn csr(&self) -> &CSR {
89 &self.csr
90 }
91 ///0x3c..0xbc - Backup data register (BKP_DR)
92 ///
93 ///<div class="warning">`n` is the index of register in the array. `n == 0` corresponds to `BKP_DR11` register.</div>
94 #[inline(always)]
95 pub const fn bkp_dr(&self, n: usize) -> &BKP_DR {
96 &self.bkp_dr[n]
97 }
98 ///Iterator for array of:
99 ///0x3c..0xbc - Backup data register (BKP_DR)
100 #[inline(always)]
101 pub fn bkp_dr_iter(&self) -> impl Iterator<Item = &BKP_DR> {
102 self.bkp_dr.iter()
103 }
104 ///0x3c - Backup data register (BKP_DR)
105 #[inline(always)]
106 pub const fn bkp_dr11(&self) -> &BKP_DR {
107 self.bkp_dr(0)
108 }
109 ///0x40 - Backup data register (BKP_DR)
110 #[inline(always)]
111 pub const fn bkp_dr12(&self) -> &BKP_DR {
112 self.bkp_dr(1)
113 }
114 ///0x44 - Backup data register (BKP_DR)
115 #[inline(always)]
116 pub const fn bkp_dr13(&self) -> &BKP_DR {
117 self.bkp_dr(2)
118 }
119 ///0x48 - Backup data register (BKP_DR)
120 #[inline(always)]
121 pub const fn bkp_dr14(&self) -> &BKP_DR {
122 self.bkp_dr(3)
123 }
124 ///0x4c - Backup data register (BKP_DR)
125 #[inline(always)]
126 pub const fn bkp_dr15(&self) -> &BKP_DR {
127 self.bkp_dr(4)
128 }
129 ///0x50 - Backup data register (BKP_DR)
130 #[inline(always)]
131 pub const fn bkp_dr16(&self) -> &BKP_DR {
132 self.bkp_dr(5)
133 }
134 ///0x54 - Backup data register (BKP_DR)
135 #[inline(always)]
136 pub const fn bkp_dr17(&self) -> &BKP_DR {
137 self.bkp_dr(6)
138 }
139 ///0x58 - Backup data register (BKP_DR)
140 #[inline(always)]
141 pub const fn bkp_dr18(&self) -> &BKP_DR {
142 self.bkp_dr(7)
143 }
144 ///0x5c - Backup data register (BKP_DR)
145 #[inline(always)]
146 pub const fn bkp_dr19(&self) -> &BKP_DR {
147 self.bkp_dr(8)
148 }
149 ///0x60 - Backup data register (BKP_DR)
150 #[inline(always)]
151 pub const fn bkp_dr20(&self) -> &BKP_DR {
152 self.bkp_dr(9)
153 }
154 ///0x64 - Backup data register (BKP_DR)
155 #[inline(always)]
156 pub const fn bkp_dr21(&self) -> &BKP_DR {
157 self.bkp_dr(10)
158 }
159 ///0x68 - Backup data register (BKP_DR)
160 #[inline(always)]
161 pub const fn bkp_dr22(&self) -> &BKP_DR {
162 self.bkp_dr(11)
163 }
164 ///0x6c - Backup data register (BKP_DR)
165 #[inline(always)]
166 pub const fn bkp_dr23(&self) -> &BKP_DR {
167 self.bkp_dr(12)
168 }
169 ///0x70 - Backup data register (BKP_DR)
170 #[inline(always)]
171 pub const fn bkp_dr24(&self) -> &BKP_DR {
172 self.bkp_dr(13)
173 }
174 ///0x74 - Backup data register (BKP_DR)
175 #[inline(always)]
176 pub const fn bkp_dr25(&self) -> &BKP_DR {
177 self.bkp_dr(14)
178 }
179 ///0x78 - Backup data register (BKP_DR)
180 #[inline(always)]
181 pub const fn bkp_dr26(&self) -> &BKP_DR {
182 self.bkp_dr(15)
183 }
184 ///0x7c - Backup data register (BKP_DR)
185 #[inline(always)]
186 pub const fn bkp_dr27(&self) -> &BKP_DR {
187 self.bkp_dr(16)
188 }
189 ///0x80 - Backup data register (BKP_DR)
190 #[inline(always)]
191 pub const fn bkp_dr28(&self) -> &BKP_DR {
192 self.bkp_dr(17)
193 }
194 ///0x84 - Backup data register (BKP_DR)
195 #[inline(always)]
196 pub const fn bkp_dr29(&self) -> &BKP_DR {
197 self.bkp_dr(18)
198 }
199 ///0x88 - Backup data register (BKP_DR)
200 #[inline(always)]
201 pub const fn bkp_dr30(&self) -> &BKP_DR {
202 self.bkp_dr(19)
203 }
204 ///0x8c - Backup data register (BKP_DR)
205 #[inline(always)]
206 pub const fn bkp_dr31(&self) -> &BKP_DR {
207 self.bkp_dr(20)
208 }
209 ///0x90 - Backup data register (BKP_DR)
210 #[inline(always)]
211 pub const fn bkp_dr32(&self) -> &BKP_DR {
212 self.bkp_dr(21)
213 }
214 ///0x94 - Backup data register (BKP_DR)
215 #[inline(always)]
216 pub const fn bkp_dr33(&self) -> &BKP_DR {
217 self.bkp_dr(22)
218 }
219 ///0x98 - Backup data register (BKP_DR)
220 #[inline(always)]
221 pub const fn bkp_dr34(&self) -> &BKP_DR {
222 self.bkp_dr(23)
223 }
224 ///0x9c - Backup data register (BKP_DR)
225 #[inline(always)]
226 pub const fn bkp_dr35(&self) -> &BKP_DR {
227 self.bkp_dr(24)
228 }
229 ///0xa0 - Backup data register (BKP_DR)
230 #[inline(always)]
231 pub const fn bkp_dr36(&self) -> &BKP_DR {
232 self.bkp_dr(25)
233 }
234 ///0xa4 - Backup data register (BKP_DR)
235 #[inline(always)]
236 pub const fn bkp_dr37(&self) -> &BKP_DR {
237 self.bkp_dr(26)
238 }
239 ///0xa8 - Backup data register (BKP_DR)
240 #[inline(always)]
241 pub const fn bkp_dr38(&self) -> &BKP_DR {
242 self.bkp_dr(27)
243 }
244 ///0xac - Backup data register (BKP_DR)
245 #[inline(always)]
246 pub const fn bkp_dr39(&self) -> &BKP_DR {
247 self.bkp_dr(28)
248 }
249 ///0xb0 - Backup data register (BKP_DR)
250 #[inline(always)]
251 pub const fn bkp_dr40(&self) -> &BKP_DR {
252 self.bkp_dr(29)
253 }
254 ///0xb4 - Backup data register (BKP_DR)
255 #[inline(always)]
256 pub const fn bkp_dr41(&self) -> &BKP_DR {
257 self.bkp_dr(30)
258 }
259 ///0xb8 - Backup data register (BKP_DR)
260 #[inline(always)]
261 pub const fn bkp_dr42(&self) -> &BKP_DR {
262 self.bkp_dr(31)
263 }
264}
265/**DR (rw) register accessor: Backup data register (BKP_DR)
266
267You can [`read`](crate::Reg::read) this register and get [`dr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
268
269See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F107.html#BKP:DR[1])
270
271For information about available fields see [`mod@dr`] module*/
272pub type DR = crate::Reg<dr::DRrs>;
273///Backup data register (BKP_DR)
274pub mod dr;
275/**BKP_DR (rw) register accessor: Backup data register (BKP_DR)
276
277You can [`read`](crate::Reg::read) this register and get [`bkp_dr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`bkp_dr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
278
279See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F107.html#BKP:BKP_DR[11])
280
281For information about available fields see [`mod@bkp_dr`] module*/
282pub type BKP_DR = crate::Reg<bkp_dr::BKP_DRrs>;
283///Backup data register (BKP_DR)
284pub mod bkp_dr;
285/**RTCCR (rw) register accessor: RTC clock calibration register (BKP_RTCCR)
286
287You can [`read`](crate::Reg::read) this register and get [`rtccr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rtccr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
288
289See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F107.html#BKP:RTCCR)
290
291For information about available fields see [`mod@rtccr`] module*/
292pub type RTCCR = crate::Reg<rtccr::RTCCRrs>;
293///RTC clock calibration register (BKP_RTCCR)
294pub mod rtccr;
295/**CR (rw) register accessor: Backup control register (BKP_CR)
296
297You can [`read`](crate::Reg::read) this register and get [`cr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
298
299See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F107.html#BKP:CR)
300
301For information about available fields see [`mod@cr`] module*/
302pub type CR = crate::Reg<cr::CRrs>;
303///Backup control register (BKP_CR)
304pub mod cr;
305/**CSR (rw) register accessor: BKP_CSR control/status register
306
307You can [`read`](crate::Reg::read) this register and get [`csr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`csr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).
308
309See register [structure](https://stm32-rs.github.io/stm32-rs/STM32F107.html#BKP:CSR)
310
311For information about available fields see [`mod@csr`] module*/
312pub type CSR = crate::Reg<csr::CSRrs>;
313///BKP_CSR control/status register
314pub mod csr;