stm32f7_staging/stm32f733/
tim5.rs1#[repr(C)]
2#[derive(Debug)]
3pub struct RegisterBlock {
5 cr1: CR1,
6 cr2: CR2,
7 smcr: SMCR,
8 dier: DIER,
9 sr: SR,
10 egr: EGR,
11 _reserved_6_ccmr1: [u8; 0x04],
12 _reserved_7_ccmr2: [u8; 0x04],
13 ccer: CCER,
14 cnt: CNT,
15 psc: PSC,
16 arr: ARR,
17 _reserved12: [u8; 0x04],
18 ccr: [CCR; 4],
19 _reserved13: [u8; 0x04],
20 dcr: DCR,
21 dmar: DMAR,
22 or: OR,
23}
24impl RegisterBlock {
25 #[inline(always)]
27 pub const fn cr1(&self) -> &CR1 {
28 &self.cr1
29 }
30 #[inline(always)]
32 pub const fn cr2(&self) -> &CR2 {
33 &self.cr2
34 }
35 #[inline(always)]
37 pub const fn smcr(&self) -> &SMCR {
38 &self.smcr
39 }
40 #[inline(always)]
42 pub const fn dier(&self) -> &DIER {
43 &self.dier
44 }
45 #[inline(always)]
47 pub const fn sr(&self) -> &SR {
48 &self.sr
49 }
50 #[inline(always)]
52 pub const fn egr(&self) -> &EGR {
53 &self.egr
54 }
55 #[inline(always)]
57 pub const fn ccmr1_input(&self) -> &CCMR1_INPUT {
58 unsafe { &*core::ptr::from_ref(self).cast::<u8>().add(24).cast() }
59 }
60 #[inline(always)]
62 pub const fn ccmr1_output(&self) -> &CCMR1_OUTPUT {
63 unsafe { &*core::ptr::from_ref(self).cast::<u8>().add(24).cast() }
64 }
65 #[inline(always)]
67 pub const fn ccmr2_input(&self) -> &CCMR2_INPUT {
68 unsafe { &*core::ptr::from_ref(self).cast::<u8>().add(28).cast() }
69 }
70 #[inline(always)]
72 pub const fn ccmr2_output(&self) -> &CCMR2_OUTPUT {
73 unsafe { &*core::ptr::from_ref(self).cast::<u8>().add(28).cast() }
74 }
75 #[inline(always)]
77 pub const fn ccer(&self) -> &CCER {
78 &self.ccer
79 }
80 #[inline(always)]
82 pub const fn cnt(&self) -> &CNT {
83 &self.cnt
84 }
85 #[inline(always)]
87 pub const fn psc(&self) -> &PSC {
88 &self.psc
89 }
90 #[inline(always)]
92 pub const fn arr(&self) -> &ARR {
93 &self.arr
94 }
95 #[inline(always)]
99 pub const fn ccr(&self, n: usize) -> &CCR {
100 &self.ccr[n]
101 }
102 #[inline(always)]
105 pub fn ccr_iter(&self) -> impl Iterator<Item = &CCR> {
106 self.ccr.iter()
107 }
108 #[inline(always)]
110 pub const fn ccr1(&self) -> &CCR {
111 self.ccr(0)
112 }
113 #[inline(always)]
115 pub const fn ccr2(&self) -> &CCR {
116 self.ccr(1)
117 }
118 #[inline(always)]
120 pub const fn ccr3(&self) -> &CCR {
121 self.ccr(2)
122 }
123 #[inline(always)]
125 pub const fn ccr4(&self) -> &CCR {
126 self.ccr(3)
127 }
128 #[inline(always)]
130 pub const fn dcr(&self) -> &DCR {
131 &self.dcr
132 }
133 #[inline(always)]
135 pub const fn dmar(&self) -> &DMAR {
136 &self.dmar
137 }
138 #[inline(always)]
140 pub const fn or(&self) -> &OR {
141 &self.or
142 }
143}
144pub use crate::stm32f733::tim2::cr1;
145pub use crate::stm32f733::tim2::cr2;
146pub use crate::stm32f733::tim2::CR1;
147pub use crate::stm32f733::tim2::CR2;
148pub type SMCR = crate::Reg<smcr::SMCRrs>;
156pub mod smcr;
158pub use crate::stm32f733::tim2::arr;
159pub use crate::stm32f733::tim2::ccer;
160pub use crate::stm32f733::tim2::ccmr1_input;
161pub use crate::stm32f733::tim2::ccmr1_output;
162pub use crate::stm32f733::tim2::ccmr2_input;
163pub use crate::stm32f733::tim2::ccmr2_output;
164pub use crate::stm32f733::tim2::ccr;
165pub use crate::stm32f733::tim2::cnt;
166pub use crate::stm32f733::tim2::dcr;
167pub use crate::stm32f733::tim2::dier;
168pub use crate::stm32f733::tim2::dmar;
169pub use crate::stm32f733::tim2::egr;
170pub use crate::stm32f733::tim2::psc;
171pub use crate::stm32f733::tim2::sr;
172pub use crate::stm32f733::tim2::ARR;
173pub use crate::stm32f733::tim2::CCER;
174pub use crate::stm32f733::tim2::CCMR1_INPUT;
175pub use crate::stm32f733::tim2::CCMR1_OUTPUT;
176pub use crate::stm32f733::tim2::CCMR2_INPUT;
177pub use crate::stm32f733::tim2::CCMR2_OUTPUT;
178pub use crate::stm32f733::tim2::CCR;
179pub use crate::stm32f733::tim2::CNT;
180pub use crate::stm32f733::tim2::DCR;
181pub use crate::stm32f733::tim2::DIER;
182pub use crate::stm32f733::tim2::DMAR;
183pub use crate::stm32f733::tim2::EGR;
184pub use crate::stm32f733::tim2::PSC;
185pub use crate::stm32f733::tim2::SR;
186pub type OR = crate::Reg<or::ORrs>;
194pub mod or;