From d4e5bea0a3859991c38d33154945e6c0ca5c7cbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20Nohlg=C3=A5rd?= <joakim.nohlgard@eistec.se> Date: Fri, 23 Feb 2018 08:40:04 +0100 Subject: [PATCH] efm32: Use different values for each unsupported ADC res --- cpu/efm32/include/periph_cpu.h | 10 +++++----- cpu/efm32/periph/adc.c | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cpu/efm32/include/periph_cpu.h b/cpu/efm32/include/periph_cpu.h index e0c5fbfb97..f131e67fe7 100644 --- a/cpu/efm32/include/periph_cpu.h +++ b/cpu/efm32/include/periph_cpu.h @@ -56,7 +56,7 @@ extern "C" { /** * @brief Internal define to note that resolution is not supported. */ -#define ADC_MODE_UNDEF (0xff) +#define ADC_MODE_UNDEF(x) (ADC_MODE(x, 15)) #ifndef DOXYGEN /** @@ -65,12 +65,12 @@ extern "C" { */ #define HAVE_ADC_RES_T typedef enum { - ADC_RES_6BIT = ADC_MODE(adcRes6Bit, 0), /**< ADC resolution: 6 bit */ - ADC_RES_8BIT = ADC_MODE(adcRes8Bit, 0), /**< ADC resolution: 8 bit */ + ADC_RES_6BIT = ADC_MODE(adcRes6Bit, 0), /**< ADC resolution: 6 bit */ + ADC_RES_8BIT = ADC_MODE(adcRes8Bit, 0), /**< ADC resolution: 8 bit */ ADC_RES_10BIT = ADC_MODE(adcRes12Bit, 2), /**< ADC resolution: 10 bit (shifted from 12 bit) */ ADC_RES_12BIT = ADC_MODE(adcRes12Bit, 0), /**< ADC resolution: 12 bit */ - ADC_RES_14BIT = ADC_MODE_UNDEF, /**< ADC resolution: 14 bit (unsupported) */ - ADC_RES_16BIT = ADC_MODE_UNDEF, /**< ADC resolution: 16 bit (unsupported) */ + ADC_RES_14BIT = ADC_MODE_UNDEF(0), /**< ADC resolution: 14 bit (unsupported) */ + ADC_RES_16BIT = ADC_MODE_UNDEF(1), /**< ADC resolution: 16 bit (unsupported) */ } adc_res_t; /** @} */ #endif /* ndef DOXYGEN */ diff --git a/cpu/efm32/periph/adc.c b/cpu/efm32/periph/adc.c index a015ab08b6..01b2e52429 100644 --- a/cpu/efm32/periph/adc.c +++ b/cpu/efm32/periph/adc.c @@ -62,7 +62,7 @@ int adc_init(adc_t line) int adc_sample(adc_t line, adc_res_t res) { /* resolutions larger than 12 bits are not supported */ - if (res == ADC_MODE_UNDEF) { + if (res >= ADC_MODE_UNDEF(0)) { return -1; } -- GitLab