diff --git a/components/esp32/include/esp_wifi_internal.h b/components/esp32/include/esp_wifi_internal.h index 2015b5063..1d393b95f 100644 --- a/components/esp32/include/esp_wifi_internal.h +++ b/components/esp32/include/esp_wifi_internal.h @@ -105,6 +105,15 @@ esp_err_t esp_wifi_internal_reg_rxcb(wifi_interface_t ifx, wifi_rxcb_t fn); */ esp_err_t esp_wifi_internal_set_sta_ip(void); +/** + * @brief The WiFi power save callback function + * + * @param none + * + * @return none + */ +void esp_wifi_ps_idle_cb(void); + #ifdef __cplusplus } #endif diff --git a/components/esp32/task_wdt.c b/components/esp32/task_wdt.c index bec1cadaa..79385f2a5 100644 --- a/components/esp32/task_wdt.c +++ b/components/esp32/task_wdt.c @@ -29,6 +29,7 @@ #include "soc/timer_group_struct.h" #include "soc/timer_group_reg.h" #include "esp_log.h" +#include "esp_wifi_internal.h" #include "esp_task_wdt.h" @@ -167,7 +168,8 @@ void vApplicationIdleHook(void) { if (xPortGetCoreID()!=0) return; #endif esp_task_wdt_feed(); + esp_wifi_ps_idle_cb(); } #endif -#endif \ No newline at end of file +#endif diff --git a/components/freertos/tasks.c b/components/freertos/tasks.c index b79d3a98b..f827924f5 100644 --- a/components/freertos/tasks.c +++ b/components/freertos/tasks.c @@ -113,7 +113,7 @@ functions but without including stdio.h here. */ /* * Defines the size, in words, of the stack allocated to the idle task. */ -#define tskIDLE_STACK_SIZE configMINIMAL_STACK_SIZE +#define tskIDLE_STACK_SIZE 2048//configMINIMAL_STACK_SIZE #if( configUSE_PREEMPTION == 0 ) /* If the cooperative scheduler is being used then a yield should not be