From f7f8332ddf877c15f89c525fbfb34f5ff9f8f453 Mon Sep 17 00:00:00 2001 From: Damien George Date: Thu, 15 Jun 2023 10:58:53 +1000 Subject: [PATCH] stm32/machine_adc: Handle ADC resolution less than 8 bits on all MCUs. All MCUs can have 6-bit resolution; see adc_cr_to_bits_table. Signed-off-by: Damien George --- ports/stm32/machine_adc.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/ports/stm32/machine_adc.c b/ports/stm32/machine_adc.c index 34319e9753..f68ed0ec84 100644 --- a/ports/stm32/machine_adc.c +++ b/ports/stm32/machine_adc.c @@ -374,12 +374,10 @@ uint32_t adc_config_and_read_u16(ADC_TypeDef *adc, uint32_t channel, uint32_t sa // Scale raw reading to 16 bit value using a Taylor expansion (for bits <= 16). uint32_t bits = adc_get_bits(adc); - #if defined(STM32H7) if (bits < 8) { // For 6 and 7 bits return raw << (16 - bits) | raw << (16 - 2 * bits) | raw >> (3 * bits - 16); } - #endif return raw << (16 - bits) | raw >> (2 * bits - 16); }