From 0dec3cc2188512db3b661a38800c669dd7aba9f8 Mon Sep 17 00:00:00 2001 From: Edward Firmo <94725493+edwardtfn@users.noreply.github.com> Date: Tue, 10 Dec 2024 02:00:19 +0100 Subject: [PATCH] Reverting definitions This was at least working... I will look at an alternative to pass all the tests. --- esphome/components/adc/adc_sensor.h | 52 +++++++++++++---------------- 1 file changed, 24 insertions(+), 28 deletions(-) diff --git a/esphome/components/adc/adc_sensor.h b/esphome/components/adc/adc_sensor.h index 85ae4f354d..6d5f94731f 100644 --- a/esphome/components/adc/adc_sensor.h +++ b/esphome/components/adc/adc_sensor.h @@ -9,6 +9,7 @@ #ifdef USE_ESP32 #if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 0) +#include "hal/adc_types.h" // This defines ADC_CHANNEL_MAX #include "esp_adc/adc_oneshot.h" #include "esp_adc/adc_cali.h" #include "esp_adc/adc_cali_scheme.h" @@ -23,33 +24,28 @@ namespace adc { #ifdef USE_ESP32 #if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 0) -// Map legacy types to new ones for v5 -typedef adc_channel_t adc1_channel_t; -typedef adc_channel_t adc2_channel_t; +// Map old channel names to new ones for compatibility +#define ADC1_CHANNEL_0 ADC_CHANNEL_0 +#define ADC1_CHANNEL_1 ADC_CHANNEL_1 +#define ADC1_CHANNEL_2 ADC_CHANNEL_2 +#define ADC1_CHANNEL_3 ADC_CHANNEL_3 +#define ADC1_CHANNEL_4 ADC_CHANNEL_4 +#define ADC1_CHANNEL_5 ADC_CHANNEL_5 +#define ADC1_CHANNEL_6 ADC_CHANNEL_6 +#define ADC1_CHANNEL_7 ADC_CHANNEL_7 +#define ADC1_CHANNEL_MAX ADC_CHANNEL_MAX -// ADC1 channel mapping -inline constexpr adc_channel_t ADC1_CHANNEL_0 = ADC_CHANNEL_0; -inline constexpr adc_channel_t ADC1_CHANNEL_1 = ADC_CHANNEL_1; -inline constexpr adc_channel_t ADC1_CHANNEL_2 = ADC_CHANNEL_2; -inline constexpr adc_channel_t ADC1_CHANNEL_3 = ADC_CHANNEL_3; -inline constexpr adc_channel_t ADC1_CHANNEL_4 = ADC_CHANNEL_4; -inline constexpr adc_channel_t ADC1_CHANNEL_5 = ADC_CHANNEL_5; -inline constexpr adc_channel_t ADC1_CHANNEL_6 = ADC_CHANNEL_6; -inline constexpr adc_channel_t ADC1_CHANNEL_7 = ADC_CHANNEL_7; -inline constexpr adc_channel_t ADC1_CHANNEL_MAX = ADC_CHANNEL_MAX; - -// ADC2 channel mapping -inline constexpr adc_channel_t ADC2_CHANNEL_0 = ADC_CHANNEL_0; -inline constexpr adc_channel_t ADC2_CHANNEL_1 = ADC_CHANNEL_1; -inline constexpr adc_channel_t ADC2_CHANNEL_2 = ADC_CHANNEL_2; -inline constexpr adc_channel_t ADC2_CHANNEL_3 = ADC_CHANNEL_3; -inline constexpr adc_channel_t ADC2_CHANNEL_4 = ADC_CHANNEL_4; -inline constexpr adc_channel_t ADC2_CHANNEL_5 = ADC_CHANNEL_5; -inline constexpr adc_channel_t ADC2_CHANNEL_6 = ADC_CHANNEL_6; -inline constexpr adc_channel_t ADC2_CHANNEL_7 = ADC_CHANNEL_7; -inline constexpr adc_channel_t ADC2_CHANNEL_8 = ADC_CHANNEL_8; -inline constexpr adc_channel_t ADC2_CHANNEL_9 = ADC_CHANNEL_9; -inline constexpr adc_channel_t ADC2_CHANNEL_MAX = ADC_CHANNEL_MAX; +#define ADC2_CHANNEL_0 ADC_CHANNEL_0 +#define ADC2_CHANNEL_1 ADC_CHANNEL_1 +#define ADC2_CHANNEL_2 ADC_CHANNEL_2 +#define ADC2_CHANNEL_3 ADC_CHANNEL_3 +#define ADC2_CHANNEL_4 ADC_CHANNEL_4 +#define ADC2_CHANNEL_5 ADC_CHANNEL_5 +#define ADC2_CHANNEL_6 ADC_CHANNEL_6 +#define ADC2_CHANNEL_7 ADC_CHANNEL_7 +#define ADC2_CHANNEL_8 ADC_CHANNEL_8 +#define ADC2_CHANNEL_9 ADC_CHANNEL_9 +#define ADC2_CHANNEL_MAX ADC_CHANNEL_MAX #endif // ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 0) // clang-format off @@ -117,7 +113,7 @@ class ADCSensor : public sensor::Sensor, public PollingComponent, public voltage /// Configure the ADC to use a specific channel on ADC1. /// This sets the channel for single-shot or continuous ADC measurements. /// @param channel The ADC1 channel to configure, such as ADC_CHANNEL_0, ADC_CHANNEL_3, etc. - void set_channel1(adc1_channel_t channel) { + void set_channel1(adc_channel_t channel) { this->channel_ = channel; this->is_adc1_ = true; this->do_setup_ = true; @@ -127,7 +123,7 @@ class ADCSensor : public sensor::Sensor, public PollingComponent, public voltage /// This sets the channel for single-shot or continuous ADC measurements. /// ADC2 is shared with other peripherals, so care must be taken to avoid conflicts. /// @param channel The ADC2 channel to configure, such as ADC_CHANNEL_0, ADC_CHANNEL_3, etc. - void set_channel2(adc2_channel_t channel) { + void set_channel2(adc_channel_t channel) { this->channel_ = channel; this->is_adc1_ = false; this->do_setup_ = true;