From 3eaeaa6317c7d009dac4e94ab466473572f9d3ad Mon Sep 17 00:00:00 2001 From: Janek Date: Tue, 18 Jul 2023 13:50:16 +0200 Subject: [PATCH 1/6] implement PWM for TIM2 on supported devices --- src/pwm.rs | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/pwm.rs b/src/pwm.rs index d83067f..4a60580 100644 --- a/src/pwm.rs +++ b/src/pwm.rs @@ -874,7 +874,26 @@ macro_rules! pwm_1_channel_with_complementary_outputs { use crate::pac::*; -pwm_4_channels!(TIM3: (tim3, tim3en, tim3rst, apb1enr, apb1rstr),); +pwm_4_channels!( + TIM3: (tim3, tim3en, tim3rst, apb1enr, apb1rstr), +); + +#[cfg(any( + feature = "stm32f031", + feature = "stm32f038", + feature = "stm32f042", + feature = "stm32f048", + feature = "stm32f051", + feature = "stm32f058", + feature = "stm32f071", + feature = "stm32f072", + feature = "stm32f078", + feature = "stm32f091", + feature = "stm32f098", +))] +pwm_4_channels!( + TIM2: (tim2, tim2en, tim2rst, apb1enr, apb1rstr), +); pwm_4_channels_with_3_complementary_outputs!(TIM1: (tim1, tim1en, tim1rst, apb2enr, apb2rstr),); pwm_1_channel!(TIM14: (tim14, tim14en, tim14rst, apb1enr, apb1rstr),); From 90c282c92e0c29f91d5a69946a9df0f0174b5863 Mon Sep 17 00:00:00 2001 From: Janek Date: Tue, 18 Jul 2023 14:10:46 +0200 Subject: [PATCH 2/6] Add channel implementations to TIM2 Pins. --- src/timers.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/timers.rs b/src/timers.rs index f7aa80c..595e20d 100644 --- a/src/timers.rs +++ b/src/timers.rs @@ -332,6 +332,29 @@ channel_impl!( TIM17, PinC1, PB9, Alternate; ); +#[cfg(any( + feature = "stm32f031", + feature = "stm32f038", + feature = "stm32f042", + feature = "stm32f048", + feature = "stm32f051", + feature = "stm32f058", + feature = "stm32f071", + feature = "stm32f072", + feature = "stm32f078", + feature = "stm32f091", + feature = "stm32f098", +))] +channel_impl!( + TIM2, PinC1, PA0, Alternate; + TIM2, PinC1, PA5, Alternate; + TIM2, PinC1, PA15, Alternate; + TIM2, PinC2, PA1, Alternate; + TIM2, PinC2, PB3, Alternate; + TIM2, PinC3, PA2, Alternate; + TIM2, PinC4, PA3, Alternate; +); + #[cfg(any( feature = "stm32f030x8", feature = "stm32f030xc", From 43ba176c7ffbaf6cc9393076675dc37d8b396f19 Mon Sep 17 00:00:00 2001 From: Janek Date: Tue, 18 Jul 2023 14:10:46 +0200 Subject: [PATCH 3/6] Add channel implementations to TIM2 Pins. --- src/timers.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/timers.rs b/src/timers.rs index f7aa80c..c17cd6c 100644 --- a/src/timers.rs +++ b/src/timers.rs @@ -332,6 +332,31 @@ channel_impl!( TIM17, PinC1, PB9, Alternate; ); +#[cfg(any( + feature = "stm32f031", + feature = "stm32f038", + feature = "stm32f042", + feature = "stm32f048", + feature = "stm32f051", + feature = "stm32f058", + feature = "stm32f071", + feature = "stm32f072", + feature = "stm32f078", + feature = "stm32f091", + feature = "stm32f098", +))] +channel_impl!( + TIM2, PinC1, PA0, Alternate; + TIM2, PinC2, PA1, Alternate; + TIM2, PinC3, PA2, Alternate; + TIM2, PinC4, PA3, Alternate; + TIM2, PinC1, PA5, Alternate; + TIM2, PinC1, PA15, Alternate; + TIM2, PinC2, PB3, Alternate; + TIM2, PINC3, PB10, Alternate; + TIM2, PINC4, PB11, Alternate; +); + #[cfg(any( feature = "stm32f030x8", feature = "stm32f030xc", From 30fecdba08b99a990d7b3659832e298e9132cf9f Mon Sep 17 00:00:00 2001 From: Janek Date: Sat, 22 Jul 2023 13:12:43 +0200 Subject: [PATCH 4/6] Update CHANGELOG.md with TIM2 PWM support. --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 525825e..e06e91c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ### Added +- PWM capability for TIM2 + +### Added + - PWM complementary output capability for TIM1 with new example to demonstrate ### Changed From fd36360ebdb3d9db335605dff3c71b361e0cf79a Mon Sep 17 00:00:00 2001 From: Janek Date: Wed, 26 Jul 2023 16:57:05 +0200 Subject: [PATCH 5/6] Fix typos in timers.rs --- src/timers.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/timers.rs b/src/timers.rs index c17cd6c..545331c 100644 --- a/src/timers.rs +++ b/src/timers.rs @@ -353,8 +353,8 @@ channel_impl!( TIM2, PinC1, PA5, Alternate; TIM2, PinC1, PA15, Alternate; TIM2, PinC2, PB3, Alternate; - TIM2, PINC3, PB10, Alternate; - TIM2, PINC4, PB11, Alternate; + TIM2, PinC3, PB10, Alternate; + TIM2, PinC4, PB11, Alternate; ); #[cfg(any( From b757368ced5badea0c84ae4a8e8a2c8c14587fa2 Mon Sep 17 00:00:00 2001 From: Daniel Egger Date: Sun, 20 Aug 2023 04:33:35 +0200 Subject: [PATCH 6/6] Update CHANGELOG.md --- CHANGELOG.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e06e91c..12e7f1f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,8 +11,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/). - PWM capability for TIM2 -### Added - - PWM complementary output capability for TIM1 with new example to demonstrate ### Changed