aboutsummaryrefslogtreecommitdiff
path: root/embassy-stm32/src/timer/mod.rs
diff options
context:
space:
mode:
authorchemicstry <[email protected]>2022-07-12 15:06:16 +0300
committerchemicstry <[email protected]>2022-07-12 15:11:57 +0300
commit2df665da8ac601e043404e1ca6bd87a4fb01013f (patch)
tree5514b52194332c0a319c813dd5de5468d70b803b /embassy-stm32/src/timer/mod.rs
parent2adee4af3878cb0e8027752c9d29a6ce236f4ab3 (diff)
Revert "Make advanced timer trait not require general purpose timer trait as the timers are too different."
This reverts commit 4988dfe98175f5d92d896edd2b9ee774a91b28d5.
Diffstat (limited to 'embassy-stm32/src/timer/mod.rs')
-rw-r--r--embassy-stm32/src/timer/mod.rs12
1 files changed, 11 insertions, 1 deletions
diff --git a/embassy-stm32/src/timer/mod.rs b/embassy-stm32/src/timer/mod.rs
index e92015ee9..772c67686 100644
--- a/embassy-stm32/src/timer/mod.rs
+++ b/embassy-stm32/src/timer/mod.rs
@@ -40,7 +40,7 @@ pub(crate) mod sealed {
40 fn set_frequency(&mut self, frequency: Hertz); 40 fn set_frequency(&mut self, frequency: Hertz);
41 } 41 }
42 42
43 pub trait AdvancedControlInstance: Basic16bitInstance { 43 pub trait AdvancedControlInstance: GeneralPurpose16bitInstance {
44 fn regs_advanced() -> crate::pac::timer::TimAdv; 44 fn regs_advanced() -> crate::pac::timer::TimAdv;
45 } 45 }
46} 46}
@@ -204,11 +204,21 @@ foreach_interrupt! {
204 impl Basic16bitInstance for crate::peripherals::$inst { 204 impl Basic16bitInstance for crate::peripherals::$inst {
205 } 205 }
206 206
207 impl sealed::GeneralPurpose16bitInstance for crate::peripherals::$inst {
208 fn regs_gp16() -> crate::pac::timer::TimGp16 {
209 crate::pac::timer::TimGp16(crate::pac::$inst.0)
210 }
211 }
212
213 impl GeneralPurpose16bitInstance for crate::peripherals::$inst {
214 }
215
207 impl sealed::AdvancedControlInstance for crate::peripherals::$inst { 216 impl sealed::AdvancedControlInstance for crate::peripherals::$inst {
208 fn regs_advanced() -> crate::pac::timer::TimAdv { 217 fn regs_advanced() -> crate::pac::timer::TimAdv {
209 crate::pac::$inst 218 crate::pac::$inst
210 } 219 }
211 } 220 }
221
212 impl AdvancedControlInstance for crate::peripherals::$inst { 222 impl AdvancedControlInstance for crate::peripherals::$inst {
213 } 223 }
214 }; 224 };