From 134a627ad80f3d7dbd1c6a7bf8a524cd1d210b5f Mon Sep 17 00:00:00 2001 From: Jack Date: Wed, 27 Nov 2019 23:32:54 +0800 Subject: [PATCH] esp_wifi: fix WiFi scan and connect bugs when coexist with Bluetooth 1. Fix WiFi scan leads to poor performance of Bluetooth. 2. Improve WiFi connect success ratio when coexist with Bluetooth. 3. Check if WiFi is still connected when CSA or beacon timeout happen. 4. add coex pre init --- components/esp32/cpu_start.c | 1 + components/esp_wifi/include/esp_coexist_internal.h | 8 ++++++++ components/esp_wifi/lib | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/components/esp32/cpu_start.c b/components/esp32/cpu_start.c index 7f30541eca..ee5e38eeed 100644 --- a/components/esp32/cpu_start.c +++ b/components/esp32/cpu_start.c @@ -453,6 +453,7 @@ void start_cpu0_default(void) #if CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE esp_coex_adapter_register(&g_coex_adapter_funcs); + coex_pre_init(); #endif portBASE_TYPE res = xTaskCreatePinnedToCore(&main_task, "main", diff --git a/components/esp_wifi/include/esp_coexist_internal.h b/components/esp_wifi/include/esp_coexist_internal.h index 63f35666d3..bdd023a93d 100644 --- a/components/esp_wifi/include/esp_coexist_internal.h +++ b/components/esp_wifi/include/esp_coexist_internal.h @@ -31,6 +31,14 @@ typedef enum { typedef void (* coex_func_cb_t)(uint32_t event, int sched_cnt); +/** + * @brief Pre-Init software coexist + * extern function for internal use. + * + * @return Init ok or failed. + */ +esp_err_t coex_pre_init(void); + /** * @brief Init software coexist * extern function for internal use. diff --git a/components/esp_wifi/lib b/components/esp_wifi/lib index d780a7f4fc..c74aa6c5bb 160000 --- a/components/esp_wifi/lib +++ b/components/esp_wifi/lib @@ -1 +1 @@ -Subproject commit d780a7f4fcf8558d9e310fb11a572298ee3d1295 +Subproject commit c74aa6c5bb017a78a3167609549af4fc27e72b16