From c694c5134f516a30ae6a8572be1642a6ddc35dba Mon Sep 17 00:00:00 2001 From: Xia Xiao Tian Date: Tue, 15 Nov 2016 10:28:36 +0800 Subject: [PATCH] modem sleep: add wifi power save callback to idle task --- components/esp32/include/esp_wifi_internal.h | 9 +++++++++ components/esp32/task_wdt.c | 4 +++- components/freertos/tasks.c | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/components/esp32/include/esp_wifi_internal.h b/components/esp32/include/esp_wifi_internal.h index 2015b5063d..1d393b95f2 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 bec1cadaa7..79385f2a5e 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 b79d3a98ba..f827924f57 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