diff --git a/src/pwm.rs b/src/pwm.rs index ff22725..366c1c8 100644 --- a/src/pwm.rs +++ b/src/pwm.rs @@ -2,30 +2,23 @@ use crate::gpio; use crate::timer; -use core::marker::PhantomData; use hal; /// pwm -pub struct PwmBinding -{ +pub struct PwmBinding { pin: P, channel: C, - _af: PhantomData, } -impl - PwmBinding -{ +impl PwmBinding { /// Consumes PwmBinding returning pin and channel pub fn release(self) -> (P, C) { (self.pin, self.channel) } } -impl hal::PwmPin - for PwmBinding +impl hal::PwmPin + for PwmBinding { type Duty = u32; fn disable(&mut self) { @@ -77,8 +70,7 @@ macro_rules! pwm { gpio::$PIN>; type Output = PwmBinding, - gpio::$AF>; + timer::Pwm1>>; fn to_pwm(self, channel: timer::$TIM::Channel, sp: SP) @@ -89,16 +81,13 @@ macro_rules! pwm { .alt_fn(gpio::$AF); let mut channel = channel.mode(timer::Pwm1); channel.preload($CHPE); - PwmBinding { pin, - channel, - _af: PhantomData } + PwmBinding { pin, channel } } } impl PwmBinding, - timer::$TIM::Channel, - gpio::$AF> + timer::$TIM::Channel> { /// Modify channel's preload pub fn channel_preload(&mut self, enabled: bool) {