From 5bf4347ad94aad20c49f527e96beb595733c182d Mon Sep 17 00:00:00 2001 From: Chen Jian Hua Date: Fri, 27 Sep 2024 18:33:16 +0800 Subject: [PATCH] fix(bt/controller): Fixed the timeout of wake up timer when using RC OSC (cherry picked from commit 873708579c99069d073f3d6c7ba6db154cbf16b9) Co-authored-by: chenjianhua --- components/bt/controller/esp32c3/bt.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/components/bt/controller/esp32c3/bt.c b/components/bt/controller/esp32c3/bt.c index ece11c2a28..1ea7e48239 100644 --- a/components/bt/controller/esp32c3/bt.c +++ b/components/bt/controller/esp32c3/bt.c @@ -807,7 +807,8 @@ static void btdm_sleep_enter_phase1_wrapper(uint32_t lpcycles) // allow a maximum time uncertainty to be about 488ppm(1/2048) at least as clock drift // and set the timer in advance uint32_t uncertainty = (us_to_sleep >> 11); -#if CONFIG_FREERTOS_USE_TICKLESS_IDLE +#if CONFIG_BT_CTRL_MAIN_XTAL_PU_DURING_LIGHT_SLEEP + // recalculate clock drift when Bluetooth using main XTAL during light sleep if (rtc_clk_slow_src_get() == SOC_RTC_SLOW_CLK_SRC_RC_SLOW) { uncertainty = us_to_sleep * BTDM_RTC_SLOW_CLK_RC_DRIFT_PERCENT / 100; }