From cd3572c55a1fe05beb4872dbccd1e5a8a8034410 Mon Sep 17 00:00:00 2001 From: laokaiyao Date: Fri, 13 Jun 2025 16:34:38 +0800 Subject: [PATCH] fix(touch): fixed touch interval freq unit convert issue --- .../esp_driver_touch_sens/hw_ver3/touch_version_specific.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/components/esp_driver_touch_sens/hw_ver3/touch_version_specific.c b/components/esp_driver_touch_sens/hw_ver3/touch_version_specific.c index 7acd374482..e2da59d5cc 100644 --- a/components/esp_driver_touch_sens/hw_ver3/touch_version_specific.c +++ b/components/esp_driver_touch_sens/hw_ver3/touch_version_specific.c @@ -154,11 +154,10 @@ static esp_err_t s_touch_convert_to_hal_config(touch_sensor_handle_t sens_handle uint32_t src_freq_hz = sens_handle->src_freq_hz; uint32_t src_freq_mhz = src_freq_hz / 1000000; - uint32_t interval_freq_mhz = sens_handle->interval_freq_hz / 1000000; hal_cfg->power_on_wait_ticks = (uint32_t)sens_cfg->power_on_wait_us * src_freq_mhz; hal_cfg->power_on_wait_ticks = hal_cfg->power_on_wait_ticks > TOUCH_LL_PAD_MEASURE_WAIT_MAX ? TOUCH_LL_PAD_MEASURE_WAIT_MAX : hal_cfg->power_on_wait_ticks; - hal_cfg->meas_interval_ticks = (uint32_t)(sens_cfg->meas_interval_us * interval_freq_mhz); + hal_cfg->meas_interval_ticks = (uint32_t)(sens_cfg->meas_interval_us * sens_handle->interval_freq_hz / 1000000); hal_cfg->timeout_ticks = (uint32_t)sens_cfg->max_meas_time_us * src_freq_mhz; ESP_RETURN_ON_FALSE(hal_cfg->timeout_ticks <= TOUCH_LL_TIMEOUT_MAX, ESP_ERR_INVALID_ARG, TAG, "max_meas_time_ms should within %"PRIu32, TOUCH_LL_TIMEOUT_MAX / src_freq_mhz);