1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 #[doc = "0x00 - control register 1"]
5 pub cr1: CR1,
6 #[doc = "0x04 - control register 2"]
7 pub cr2: CR2,
8 #[doc = "0x08 - slave mode control register"]
9 pub smcr: SMCR,
10 #[doc = "0x0c - DMA/Interrupt enable register"]
11 pub dier: DIER,
12 #[doc = "0x10 - status register"]
13 pub sr: SR,
14 #[doc = "0x14 - event generation register"]
15 pub egr: EGR,
16 _reserved_6_ccmr1: [u8; 4usize],
17 _reserved_7_ccmr2: [u8; 4usize],
18 #[doc = "0x20 - capture/compare enable register"]
19 pub ccer: CCER,
20 #[doc = "0x24 - counter"]
21 pub cnt: CNT,
22 #[doc = "0x28 - prescaler"]
23 pub psc: PSC,
24 #[doc = "0x2c - auto-reload register"]
25 pub arr: ARR,
26 _reserved12: [u8; 4usize],
27 #[doc = "0x34 - capture/compare register 1"]
28 pub ccr1: CCR1,
29 #[doc = "0x38 - capture/compare register 2"]
30 pub ccr2: CCR2,
31 #[doc = "0x3c - capture/compare register 3"]
32 pub ccr3: CCR3,
33 #[doc = "0x40 - capture/compare register 4"]
34 pub ccr4: CCR4,
35 _reserved16: [u8; 4usize],
36 #[doc = "0x48 - DMA control register"]
37 pub dcr: DCR,
38 #[doc = "0x4c - DMA address for full transfer"]
39 pub dmar: DMAR,
40 #[doc = "0x50 - TIM2 option register"]
41 pub or: OR,
42 _reserved19: [u8; 12usize],
43 #[doc = "0x60 - TIM2 alternate function option register 1"]
44 pub af: AF,
45}
46impl RegisterBlock {
47 #[doc = "0x18 - capture/compare mode register 1 (input mode)"]
48 #[inline(always)]
49 pub fn ccmr1_input(&self) -> &CCMR1_INPUT {
50 unsafe { &*(((self as *const Self) as *const u8).add(24usize) as *const CCMR1_INPUT) }
51 }
52 #[doc = "0x18 - capture/compare mode register 1 (input mode)"]
53 #[inline(always)]
54 pub fn ccmr1_input_mut(&self) -> &mut CCMR1_INPUT {
55 unsafe { &mut *(((self as *const Self) as *mut u8).add(24usize) as *mut CCMR1_INPUT) }
56 }
57 #[doc = "0x18 - capture/compare mode register 1 (output mode)"]
58 #[inline(always)]
59 pub fn ccmr1_output(&self) -> &CCMR1_OUTPUT {
60 unsafe { &*(((self as *const Self) as *const u8).add(24usize) as *const CCMR1_OUTPUT) }
61 }
62 #[doc = "0x18 - capture/compare mode register 1 (output mode)"]
63 #[inline(always)]
64 pub fn ccmr1_output_mut(&self) -> &mut CCMR1_OUTPUT {
65 unsafe { &mut *(((self as *const Self) as *mut u8).add(24usize) as *mut CCMR1_OUTPUT) }
66 }
67 #[doc = "0x1c - capture/compare mode register 2 (input mode)"]
68 #[inline(always)]
69 pub fn ccmr2_input(&self) -> &CCMR2_INPUT {
70 unsafe { &*(((self as *const Self) as *const u8).add(28usize) as *const CCMR2_INPUT) }
71 }
72 #[doc = "0x1c - capture/compare mode register 2 (input mode)"]
73 #[inline(always)]
74 pub fn ccmr2_input_mut(&self) -> &mut CCMR2_INPUT {
75 unsafe { &mut *(((self as *const Self) as *mut u8).add(28usize) as *mut CCMR2_INPUT) }
76 }
77 #[doc = "0x1c - capture/compare mode register 2 (output mode)"]
78 #[inline(always)]
79 pub fn ccmr2_output(&self) -> &CCMR2_OUTPUT {
80 unsafe { &*(((self as *const Self) as *const u8).add(28usize) as *const CCMR2_OUTPUT) }
81 }
82 #[doc = "0x1c - capture/compare mode register 2 (output mode)"]
83 #[inline(always)]
84 pub fn ccmr2_output_mut(&self) -> &mut CCMR2_OUTPUT {
85 unsafe { &mut *(((self as *const Self) as *mut u8).add(28usize) as *mut CCMR2_OUTPUT) }
86 }
87}
88#[doc = "control register 1\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [cr1](cr1) module"]
89pub type CR1 = crate::Reg<u32, _CR1>;
90#[allow(missing_docs)]
91#[doc(hidden)]
92pub struct _CR1;
93#[doc = "`read()` method returns [cr1::R](cr1::R) reader structure"]
94impl crate::Readable for CR1 {}
95#[doc = "`write(|w| ..)` method takes [cr1::W](cr1::W) writer structure"]
96impl crate::Writable for CR1 {}
97#[doc = "control register 1"]
98pub mod cr1;
99#[doc = "control register 2\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [cr2](cr2) module"]
100pub type CR2 = crate::Reg<u32, _CR2>;
101#[allow(missing_docs)]
102#[doc(hidden)]
103pub struct _CR2;
104#[doc = "`read()` method returns [cr2::R](cr2::R) reader structure"]
105impl crate::Readable for CR2 {}
106#[doc = "`write(|w| ..)` method takes [cr2::W](cr2::W) writer structure"]
107impl crate::Writable for CR2 {}
108#[doc = "control register 2"]
109pub mod cr2;
110#[doc = "slave mode control register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [smcr](smcr) module"]
111pub type SMCR = crate::Reg<u32, _SMCR>;
112#[allow(missing_docs)]
113#[doc(hidden)]
114pub struct _SMCR;
115#[doc = "`read()` method returns [smcr::R](smcr::R) reader structure"]
116impl crate::Readable for SMCR {}
117#[doc = "`write(|w| ..)` method takes [smcr::W](smcr::W) writer structure"]
118impl crate::Writable for SMCR {}
119#[doc = "slave mode control register"]
120pub mod smcr;
121#[doc = "DMA/Interrupt enable register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [dier](dier) module"]
122pub type DIER = crate::Reg<u32, _DIER>;
123#[allow(missing_docs)]
124#[doc(hidden)]
125pub struct _DIER;
126#[doc = "`read()` method returns [dier::R](dier::R) reader structure"]
127impl crate::Readable for DIER {}
128#[doc = "`write(|w| ..)` method takes [dier::W](dier::W) writer structure"]
129impl crate::Writable for DIER {}
130#[doc = "DMA/Interrupt enable register"]
131pub mod dier;
132#[doc = "status register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [sr](sr) module"]
133pub type SR = crate::Reg<u32, _SR>;
134#[allow(missing_docs)]
135#[doc(hidden)]
136pub struct _SR;
137#[doc = "`read()` method returns [sr::R](sr::R) reader structure"]
138impl crate::Readable for SR {}
139#[doc = "`write(|w| ..)` method takes [sr::W](sr::W) writer structure"]
140impl crate::Writable for SR {}
141#[doc = "status register"]
142pub mod sr;
143#[doc = "event generation register\n\nThis register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [egr](egr) module"]
144pub type EGR = crate::Reg<u32, _EGR>;
145#[allow(missing_docs)]
146#[doc(hidden)]
147pub struct _EGR;
148#[doc = "`write(|w| ..)` method takes [egr::W](egr::W) writer structure"]
149impl crate::Writable for EGR {}
150#[doc = "event generation register"]
151pub mod egr;
152#[doc = "capture/compare mode register 1 (output mode)\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ccmr1_output](ccmr1_output) module"]
153pub type CCMR1_OUTPUT = crate::Reg<u32, _CCMR1_OUTPUT>;
154#[allow(missing_docs)]
155#[doc(hidden)]
156pub struct _CCMR1_OUTPUT;
157#[doc = "`read()` method returns [ccmr1_output::R](ccmr1_output::R) reader structure"]
158impl crate::Readable for CCMR1_OUTPUT {}
159#[doc = "`write(|w| ..)` method takes [ccmr1_output::W](ccmr1_output::W) writer structure"]
160impl crate::Writable for CCMR1_OUTPUT {}
161#[doc = "capture/compare mode register 1 (output mode)"]
162pub mod ccmr1_output;
163#[doc = "capture/compare mode register 1 (input mode)\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ccmr1_input](ccmr1_input) module"]
164pub type CCMR1_INPUT = crate::Reg<u32, _CCMR1_INPUT>;
165#[allow(missing_docs)]
166#[doc(hidden)]
167pub struct _CCMR1_INPUT;
168#[doc = "`read()` method returns [ccmr1_input::R](ccmr1_input::R) reader structure"]
169impl crate::Readable for CCMR1_INPUT {}
170#[doc = "`write(|w| ..)` method takes [ccmr1_input::W](ccmr1_input::W) writer structure"]
171impl crate::Writable for CCMR1_INPUT {}
172#[doc = "capture/compare mode register 1 (input mode)"]
173pub mod ccmr1_input;
174#[doc = "capture/compare mode register 2 (output mode)\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ccmr2_output](ccmr2_output) module"]
175pub type CCMR2_OUTPUT = crate::Reg<u32, _CCMR2_OUTPUT>;
176#[allow(missing_docs)]
177#[doc(hidden)]
178pub struct _CCMR2_OUTPUT;
179#[doc = "`read()` method returns [ccmr2_output::R](ccmr2_output::R) reader structure"]
180impl crate::Readable for CCMR2_OUTPUT {}
181#[doc = "`write(|w| ..)` method takes [ccmr2_output::W](ccmr2_output::W) writer structure"]
182impl crate::Writable for CCMR2_OUTPUT {}
183#[doc = "capture/compare mode register 2 (output mode)"]
184pub mod ccmr2_output;
185#[doc = "capture/compare mode register 2 (input mode)\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ccmr2_input](ccmr2_input) module"]
186pub type CCMR2_INPUT = crate::Reg<u32, _CCMR2_INPUT>;
187#[allow(missing_docs)]
188#[doc(hidden)]
189pub struct _CCMR2_INPUT;
190#[doc = "`read()` method returns [ccmr2_input::R](ccmr2_input::R) reader structure"]
191impl crate::Readable for CCMR2_INPUT {}
192#[doc = "`write(|w| ..)` method takes [ccmr2_input::W](ccmr2_input::W) writer structure"]
193impl crate::Writable for CCMR2_INPUT {}
194#[doc = "capture/compare mode register 2 (input mode)"]
195pub mod ccmr2_input;
196#[doc = "capture/compare enable register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ccer](ccer) module"]
197pub type CCER = crate::Reg<u32, _CCER>;
198#[allow(missing_docs)]
199#[doc(hidden)]
200pub struct _CCER;
201#[doc = "`read()` method returns [ccer::R](ccer::R) reader structure"]
202impl crate::Readable for CCER {}
203#[doc = "`write(|w| ..)` method takes [ccer::W](ccer::W) writer structure"]
204impl crate::Writable for CCER {}
205#[doc = "capture/compare enable register"]
206pub mod ccer;
207#[doc = "counter\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [cnt](cnt) module"]
208pub type CNT = crate::Reg<u32, _CNT>;
209#[allow(missing_docs)]
210#[doc(hidden)]
211pub struct _CNT;
212#[doc = "`read()` method returns [cnt::R](cnt::R) reader structure"]
213impl crate::Readable for CNT {}
214#[doc = "`write(|w| ..)` method takes [cnt::W](cnt::W) writer structure"]
215impl crate::Writable for CNT {}
216#[doc = "counter"]
217pub mod cnt;
218#[doc = "prescaler\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [psc](psc) module"]
219pub type PSC = crate::Reg<u32, _PSC>;
220#[allow(missing_docs)]
221#[doc(hidden)]
222pub struct _PSC;
223#[doc = "`read()` method returns [psc::R](psc::R) reader structure"]
224impl crate::Readable for PSC {}
225#[doc = "`write(|w| ..)` method takes [psc::W](psc::W) writer structure"]
226impl crate::Writable for PSC {}
227#[doc = "prescaler"]
228pub mod psc;
229#[doc = "auto-reload register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [arr](arr) module"]
230pub type ARR = crate::Reg<u32, _ARR>;
231#[allow(missing_docs)]
232#[doc(hidden)]
233pub struct _ARR;
234#[doc = "`read()` method returns [arr::R](arr::R) reader structure"]
235impl crate::Readable for ARR {}
236#[doc = "`write(|w| ..)` method takes [arr::W](arr::W) writer structure"]
237impl crate::Writable for ARR {}
238#[doc = "auto-reload register"]
239pub mod arr;
240#[doc = "capture/compare register 1\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ccr1](ccr1) module"]
241pub type CCR1 = crate::Reg<u32, _CCR1>;
242#[allow(missing_docs)]
243#[doc(hidden)]
244pub struct _CCR1;
245#[doc = "`read()` method returns [ccr1::R](ccr1::R) reader structure"]
246impl crate::Readable for CCR1 {}
247#[doc = "`write(|w| ..)` method takes [ccr1::W](ccr1::W) writer structure"]
248impl crate::Writable for CCR1 {}
249#[doc = "capture/compare register 1"]
250pub mod ccr1;
251#[doc = "capture/compare register 2\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ccr2](ccr2) module"]
252pub type CCR2 = crate::Reg<u32, _CCR2>;
253#[allow(missing_docs)]
254#[doc(hidden)]
255pub struct _CCR2;
256#[doc = "`read()` method returns [ccr2::R](ccr2::R) reader structure"]
257impl crate::Readable for CCR2 {}
258#[doc = "`write(|w| ..)` method takes [ccr2::W](ccr2::W) writer structure"]
259impl crate::Writable for CCR2 {}
260#[doc = "capture/compare register 2"]
261pub mod ccr2;
262#[doc = "capture/compare register 3\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ccr3](ccr3) module"]
263pub type CCR3 = crate::Reg<u32, _CCR3>;
264#[allow(missing_docs)]
265#[doc(hidden)]
266pub struct _CCR3;
267#[doc = "`read()` method returns [ccr3::R](ccr3::R) reader structure"]
268impl crate::Readable for CCR3 {}
269#[doc = "`write(|w| ..)` method takes [ccr3::W](ccr3::W) writer structure"]
270impl crate::Writable for CCR3 {}
271#[doc = "capture/compare register 3"]
272pub mod ccr3;
273#[doc = "capture/compare register 4\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ccr4](ccr4) module"]
274pub type CCR4 = crate::Reg<u32, _CCR4>;
275#[allow(missing_docs)]
276#[doc(hidden)]
277pub struct _CCR4;
278#[doc = "`read()` method returns [ccr4::R](ccr4::R) reader structure"]
279impl crate::Readable for CCR4 {}
280#[doc = "`write(|w| ..)` method takes [ccr4::W](ccr4::W) writer structure"]
281impl crate::Writable for CCR4 {}
282#[doc = "capture/compare register 4"]
283pub mod ccr4;
284#[doc = "DMA control register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [dcr](dcr) module"]
285pub type DCR = crate::Reg<u32, _DCR>;
286#[allow(missing_docs)]
287#[doc(hidden)]
288pub struct _DCR;
289#[doc = "`read()` method returns [dcr::R](dcr::R) reader structure"]
290impl crate::Readable for DCR {}
291#[doc = "`write(|w| ..)` method takes [dcr::W](dcr::W) writer structure"]
292impl crate::Writable for DCR {}
293#[doc = "DMA control register"]
294pub mod dcr;
295#[doc = "DMA address for full transfer\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [dmar](dmar) module"]
296pub type DMAR = crate::Reg<u32, _DMAR>;
297#[allow(missing_docs)]
298#[doc(hidden)]
299pub struct _DMAR;
300#[doc = "`read()` method returns [dmar::R](dmar::R) reader structure"]
301impl crate::Readable for DMAR {}
302#[doc = "`write(|w| ..)` method takes [dmar::W](dmar::W) writer structure"]
303impl crate::Writable for DMAR {}
304#[doc = "DMA address for full transfer"]
305pub mod dmar;
306#[doc = "TIM2 option register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [or](or) module"]
307pub type OR = crate::Reg<u32, _OR>;
308#[allow(missing_docs)]
309#[doc(hidden)]
310pub struct _OR;
311#[doc = "`read()` method returns [or::R](or::R) reader structure"]
312impl crate::Readable for OR {}
313#[doc = "`write(|w| ..)` method takes [or::W](or::W) writer structure"]
314impl crate::Writable for OR {}
315#[doc = "TIM2 option register"]
316pub mod or;
317#[doc = "TIM2 alternate function option register 1\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [af](af) module"]
318pub type AF = crate::Reg<u32, _AF>;
319#[allow(missing_docs)]
320#[doc(hidden)]
321pub struct _AF;
322#[doc = "`read()` method returns [af::R](af::R) reader structure"]
323impl crate::Readable for AF {}
324#[doc = "`write(|w| ..)` method takes [af::W](af::W) writer structure"]
325impl crate::Writable for AF {}
326#[doc = "TIM2 alternate function option register 1"]
327pub mod af;