diff --git a/components/esp_adc/Kconfig b/components/esp_adc/Kconfig index 87a8fbe567..4d8e4205e8 100644 --- a/components/esp_adc/Kconfig +++ b/components/esp_adc/Kconfig @@ -41,7 +41,19 @@ menu "ADC and ADC Calibration" This option will allow the ADC calibration component to use Lookup Tables to correct for non-linear behavior in 11db attenuation. Other attenuations do not exhibit non-linear behavior hence will not be affected by this option. - endmenu + config ADC_DISABLE_DAC_OUTPUT + depends on SOC_DAC_SUPPORTED + bool "Disable DAC when ADC2 is in use" + default y + help + By default, this is set. The ADC oneshot driver will disable the output of the + corresponding DAC channels: + ESP32: IO25 and IO26 + ESP32S2: IO17 and IO18 + + Disable this option so as to measure the output of DAC by internal ADC, for test usage. + + endmenu diff --git a/components/hal/adc_oneshot_hal.c b/components/hal/adc_oneshot_hal.c index e8597f62f3..b7664aa0c9 100644 --- a/components/hal/adc_oneshot_hal.c +++ b/components/hal/adc_oneshot_hal.c @@ -25,7 +25,7 @@ #endif -#if SOC_DAC_SUPPORTED +#if CONFIG_ADC_DISABLE_DAC_OUTPUT // To disable DAC, workarounds, see this function body to know more static void s_disable_dac(adc_oneshot_hal_ctx_t *hal, adc_channel_t channel); #endif @@ -52,7 +52,7 @@ void adc_oneshot_hal_setup(adc_oneshot_hal_ctx_t *hal, adc_channel_t chan) adc_ll_amp_disable(); //Currently the LNA is not open, close it by default. #endif -#if SOC_DAC_SUPPORTED +#if CONFIG_ADC_DISABLE_DAC_OUTPUT s_disable_dac(hal, chan); #endif @@ -144,7 +144,7 @@ bool adc_oneshot_hal_convert(adc_oneshot_hal_ctx_t *hal, int *out_raw) /*--------------------------------------------------------------- Workarounds ---------------------------------------------------------------*/ -#if SOC_DAC_SUPPORTED +#if CONFIG_ADC_DISABLE_DAC_OUTPUT static void s_disable_dac(adc_oneshot_hal_ctx_t *hal, adc_channel_t channel) { /**