diff options
| author | chemicstry <[email protected]> | 2022-07-12 15:06:16 +0300 |
|---|---|---|
| committer | chemicstry <[email protected]> | 2022-07-12 15:11:57 +0300 |
| commit | 2df665da8ac601e043404e1ca6bd87a4fb01013f (patch) | |
| tree | 5514b52194332c0a319c813dd5de5468d70b803b /embassy-stm32 | |
| parent | 2adee4af3878cb0e8027752c9d29a6ce236f4ab3 (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')
| -rw-r--r-- | embassy-stm32/src/pwm/mod.rs | 4 | ||||
| -rw-r--r-- | embassy-stm32/src/timer/mod.rs | 12 |
2 files changed, 13 insertions, 3 deletions
diff --git a/embassy-stm32/src/pwm/mod.rs b/embassy-stm32/src/pwm/mod.rs index 674740cc5..d3713391c 100644 --- a/embassy-stm32/src/pwm/mod.rs +++ b/embassy-stm32/src/pwm/mod.rs | |||
| @@ -54,7 +54,7 @@ impl From<OutputCompareMode> for stm32_metapac::timer::vals::Ocm { | |||
| 54 | pub(crate) mod sealed { | 54 | pub(crate) mod sealed { |
| 55 | use super::*; | 55 | use super::*; |
| 56 | 56 | ||
| 57 | pub trait CaptureCompare16bitInstance: crate::timer::sealed::Basic16bitInstance { | 57 | pub trait CaptureCompare16bitInstance: crate::timer::sealed::GeneralPurpose16bitInstance { |
| 58 | /// Global output enable. Does not do anything on non-advanced timers. | 58 | /// Global output enable. Does not do anything on non-advanced timers. |
| 59 | unsafe fn enable_outputs(&mut self, enable: bool); | 59 | unsafe fn enable_outputs(&mut self, enable: bool); |
| 60 | 60 | ||
| @@ -79,7 +79,7 @@ pub(crate) mod sealed { | |||
| 79 | } | 79 | } |
| 80 | 80 | ||
| 81 | pub trait CaptureCompare16bitInstance: | 81 | pub trait CaptureCompare16bitInstance: |
| 82 | sealed::CaptureCompare16bitInstance + crate::timer::Basic16bitInstance + 'static | 82 | sealed::CaptureCompare16bitInstance + crate::timer::GeneralPurpose16bitInstance + 'static |
| 83 | { | 83 | { |
| 84 | } | 84 | } |
| 85 | pub trait CaptureCompare32bitInstance: | 85 | pub trait CaptureCompare32bitInstance: |
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 | }; |
