aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxoviat <[email protected]>2023-07-28 17:07:08 -0500
committerxoviat <[email protected]>2023-07-28 17:07:08 -0500
commit28136579e98ea4d9745867d7c1ffff0ad826b504 (patch)
treee686356221349b3adf92426558acbc6e2d81b844
parentd42dff45de94522d7a5324773b352266a77f0c2c (diff)
stm32/hrtim: extract into mod
-rw-r--r--embassy-stm32/build.rs20
-rw-r--r--embassy-stm32/src/hrtim/mod.rs (renamed from embassy-stm32/src/pwm/advanced_pwm.rs)13
-rw-r--r--embassy-stm32/src/lib.rs9
-rw-r--r--embassy-stm32/src/pwm/mod.rs21
-rw-r--r--examples/stm32f334/src/bin/pwm.rs2
5 files changed, 28 insertions, 37 deletions
diff --git a/embassy-stm32/build.rs b/embassy-stm32/build.rs
index d2b1cfd05..c2b84797d 100644
--- a/embassy-stm32/build.rs
+++ b/embassy-stm32/build.rs
@@ -587,16 +587,16 @@ fn main() {
587 (("timer", "BKIN2"), quote!(crate::pwm::BreakInput2Pin)), 587 (("timer", "BKIN2"), quote!(crate::pwm::BreakInput2Pin)),
588 (("timer", "BKIN2_COMP1"), quote!(crate::pwm::BreakInput2Comparator1Pin)), 588 (("timer", "BKIN2_COMP1"), quote!(crate::pwm::BreakInput2Comparator1Pin)),
589 (("timer", "BKIN2_COMP2"), quote!(crate::pwm::BreakInput2Comparator2Pin)), 589 (("timer", "BKIN2_COMP2"), quote!(crate::pwm::BreakInput2Comparator2Pin)),
590 (("hrtim", "CHA1"), quote!(crate::pwm::ChannelAPin)), 590 (("hrtim", "CHA1"), quote!(crate::hrtim::ChannelAPin)),
591 (("hrtim", "CHA2"), quote!(crate::pwm::ChannelAComplementaryPin)), 591 (("hrtim", "CHA2"), quote!(crate::hrtim::ChannelAComplementaryPin)),
592 (("hrtim", "CHB1"), quote!(crate::pwm::ChannelBPin)), 592 (("hrtim", "CHB1"), quote!(crate::hrtim::ChannelBPin)),
593 (("hrtim", "CHB2"), quote!(crate::pwm::ChannelBComplementaryPin)), 593 (("hrtim", "CHB2"), quote!(crate::hrtim::ChannelBComplementaryPin)),
594 (("hrtim", "CHC1"), quote!(crate::pwm::ChannelCPin)), 594 (("hrtim", "CHC1"), quote!(crate::hrtim::ChannelCPin)),
595 (("hrtim", "CHC2"), quote!(crate::pwm::ChannelCComplementaryPin)), 595 (("hrtim", "CHC2"), quote!(crate::hrtim::ChannelCComplementaryPin)),
596 (("hrtim", "CHD1"), quote!(crate::pwm::ChannelDPin)), 596 (("hrtim", "CHD1"), quote!(crate::hrtim::ChannelDPin)),
597 (("hrtim", "CHD2"), quote!(crate::pwm::ChannelDComplementaryPin)), 597 (("hrtim", "CHD2"), quote!(crate::hrtim::ChannelDComplementaryPin)),
598 (("hrtim", "CHE1"), quote!(crate::pwm::ChannelEPin)), 598 (("hrtim", "CHE1"), quote!(crate::hrtim::ChannelEPin)),
599 (("hrtim", "CHE2"), quote!(crate::pwm::ChannelEComplementaryPin)), 599 (("hrtim", "CHE2"), quote!(crate::hrtim::ChannelEComplementaryPin)),
600 (("sdmmc", "CK"), quote!(crate::sdmmc::CkPin)), 600 (("sdmmc", "CK"), quote!(crate::sdmmc::CkPin)),
601 (("sdmmc", "CMD"), quote!(crate::sdmmc::CmdPin)), 601 (("sdmmc", "CMD"), quote!(crate::sdmmc::CmdPin)),
602 (("sdmmc", "D0"), quote!(crate::sdmmc::D0Pin)), 602 (("sdmmc", "D0"), quote!(crate::sdmmc::D0Pin)),
diff --git a/embassy-stm32/src/pwm/advanced_pwm.rs b/embassy-stm32/src/hrtim/mod.rs
index 9e40c5bf2..7e3a8f144 100644
--- a/embassy-stm32/src/pwm/advanced_pwm.rs
+++ b/embassy-stm32/src/hrtim/mod.rs
@@ -2,10 +2,10 @@ use core::marker::PhantomData;
2 2
3use embassy_hal_common::{into_ref, PeripheralRef}; 3use embassy_hal_common::{into_ref, PeripheralRef};
4 4
5use super::*;
6#[allow(unused_imports)] 5#[allow(unused_imports)]
7use crate::gpio::sealed::{AFType, Pin}; 6use crate::gpio::sealed::{AFType, Pin};
8use crate::gpio::AnyPin; 7use crate::gpio::AnyPin;
8use crate::pwm::HighResolutionCaptureCompare16bitInstance;
9use crate::time::Hertz; 9use crate::time::Hertz;
10use crate::Peripheral; 10use crate::Peripheral;
11 11
@@ -394,3 +394,14 @@ impl<T: HighResolutionCaptureCompare16bitInstance, C: AdvancedChannel<T>> Resona
394 self.max_period 394 self.max_period
395 } 395 }
396} 396}
397
398pin_trait!(ChannelAPin, HighResolutionCaptureCompare16bitInstance);
399pin_trait!(ChannelAComplementaryPin, HighResolutionCaptureCompare16bitInstance);
400pin_trait!(ChannelBPin, HighResolutionCaptureCompare16bitInstance);
401pin_trait!(ChannelBComplementaryPin, HighResolutionCaptureCompare16bitInstance);
402pin_trait!(ChannelCPin, HighResolutionCaptureCompare16bitInstance);
403pin_trait!(ChannelCComplementaryPin, HighResolutionCaptureCompare16bitInstance);
404pin_trait!(ChannelDPin, HighResolutionCaptureCompare16bitInstance);
405pin_trait!(ChannelDComplementaryPin, HighResolutionCaptureCompare16bitInstance);
406pin_trait!(ChannelEPin, HighResolutionCaptureCompare16bitInstance);
407pin_trait!(ChannelEComplementaryPin, HighResolutionCaptureCompare16bitInstance);
diff --git a/embassy-stm32/src/lib.rs b/embassy-stm32/src/lib.rs
index 45a7b5476..8c005bfed 100644
--- a/embassy-stm32/src/lib.rs
+++ b/embassy-stm32/src/lib.rs
@@ -23,6 +23,8 @@ pub mod timer;
23pub mod adc; 23pub mod adc;
24#[cfg(can)] 24#[cfg(can)]
25pub mod can; 25pub mod can;
26#[cfg(crc)]
27pub mod crc;
26#[cfg(dac)] 28#[cfg(dac)]
27pub mod dac; 29pub mod dac;
28#[cfg(dcmi)] 30#[cfg(dcmi)]
@@ -31,14 +33,13 @@ pub mod dcmi;
31pub mod eth; 33pub mod eth;
32#[cfg(feature = "exti")] 34#[cfg(feature = "exti")]
33pub mod exti; 35pub mod exti;
36pub mod flash;
34#[cfg(fmc)] 37#[cfg(fmc)]
35pub mod fmc; 38pub mod fmc;
39#[cfg(hrtim_v1)]
40pub mod hrtim;
36#[cfg(i2c)] 41#[cfg(i2c)]
37pub mod i2c; 42pub mod i2c;
38
39#[cfg(crc)]
40pub mod crc;
41pub mod flash;
42#[cfg(all(spi_v1, rcc_f4))] 43#[cfg(all(spi_v1, rcc_f4))]
43pub mod i2s; 44pub mod i2s;
44#[cfg(stm32wb)] 45#[cfg(stm32wb)]
diff --git a/embassy-stm32/src/pwm/mod.rs b/embassy-stm32/src/pwm/mod.rs
index 429a290ee..c4b38ebdb 100644
--- a/embassy-stm32/src/pwm/mod.rs
+++ b/embassy-stm32/src/pwm/mod.rs
@@ -1,5 +1,3 @@
1#[cfg(hrtim_v1)]
2pub mod advanced_pwm;
3pub mod complementary_pwm; 1pub mod complementary_pwm;
4pub mod simple_pwm; 2pub mod simple_pwm;
5 3
@@ -468,22 +466,3 @@ pin_trait!(BreakInputComparator2Pin, CaptureCompare16bitInstance);
468pin_trait!(BreakInput2Pin, CaptureCompare16bitInstance); 466pin_trait!(BreakInput2Pin, CaptureCompare16bitInstance);
469pin_trait!(BreakInput2Comparator1Pin, CaptureCompare16bitInstance); 467pin_trait!(BreakInput2Comparator1Pin, CaptureCompare16bitInstance);
470pin_trait!(BreakInput2Comparator2Pin, CaptureCompare16bitInstance); 468pin_trait!(BreakInput2Comparator2Pin, CaptureCompare16bitInstance);
471
472#[cfg(hrtim_v1)]
473mod hrtim_pins {
474 use super::*;
475
476 pin_trait!(ChannelAPin, HighResolutionCaptureCompare16bitInstance);
477 pin_trait!(ChannelAComplementaryPin, HighResolutionCaptureCompare16bitInstance);
478 pin_trait!(ChannelBPin, HighResolutionCaptureCompare16bitInstance);
479 pin_trait!(ChannelBComplementaryPin, HighResolutionCaptureCompare16bitInstance);
480 pin_trait!(ChannelCPin, HighResolutionCaptureCompare16bitInstance);
481 pin_trait!(ChannelCComplementaryPin, HighResolutionCaptureCompare16bitInstance);
482 pin_trait!(ChannelDPin, HighResolutionCaptureCompare16bitInstance);
483 pin_trait!(ChannelDComplementaryPin, HighResolutionCaptureCompare16bitInstance);
484 pin_trait!(ChannelEPin, HighResolutionCaptureCompare16bitInstance);
485 pin_trait!(ChannelEComplementaryPin, HighResolutionCaptureCompare16bitInstance);
486}
487
488#[cfg(hrtim_v1)]
489pub use hrtim_pins::*;
diff --git a/examples/stm32f334/src/bin/pwm.rs b/examples/stm32f334/src/bin/pwm.rs
index 364119744..2660b10c5 100644
--- a/examples/stm32f334/src/bin/pwm.rs
+++ b/examples/stm32f334/src/bin/pwm.rs
@@ -4,7 +4,7 @@
4 4
5use defmt::*; 5use defmt::*;
6use embassy_executor::Spawner; 6use embassy_executor::Spawner;
7use embassy_stm32::pwm::advanced_pwm::*; 7use embassy_stm32::hrtim::*;
8use embassy_stm32::time::{khz, mhz}; 8use embassy_stm32::time::{khz, mhz};
9use embassy_stm32::Config; 9use embassy_stm32::Config;
10use embassy_time::{Duration, Timer}; 10use embassy_time::{Duration, Timer};