From 54ada5bae113dbff1f5b76fac2676734f6ddd8eb Mon Sep 17 00:00:00 2001 From: Bob McWhirter Date: Wed, 30 Jun 2021 14:58:28 -0400 Subject: [PATCH] Stub in the DMA bits that aren't yet there. --- embassy-stm32/src/dma/mod.rs | 2 ++ embassy-stm32/src/lib.rs | 2 +- embassy-stm32/src/usart/v3.rs | 3 ++- examples/stm32l4/src/bin/usart.rs | 10 +++++++++- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/embassy-stm32/src/dma/mod.rs b/embassy-stm32/src/dma/mod.rs index 371741ff..466cfa03 100644 --- a/embassy-stm32/src/dma/mod.rs +++ b/embassy-stm32/src/dma/mod.rs @@ -1,9 +1,11 @@ #![macro_use] +#[cfg(dma)] #[cfg_attr(dma_v1, path = "v1.rs")] #[cfg_attr(dma_v2, path = "v2.rs")] mod _version; +#[cfg(dma)] #[allow(unused)] pub use _version::*; diff --git a/embassy-stm32/src/lib.rs b/embassy-stm32/src/lib.rs index 9ba7bbe4..76a6ecd8 100644 --- a/embassy-stm32/src/lib.rs +++ b/embassy-stm32/src/lib.rs @@ -26,7 +26,7 @@ pub mod adc; pub mod clock; #[cfg(dac)] pub mod dac; -#[cfg(dma)] +#[cfg(any(dma, dmamux))] pub mod dma; #[cfg(all(eth, feature = "net"))] pub mod eth; diff --git a/embassy-stm32/src/usart/v3.rs b/embassy-stm32/src/usart/v3.rs index 32850c9c..c45af004 100644 --- a/embassy-stm32/src/usart/v3.rs +++ b/embassy-stm32/src/usart/v3.rs @@ -21,7 +21,8 @@ impl<'d, T: Instance> Uart<'d, T> { ) -> Self { unborrow!(inner, rx, tx); - T::enable(); + // Uncomment once we find all of the H7's UART clocks. + //T::enable(); let pclk_freq = T::frequency(); // TODO: better calculation, including error checking and OVER8 if possible. diff --git a/examples/stm32l4/src/bin/usart.rs b/examples/stm32l4/src/bin/usart.rs index 6b2b1381..5b6d9eaa 100644 --- a/examples/stm32l4/src/bin/usart.rs +++ b/examples/stm32l4/src/bin/usart.rs @@ -58,7 +58,10 @@ fn main() -> ! { w.dbg_stop().set_bit() }); - pp.RCC.ahb1enr.modify(|_, w| w.dma1en().set_bit()); + pp.RCC.ahb1enr.modify(|_, w| { + w.dma1en().set_bit(); + w + }); pp.RCC.ahb2enr.modify(|_, w| { w.gpioaen().set_bit(); @@ -70,6 +73,11 @@ fn main() -> ! { w }); + pp.RCC.apb1enr1.modify(|_, w| { + w.uart4en().set_bit(); + w + }); + pp.RCC.apb2enr.modify(|_, w| { w.syscfgen().set_bit(); w