From afc412dd0be175b6d24daa255a018b07006c5d95 Mon Sep 17 00:00:00 2001 From: xoviat Date: Mon, 3 Nov 2025 16:27:11 -0600 Subject: fix --- embassy-stm32/src/adc/ringbuffered.rs | 11 ++++++++--- 1 file 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> { if !r.cr2().read().dma() { self.start()?; } - } - #[cfg(not(adc_v2))] - { // Clear overrun flag if set. if r.sr().read().ovr() { return self.stop(OverrunError); @@ -280,6 +277,14 @@ impl<'d, T: Instance> RingBufferedAdc<'d, T> { } } + #[cfg(not(adc_v2))] + { + // Start background receive if it was not already started + if !r.cr().read().adstart() { + self.start_continuous_sampling(); + } + } + self.ring_buf.read_exact(measurements).await.map_err(|_| OverrunError) } -- cgit