diff options
| author | Alexandros Liarokapis <[email protected]> | 2024-10-02 13:10:07 +0300 |
|---|---|---|
| committer | Alexandros Liarokapis <[email protected]> | 2024-10-15 12:29:12 +0300 |
| commit | 2ec05da5ddadad9b34c72e8ef1a57a7662a6f0e0 (patch) | |
| tree | debee1403e864e35a39b2d7ae6fb50c7527c4a3a | |
| parent | f0d2ebdc7ead41307155b083790b8450ca2b7eac (diff) | |
simplify if/else handling on ringbuffer
| -rw-r--r-- | embassy-stm32/src/dma/ringbuffer/mod.rs | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/embassy-stm32/src/dma/ringbuffer/mod.rs b/embassy-stm32/src/dma/ringbuffer/mod.rs index a257faa5b..ac4be3e18 100644 --- a/embassy-stm32/src/dma/ringbuffer/mod.rs +++ b/embassy-stm32/src/dma/ringbuffer/mod.rs | |||
| @@ -111,10 +111,8 @@ impl<'a, W: Word> ReadableDmaRingBuffer<'a, W> { | |||
| 111 | let diff = self.write_index.diff(self.cap(), &self.read_index); | 111 | let diff = self.write_index.diff(self.cap(), &self.read_index); |
| 112 | 112 | ||
| 113 | if diff < 0 { | 113 | if diff < 0 { |
| 114 | return Err(Error::DmaUnsynced); | 114 | Err(Error::DmaUnsynced) |
| 115 | } | 115 | } else if diff > self.cap() as isize { |
| 116 | |||
| 117 | if diff > self.cap() as isize { | ||
| 118 | Err(Error::Overrun) | 116 | Err(Error::Overrun) |
| 119 | } else { | 117 | } else { |
| 120 | Ok(diff as usize) | 118 | Ok(diff as usize) |
| @@ -223,11 +221,10 @@ impl<'a, W: Word> WritableDmaRingBuffer<'a, W> { | |||
| 223 | 221 | ||
| 224 | let diff = self.write_index.diff(self.cap(), &self.read_index); | 222 | let diff = self.write_index.diff(self.cap(), &self.read_index); |
| 225 | 223 | ||
| 226 | if diff > self.cap() as isize { | ||
| 227 | return Err(Error::DmaUnsynced); | ||
| 228 | } | ||
| 229 | if diff < 0 { | 224 | if diff < 0 { |
| 230 | Err(Error::Overrun) | 225 | Err(Error::Overrun) |
| 226 | } else if diff > self.cap() as isize { | ||
| 227 | Err(Error::DmaUnsynced) | ||
| 231 | } else { | 228 | } else { |
| 232 | Ok(self.cap().saturating_sub(diff as usize)) | 229 | Ok(self.cap().saturating_sub(diff as usize)) |
| 233 | } | 230 | } |
