From 1f1ace4ced0c46608c1291a93c7c7c0f376ad5a3 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Sun, 21 Jul 2024 13:10:22 -0700 Subject: [PATCH] do the math once instead of per-sample --- firmware/hw_layer/ports/stm32/stm32_adc_v2.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/firmware/hw_layer/ports/stm32/stm32_adc_v2.cpp b/firmware/hw_layer/ports/stm32/stm32_adc_v2.cpp index 6e7e43f46c..f44d2f0e32 100644 --- a/firmware/hw_layer/ports/stm32/stm32_adc_v2.cpp +++ b/firmware/hw_layer/ports/stm32/stm32_adc_v2.cpp @@ -158,7 +158,7 @@ static constexpr ADCConversionGroup convGroupSlow = { static NO_CACHE adcsample_t slowSampleBuffer[SLOW_ADC_OVERSAMPLE * adcChannelCount]; -static bool readBatch(adcsample_t* convertedSamples, size_t start) { +static bool readBatch(adcsample_t* convertedSamples) { msg_t result = adcConvert(&ADCD1, &convGroupSlow, slowSampleBuffer, SLOW_ADC_OVERSAMPLE); // If something went wrong - try again later @@ -176,7 +176,7 @@ static bool readBatch(adcsample_t* convertedSamples, size_t start) { } adcsample_t value = static_cast(sum / SLOW_ADC_OVERSAMPLE); - convertedSamples[start + i] = value; + convertedSamples[i] = value; } return true; @@ -190,7 +190,7 @@ bool readSlowAnalogInputs(adcsample_t* convertedSamples) { #ifdef ADC_MUX_PIN muxControl.setValue(1); // read the second batch, starting where we left off - result &= readBatch(convertedSamples, adcChannelCount); + result &= readBatch(convertedSamples + adcChannelCount); muxControl.setValue(0); #endif