diff --git a/embassy-stm32/src/dac/mod.rs b/embassy-stm32/src/dac/mod.rs index 31a2d886..3dee242e 100644 --- a/embassy-stm32/src/dac/mod.rs +++ b/embassy-stm32/src/dac/mod.rs @@ -213,8 +213,9 @@ impl<'d, T: Instance, Tx> DacCh1<'d, T, Tx> { pub fn new( peri: impl Peripheral
+ 'd, dma: impl Peripheral
+ 'd, - _pin: impl Peripheral
> + 'd, + pin: impl Peripheral
> + crate::gpio::sealed::Pin + 'd, ) -> Self { + pin.set_as_analog(); into_ref!(peri, dma); T::enable(); T::reset(); @@ -324,8 +325,9 @@ impl<'d, T: Instance, Tx> DacCh2<'d, T, Tx> { pub fn new( _peri: impl Peripheral
+ 'd, dma: impl Peripheral
+ 'd, - _pin: impl Peripheral
> + 'd, + pin: impl Peripheral
> + crate::gpio::sealed::Pin + 'd, ) -> Self { + pin.set_as_analog(); into_ref!(_peri, dma); T::enable(); T::reset(); @@ -439,9 +441,11 @@ impl<'d, T: Instance, TxCh1, TxCh2> Dac<'d, T, TxCh1, TxCh2> { peri: impl Peripheral
+ 'd, dma_ch1: impl Peripheral
+ 'd, dma_ch2: impl Peripheral
+ 'd, - _pin_ch1: impl Peripheral
> + 'd, - _pin_ch2: impl Peripheral
> + 'd, + pin_ch1: impl Peripheral
> + crate::gpio::sealed::Pin + 'd, + pin_ch2: impl Peripheral
> + crate::gpio::sealed::Pin + 'd, ) -> Self { + pin_ch1.set_as_analog(); + pin_ch2.set_as_analog(); into_ref!(peri, dma_ch1, dma_ch2); T::enable(); T::reset();