summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriabdalkader <i.abdalkader@gmail.com>2022-01-31 19:12:48 +0200
committerDamien George <damien@micropython.org>2022-02-04 10:42:38 +1100
commite5df4a96fa85ad4cf10d82b3cd5f8ca8b279050b (patch)
tree6a8370fbc0c06bf9804d4a5b888c052a915de7ee
parentae5f647a2d294cf940367918fbb250f1a9c0c8c0 (diff)
stm32/adc: Fix L4 ADC channel numbers.
Use HAL macro to map decimal numbers to channel numbers. This is needed since updating L4 HAL v1.17.0 in a0f5b3148a5c276aa1abf7b77b0964eec80cda16. Fixes issue #8233.
-rw-r--r--ports/stm32/adc.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/ports/stm32/adc.c b/ports/stm32/adc.c
index 2e52fb07a..497bf5339 100644
--- a/ports/stm32/adc.c
+++ b/ports/stm32/adc.c
@@ -214,11 +214,7 @@ STATIC bool is_adcx_channel(int channel) {
#elif defined(STM32H7)
return __HAL_ADC_IS_CHANNEL_INTERNAL(channel)
|| IS_ADC_CHANNEL(__HAL_ADC_DECIMAL_NB_TO_CHANNEL(channel));
- #elif defined(STM32L4)
- ADC_HandleTypeDef handle;
- handle.Instance = ADCx;
- return IS_ADC_CHANNEL(&handle, channel);
- #elif defined(STM32G4) || defined(STM32WB)
+ #elif defined(STM32G4) || defined(STM32L4) || defined(STM32WB)
ADC_HandleTypeDef handle;
handle.Instance = ADCx;
return __HAL_ADC_IS_CHANNEL_INTERNAL(channel)
@@ -338,7 +334,7 @@ STATIC void adc_init_single(pyb_obj_adc_t *adc_obj) {
STATIC void adc_config_channel(ADC_HandleTypeDef *adc_handle, uint32_t channel) {
ADC_ChannelConfTypeDef sConfig;
- #if defined(STM32G4) || defined(STM32H7) || defined(STM32WB)
+ #if defined(STM32G4) || defined(STM32H7) || defined(STM32L4) || defined(STM32WB)
sConfig.Rank = ADC_REGULAR_RANK_1;
if (__HAL_ADC_IS_CHANNEL_INTERNAL(channel) == 0) {
channel = __HAL_ADC_DECIMAL_NB_TO_CHANNEL(channel);