diff options
| author | rafael <[email protected]> | 2024-07-14 16:35:05 +0200 |
|---|---|---|
| committer | rafael <[email protected]> | 2024-07-14 16:35:05 +0200 |
| commit | 08f1454527d832f80f6816f7672d2cb91dd6e848 (patch) | |
| tree | 6e1008cb1b4ede52b7038ee595fdf5403e8c0064 /embassy-nrf/src | |
| parent | f5e3f31df77056ddd5ffe376ed5dc829ca851de5 (diff) | |
nrf
Diffstat (limited to 'embassy-nrf/src')
| -rw-r--r-- | embassy-nrf/src/buffered_uarte.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/embassy-nrf/src/buffered_uarte.rs b/embassy-nrf/src/buffered_uarte.rs index 8e4064aaa..ef34e2e32 100644 --- a/embassy-nrf/src/buffered_uarte.rs +++ b/embassy-nrf/src/buffered_uarte.rs | |||
| @@ -766,6 +766,12 @@ impl<'d, U: UarteInstance, T: TimerInstance> BufferedUarteRx<'d, U, T> { | |||
| 766 | rx.pop_done(amt); | 766 | rx.pop_done(amt); |
| 767 | U::regs().intenset.write(|w| w.rxstarted().set()); | 767 | U::regs().intenset.write(|w| w.rxstarted().set()); |
| 768 | } | 768 | } |
| 769 | |||
| 770 | /// we are ready to read if there is data in the buffer | ||
| 771 | fn read_ready() -> Result<bool, Error> { | ||
| 772 | let state = T::buffered_state(); | ||
| 773 | Ok(!state.rx_buf.is_empty()) | ||
| 774 | } | ||
| 769 | } | 775 | } |
| 770 | 776 | ||
| 771 | impl<'a, U: UarteInstance, T: TimerInstance> Drop for BufferedUarteRx<'a, U, T> { | 777 | impl<'a, U: UarteInstance, T: TimerInstance> Drop for BufferedUarteRx<'a, U, T> { |
| @@ -827,6 +833,18 @@ mod _embedded_io { | |||
| 827 | } | 833 | } |
| 828 | } | 834 | } |
| 829 | 835 | ||
| 836 | impl<'d, U: UarteInstance, T: TimerInstance + 'd> embedded_io_async::ReadReady for BufferedUarte<'d, U, T> { | ||
| 837 | fn read_ready(&mut self) -> Result<bool, Self::Error> { | ||
| 838 | BufferedUarteRx::<'d, T>::read_ready() | ||
| 839 | } | ||
| 840 | } | ||
| 841 | |||
| 842 | impl<'d, U: UarteInstance, T: TimerInstance + 'd> embedded_io_async::ReadReady for BufferedUarteRx<'d, U, T> { | ||
| 843 | fn read_ready(&mut self) -> Result<bool, Self::Error> { | ||
| 844 | Self::read_ready() | ||
| 845 | } | ||
| 846 | } | ||
| 847 | |||
| 830 | impl<'d, U: UarteInstance, T: TimerInstance> embedded_io_async::BufRead for BufferedUarte<'d, U, T> { | 848 | impl<'d, U: UarteInstance, T: TimerInstance> embedded_io_async::BufRead for BufferedUarte<'d, U, T> { |
| 831 | async fn fill_buf(&mut self) -> Result<&[u8], Self::Error> { | 849 | async fn fill_buf(&mut self) -> Result<&[u8], Self::Error> { |
| 832 | self.fill_buf().await | 850 | self.fill_buf().await |
