diff options
Diffstat (limited to 'embassy-nrf/src/buffered_uarte.rs')
| -rw-r--r-- | embassy-nrf/src/buffered_uarte.rs | 66 |
1 files changed, 17 insertions, 49 deletions
diff --git a/embassy-nrf/src/buffered_uarte.rs b/embassy-nrf/src/buffered_uarte.rs index 9c8fe65f4..ea25236f0 100644 --- a/embassy-nrf/src/buffered_uarte.rs +++ b/embassy-nrf/src/buffered_uarte.rs | |||
| @@ -15,7 +15,7 @@ | |||
| 15 | 15 | ||
| 16 | use core::cell::RefCell; | 16 | use core::cell::RefCell; |
| 17 | use core::cmp::min; | 17 | use core::cmp::min; |
| 18 | use core::future::{poll_fn, Future}; | 18 | use core::future::poll_fn; |
| 19 | use core::sync::atomic::{compiler_fence, Ordering}; | 19 | use core::sync::atomic::{compiler_fence, Ordering}; |
| 20 | use core::task::Poll; | 20 | use core::task::Poll; |
| 21 | 21 | ||
| @@ -341,32 +341,20 @@ impl<'u, 'd, U: UarteInstance, T: TimerInstance> embedded_io::Io for BufferedUar | |||
| 341 | } | 341 | } |
| 342 | 342 | ||
| 343 | impl<'d, U: UarteInstance, T: TimerInstance> embedded_io::asynch::Read for BufferedUarte<'d, U, T> { | 343 | impl<'d, U: UarteInstance, T: TimerInstance> embedded_io::asynch::Read for BufferedUarte<'d, U, T> { |
| 344 | type ReadFuture<'a> = impl Future<Output = Result<usize, Self::Error>> + 'a | 344 | async fn read(&mut self, buf: &mut [u8]) -> Result<usize, Self::Error> { |
| 345 | where | 345 | self.inner_read(buf).await |
| 346 | Self: 'a; | ||
| 347 | |||
| 348 | fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> Self::ReadFuture<'a> { | ||
| 349 | self.inner_read(buf) | ||
| 350 | } | 346 | } |
| 351 | } | 347 | } |
| 352 | 348 | ||
| 353 | impl<'u, 'd: 'u, U: UarteInstance, T: TimerInstance> embedded_io::asynch::Read for BufferedUarteRx<'u, 'd, U, T> { | 349 | impl<'u, 'd: 'u, U: UarteInstance, T: TimerInstance> embedded_io::asynch::Read for BufferedUarteRx<'u, 'd, U, T> { |
| 354 | type ReadFuture<'a> = impl Future<Output = Result<usize, Self::Error>> + 'a | 350 | async fn read(&mut self, buf: &mut [u8]) -> Result<usize, Self::Error> { |
| 355 | where | 351 | self.inner.inner_read(buf).await |
| 356 | Self: 'a; | ||
| 357 | |||
| 358 | fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> Self::ReadFuture<'a> { | ||
| 359 | self.inner.inner_read(buf) | ||
| 360 | } | 352 | } |
| 361 | } | 353 | } |
| 362 | 354 | ||
| 363 | impl<'d, U: UarteInstance, T: TimerInstance> embedded_io::asynch::BufRead for BufferedUarte<'d, U, T> { | 355 | impl<'d, U: UarteInstance, T: TimerInstance> embedded_io::asynch::BufRead for BufferedUarte<'d, U, T> { |
| 364 | type FillBufFuture<'a> = impl Future<Output = Result<&'a [u8], Self::Error>> + 'a | 356 | async fn fill_buf(&mut self) -> Result<&[u8], Self::Error> { |
| 365 | where | 357 | self.inner_fill_buf().await |
| 366 | Self: 'a; | ||
| 367 | |||
| 368 | fn fill_buf<'a>(&'a mut self) -> Self::FillBufFuture<'a> { | ||
| 369 | self.inner_fill_buf() | ||
| 370 | } | 358 | } |
| 371 | 359 | ||
| 372 | fn consume(&mut self, amt: usize) { | 360 | fn consume(&mut self, amt: usize) { |
| @@ -375,12 +363,8 @@ impl<'d, U: UarteInstance, T: TimerInstance> embedded_io::asynch::BufRead for Bu | |||
| 375 | } | 363 | } |
| 376 | 364 | ||
| 377 | impl<'u, 'd: 'u, U: UarteInstance, T: TimerInstance> embedded_io::asynch::BufRead for BufferedUarteRx<'u, 'd, U, T> { | 365 | impl<'u, 'd: 'u, U: UarteInstance, T: TimerInstance> embedded_io::asynch::BufRead for BufferedUarteRx<'u, 'd, U, T> { |
| 378 | type FillBufFuture<'a> = impl Future<Output = Result<&'a [u8], Self::Error>> + 'a | 366 | async fn fill_buf(&mut self) -> Result<&[u8], Self::Error> { |
| 379 | where | 367 | self.inner.inner_fill_buf().await |
| 380 | Self: 'a; | ||
| 381 | |||
| 382 | fn fill_buf<'a>(&'a mut self) -> Self::FillBufFuture<'a> { | ||
| 383 | self.inner.inner_fill_buf() | ||
| 384 | } | 368 | } |
| 385 | 369 | ||
| 386 | fn consume(&mut self, amt: usize) { | 370 | fn consume(&mut self, amt: usize) { |
| @@ -389,38 +373,22 @@ impl<'u, 'd: 'u, U: UarteInstance, T: TimerInstance> embedded_io::asynch::BufRea | |||
| 389 | } | 373 | } |
| 390 | 374 | ||
| 391 | impl<'d, U: UarteInstance, T: TimerInstance> embedded_io::asynch::Write for BufferedUarte<'d, U, T> { | 375 | impl<'d, U: UarteInstance, T: TimerInstance> embedded_io::asynch::Write for BufferedUarte<'d, U, T> { |
| 392 | type WriteFuture<'a> = impl Future<Output = Result<usize, Self::Error>> + 'a | 376 | async fn write(&mut self, buf: &[u8]) -> Result<usize, Self::Error> { |
| 393 | where | 377 | self.inner_write(buf).await |
| 394 | Self: 'a; | ||
| 395 | |||
| 396 | fn write<'a>(&'a mut self, buf: &'a [u8]) -> Self::WriteFuture<'a> { | ||
| 397 | self.inner_write(buf) | ||
| 398 | } | 378 | } |
| 399 | 379 | ||
| 400 | type FlushFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a | 380 | async fn flush(&mut self) -> Result<(), Self::Error> { |
| 401 | where | 381 | self.inner_flush().await |
| 402 | Self: 'a; | ||
| 403 | |||
| 404 | fn flush<'a>(&'a mut self) -> Self::FlushFuture<'a> { | ||
| 405 | self.inner_flush() | ||
| 406 | } | 382 | } |
| 407 | } | 383 | } |
| 408 | 384 | ||
| 409 | impl<'u, 'd: 'u, U: UarteInstance, T: TimerInstance> embedded_io::asynch::Write for BufferedUarteTx<'u, 'd, U, T> { | 385 | impl<'u, 'd: 'u, U: UarteInstance, T: TimerInstance> embedded_io::asynch::Write for BufferedUarteTx<'u, 'd, U, T> { |
| 410 | type WriteFuture<'a> = impl Future<Output = Result<usize, Self::Error>> + 'a | 386 | async fn write(&mut self, buf: &[u8]) -> Result<usize, Self::Error> { |
| 411 | where | 387 | self.inner.inner_write(buf).await |
| 412 | Self: 'a; | ||
| 413 | |||
| 414 | fn write<'a>(&'a mut self, buf: &'a [u8]) -> Self::WriteFuture<'a> { | ||
| 415 | self.inner.inner_write(buf) | ||
| 416 | } | 388 | } |
| 417 | 389 | ||
| 418 | type FlushFuture<'a> = impl Future<Output = Result<(), Self::Error>> + 'a | 390 | async fn flush(&mut self) -> Result<(), Self::Error> { |
| 419 | where | 391 | self.inner.inner_flush().await |
| 420 | Self: 'a; | ||
| 421 | |||
| 422 | fn flush<'a>(&'a mut self) -> Self::FlushFuture<'a> { | ||
| 423 | self.inner.inner_flush() | ||
| 424 | } | 392 | } |
| 425 | } | 393 | } |
| 426 | 394 | ||
