From a88f0028ef2f1c57a66d7c3ed587b1ff2129bec2 Mon Sep 17 00:00:00 2001 From: Bob McWhirter Date: Wed, 14 Jul 2021 14:14:14 -0400 Subject: First shot at async dma usart for stm32. --- examples/stm32l4/src/bin/usart_dma.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'examples') diff --git a/examples/stm32l4/src/bin/usart_dma.rs b/examples/stm32l4/src/bin/usart_dma.rs index cc630e0df..1239bf9c2 100644 --- a/examples/stm32l4/src/bin/usart_dma.rs +++ b/examples/stm32l4/src/bin/usart_dma.rs @@ -17,22 +17,23 @@ use embassy_stm32::usart::{Config, Uart}; use example_common::*; use heapless::String; use stm32l4::stm32l4x5 as pac; +use embassy_stm32::dma_traits::NoDma; +use embassy_traits::uart::Write as AsyncWrite; +use embassy::io::AsyncWriteExt; #[embassy::task] async fn main_task() { let mut p = embassy_stm32::init(Default::default()); let config = Config::default(); - let mut usart = Uart::new(p.UART4, p.PA1, p.PA0, config); + let mut usart = Uart::new(p.UART4, p.PA1, p.PA0, p.DMA1_3, NoDma, config); for n in 0u32.. { let mut s: String<128> = String::new(); core::write!(&mut s, "Hello DMA World {}!\r\n", n).unwrap(); - usart - .write_dma(&mut p.DMA1_3, s.as_bytes()) - .await - .unwrap(); + usart.write( s.as_bytes() ).await; + info!("wrote DMA"); } } -- cgit From 3fd9023fce5a1d376dccfd06e4d319b5fe213033 Mon Sep 17 00:00:00 2001 From: Bob McWhirter Date: Wed, 14 Jul 2021 14:45:54 -0400 Subject: Fix the h7 example. --- examples/stm32h7/src/bin/usart.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/stm32h7/src/bin/usart.rs b/examples/stm32h7/src/bin/usart.rs index b44d712b5..d8e60158b 100644 --- a/examples/stm32h7/src/bin/usart.rs +++ b/examples/stm32h7/src/bin/usart.rs @@ -14,6 +14,7 @@ use embassy::executor::Executor; use embassy::time::Clock; use embassy::util::Forever; use embassy_stm32::usart::{Config, Uart}; +use embassy_stm32::dma_traits::NoDma; use example_common::*; use stm32h7xx_hal as hal; @@ -27,7 +28,7 @@ async fn main_task() { let p = embassy_stm32::init(Default::default()); let config = Config::default(); - let mut usart = Uart::new(p.UART7, p.PF6, p.PF7, config); + let mut usart = Uart::new(p.UART7, p.PF6, p.PF7, NoDma, NoDma, config); usart.bwrite_all(b"Hello Embassy World!\r\n").unwrap(); info!("wrote Hello, starting echo"); -- cgit From 21e94972dc5f19f6a8620b9ef9cb98c84aa4a963 Mon Sep 17 00:00:00 2001 From: Bob McWhirter Date: Wed, 14 Jul 2021 14:55:20 -0400 Subject: Fix more warnings and examples. --- examples/stm32l4/src/bin/usart.rs | 3 ++- examples/stm32l4/src/bin/usart_dma.rs | 5 ++--- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'examples') diff --git a/examples/stm32l4/src/bin/usart.rs b/examples/stm32l4/src/bin/usart.rs index 0b14eeb59..dc0f649b7 100644 --- a/examples/stm32l4/src/bin/usart.rs +++ b/examples/stm32l4/src/bin/usart.rs @@ -18,13 +18,14 @@ use example_common::*; use cortex_m_rt::entry; use stm32l4::stm32l4x5 as pac; +use embassy_stm32::dma_traits::NoDma; #[embassy::task] async fn main_task() { let p = embassy_stm32::init(Default::default()); let config = Config::default(); - let mut usart = Uart::new(p.UART4, p.PA1, p.PA0, config); + let mut usart = Uart::new(p.UART4, p.PA1, p.PA0, NoDma, NoDma, config); usart.bwrite_all(b"Hello Embassy World!\r\n").unwrap(); info!("wrote Hello, starting echo"); diff --git a/examples/stm32l4/src/bin/usart_dma.rs b/examples/stm32l4/src/bin/usart_dma.rs index 1239bf9c2..6a2341859 100644 --- a/examples/stm32l4/src/bin/usart_dma.rs +++ b/examples/stm32l4/src/bin/usart_dma.rs @@ -19,11 +19,10 @@ use heapless::String; use stm32l4::stm32l4x5 as pac; use embassy_stm32::dma_traits::NoDma; use embassy_traits::uart::Write as AsyncWrite; -use embassy::io::AsyncWriteExt; #[embassy::task] async fn main_task() { - let mut p = embassy_stm32::init(Default::default()); + let p = embassy_stm32::init(Default::default()); let config = Config::default(); let mut usart = Uart::new(p.UART4, p.PA1, p.PA0, p.DMA1_3, NoDma, config); @@ -32,7 +31,7 @@ async fn main_task() { let mut s: String<128> = String::new(); core::write!(&mut s, "Hello DMA World {}!\r\n", n).unwrap(); - usart.write( s.as_bytes() ).await; + usart.write( s.as_bytes() ).await.ok(); info!("wrote DMA"); } -- cgit