diff options
| author | xoviat <[email protected]> | 2025-11-03 16:27:11 -0600 |
|---|---|---|
| committer | xoviat <[email protected]> | 2025-11-03 16:27:11 -0600 |
| commit | afc412dd0be175b6d24daa255a018b07006c5d95 (patch) | |
| tree | 3cd00f4a06a484d34e569dae053c5fd9fa72be32 | |
| parent | efc47c8013e957bd7f8a669e2a7ef24d9eee0cee (diff) | |
fix
| -rw-r--r-- | embassy-stm32/src/adc/ringbuffered.rs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/embassy-stm32/src/adc/ringbuffered.rs b/embassy-stm32/src/adc/ringbuffered.rs index bea981fe2..931ebc2b7 100644 --- a/embassy-stm32/src/adc/ringbuffered.rs +++ b/embassy-stm32/src/adc/ringbuffered.rs | |||
| @@ -265,10 +265,7 @@ impl<'d, T: Instance> RingBufferedAdc<'d, T> { | |||
| 265 | if !r.cr2().read().dma() { | 265 | if !r.cr2().read().dma() { |
| 266 | self.start()?; | 266 | self.start()?; |
| 267 | } | 267 | } |
| 268 | } | ||
| 269 | 268 | ||
| 270 | #[cfg(not(adc_v2))] | ||
| 271 | { | ||
| 272 | // Clear overrun flag if set. | 269 | // Clear overrun flag if set. |
| 273 | if r.sr().read().ovr() { | 270 | if r.sr().read().ovr() { |
| 274 | return self.stop(OverrunError); | 271 | return self.stop(OverrunError); |
| @@ -280,6 +277,14 @@ impl<'d, T: Instance> RingBufferedAdc<'d, T> { | |||
| 280 | } | 277 | } |
| 281 | } | 278 | } |
| 282 | 279 | ||
| 280 | #[cfg(not(adc_v2))] | ||
| 281 | { | ||
| 282 | // Start background receive if it was not already started | ||
| 283 | if !r.cr().read().adstart() { | ||
| 284 | self.start_continuous_sampling(); | ||
| 285 | } | ||
| 286 | } | ||
| 287 | |||
| 283 | self.ring_buf.read_exact(measurements).await.map_err(|_| OverrunError) | 288 | self.ring_buf.read_exact(measurements).await.map_err(|_| OverrunError) |
| 284 | } | 289 | } |
| 285 | 290 | ||
