Merge branch 'bugfix/touch_pr_on_github' into 'master'

fix(touch): fix unexpected touch start on RTC peripheral init

Closes IDFGH-6021 and IDFGH-9371

See merge request espressif/esp-idf!36507
This commit is contained in:
Kevin (Lao Kaiyao)
2025-01-24 11:09:26 +08:00
4 changed files with 6 additions and 4 deletions

View File

@@ -512,7 +512,9 @@ esp_err_t touch_pad_filter_delete(void)
esp_err_t ret = ESP_OK;
xSemaphoreTake(rtc_touch_mux, portMAX_DELAY);
if (s_touch_pad_filter->timer) {
ESP_GOTO_ON_ERROR(esp_timer_stop(s_touch_pad_filter->timer), err, TOUCH_TAG, "failed to stop the timer");
if (esp_timer_is_active(s_touch_pad_filter->timer)) {
ESP_GOTO_ON_ERROR(esp_timer_stop(s_touch_pad_filter->timer), err, TOUCH_TAG, "failed to stop the timer");
}
ESP_GOTO_ON_ERROR(esp_timer_delete(s_touch_pad_filter->timer), err, TOUCH_TAG, "failed to delete the timer");
s_touch_pad_filter->timer = NULL;
}

View File

@@ -681,8 +681,8 @@ static inline void touch_ll_stop_fsm(void)
*/
static inline void touch_ll_start_sw_meas(void)
{
SENS.sar_touch_ctrl2.touch_start_en = 0;
SENS.sar_touch_ctrl2.touch_start_en = 1;
SENS.sar_touch_ctrl2.touch_start_en = 0;
}
/**

View File

@@ -1061,8 +1061,8 @@ static inline bool touch_ll_get_fsm_state(void)
*/
static inline void touch_ll_start_sw_meas(void)
{
RTCCNTL.touch_ctrl2.touch_start_en = 0;
RTCCNTL.touch_ctrl2.touch_start_en = 1;
RTCCNTL.touch_ctrl2.touch_start_en = 0;
}
/**

View File

@@ -1086,8 +1086,8 @@ static inline bool touch_ll_get_fsm_state(void)
*/
static inline void touch_ll_start_sw_meas(void)
{
RTCCNTL.touch_ctrl2.touch_start_en = 0;
RTCCNTL.touch_ctrl2.touch_start_en = 1;
RTCCNTL.touch_ctrl2.touch_start_en = 0;
}
/**