diff options
Diffstat (limited to 'embassy-stm32/src/usart/ringbuffered.rs')
| -rw-r--r-- | embassy-stm32/src/usart/ringbuffered.rs | 38 |
1 files changed, 15 insertions, 23 deletions
diff --git a/embassy-stm32/src/usart/ringbuffered.rs b/embassy-stm32/src/usart/ringbuffered.rs index eceabbe9a..b8d17e4e4 100644 --- a/embassy-stm32/src/usart/ringbuffered.rs +++ b/embassy-stm32/src/usart/ringbuffered.rs | |||
| @@ -7,7 +7,7 @@ use embassy_embedded_hal::SetConfig; | |||
| 7 | use embassy_hal_internal::PeripheralRef; | 7 | use embassy_hal_internal::PeripheralRef; |
| 8 | use futures::future::{select, Either}; | 8 | use futures::future::{select, Either}; |
| 9 | 9 | ||
| 10 | use super::{clear_interrupt_flags, rdr, reconfigure, sr, BasicInstance, Config, ConfigError, Error, UartRx}; | 10 | use super::{clear_interrupt_flags, rdr, reconfigure, sr, BasicInstance, Config, ConfigError, Error, RxDma, UartRx}; |
| 11 | use crate::dma::ReadableRingBuffer; | 11 | use crate::dma::ReadableRingBuffer; |
| 12 | use crate::usart::{Regs, Sr}; | 12 | use crate::usart::{Regs, Sr}; |
| 13 | 13 | ||
| @@ -240,28 +240,20 @@ fn clear_idle_flag(r: Regs) -> Sr { | |||
| 240 | sr | 240 | sr |
| 241 | } | 241 | } |
| 242 | 242 | ||
| 243 | #[cfg(all(feature = "unstable-traits", feature = "nightly"))] | 243 | impl<T, Rx> embedded_io_async::ErrorType for RingBufferedUartRx<'_, T, Rx> |
| 244 | mod eio { | 244 | where |
| 245 | use embedded_io_async::{ErrorType, Read}; | 245 | T: BasicInstance, |
| 246 | 246 | Rx: RxDma<T>, | |
| 247 | use super::RingBufferedUartRx; | 247 | { |
| 248 | use crate::usart::{BasicInstance, Error, RxDma}; | 248 | type Error = Error; |
| 249 | 249 | } | |
| 250 | impl<T, Rx> ErrorType for RingBufferedUartRx<'_, T, Rx> | ||
| 251 | where | ||
| 252 | T: BasicInstance, | ||
| 253 | Rx: RxDma<T>, | ||
| 254 | { | ||
| 255 | type Error = Error; | ||
| 256 | } | ||
| 257 | 250 | ||
| 258 | impl<T, Rx> Read for RingBufferedUartRx<'_, T, Rx> | 251 | impl<T, Rx> embedded_io_async::Read for RingBufferedUartRx<'_, T, Rx> |
| 259 | where | 252 | where |
| 260 | T: BasicInstance, | 253 | T: BasicInstance, |
| 261 | Rx: RxDma<T>, | 254 | Rx: RxDma<T>, |
| 262 | { | 255 | { |
| 263 | async fn read(&mut self, buf: &mut [u8]) -> Result<usize, Self::Error> { | 256 | async fn read(&mut self, buf: &mut [u8]) -> Result<usize, Self::Error> { |
| 264 | self.read(buf).await | 257 | self.read(buf).await |
| 265 | } | ||
| 266 | } | 258 | } |
| 267 | } | 259 | } |
