From 8bcef5abb0c3c919acba6549a5262374c8356d85 Mon Sep 17 00:00:00 2001 From: Armando Date: Thu, 6 Jul 2023 17:28:49 +0800 Subject: [PATCH] refactor(adc): maintain s_adc_tsen_enabled in adc driver --- components/esp_adc/adc_oneshot.c | 5 +++++ components/ulp/ulp_common/ulp_adc.c | 2 -- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/components/esp_adc/adc_oneshot.c b/components/esp_adc/adc_oneshot.c index cbdb1bc4dd..f842b06f34 100644 --- a/components/esp_adc/adc_oneshot.c +++ b/components/esp_adc/adc_oneshot.c @@ -19,6 +19,7 @@ #include "esp_private/adc_private.h" #include "esp_private/adc_share_hw_ctrl.h" #include "esp_private/sar_periph_ctrl.h" +#include "esp_private/esp_sleep_internal.h" #include "hal/adc_types.h" #include "hal/adc_oneshot_hal.h" #include "hal/adc_ll.h" @@ -124,6 +125,8 @@ esp_err_t adc_oneshot_new_unit(const adc_oneshot_unit_init_cfg_t *init_config, a if (init_config->ulp_mode == ADC_ULP_MODE_DISABLE) { sar_periph_ctrl_adc_oneshot_power_acquire(); + } else { + esp_sleep_enable_adc_tsens_monitor(true); } ESP_LOGD(TAG, "new adc unit%"PRId32" is created", unit->unit_id); @@ -223,6 +226,8 @@ esp_err_t adc_oneshot_del_unit(adc_oneshot_unit_handle_t handle) if (ulp_mode == ADC_ULP_MODE_DISABLE) { sar_periph_ctrl_adc_oneshot_power_release(); + } else { + esp_sleep_enable_adc_tsens_monitor(false); } #if SOC_ADC_DIG_CTRL_SUPPORTED && !SOC_ADC_RTC_CTRL_SUPPORTED diff --git a/components/ulp/ulp_common/ulp_adc.c b/components/ulp/ulp_common/ulp_adc.c index a46f928eb7..9f3cd6cc5f 100644 --- a/components/ulp/ulp_common/ulp_adc.c +++ b/components/ulp/ulp_common/ulp_adc.c @@ -52,8 +52,6 @@ esp_err_t ulp_adc_init(const ulp_adc_cfg_t *cfg) adc_set_hw_calibration_code(cfg->adc_n, cfg->atten); #endif - esp_sleep_enable_adc_tsens_monitor(true); - err: return ret; }