From 2dda3f57b5102bd7e6c93c1ac1bf7d806d43d12d Mon Sep 17 00:00:00 2001 From: Xia Xiao Tian Date: Tue, 8 Nov 2016 16:52:07 +0800 Subject: [PATCH 1/4] remove light sleep and mac sleep --- components/esp32/include/esp_wifi_types.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/components/esp32/include/esp_wifi_types.h b/components/esp32/include/esp_wifi_types.h index fb19aa8fc3..ca4445a487 100644 --- a/components/esp32/include/esp_wifi_types.h +++ b/components/esp32/include/esp_wifi_types.h @@ -114,8 +114,6 @@ typedef struct { typedef enum { WIFI_PS_NONE, /**< No power save */ WIFI_PS_MODEM, /**< Modem power save */ - WIFI_PS_LIGHT, /**< Light power save */ - WIFI_PS_MAC, /**< MAC power save */ } wifi_ps_type_t; #define WIFI_PROTOCOL_11B 1 From c694c5134f516a30ae6a8572be1642a6ddc35dba Mon Sep 17 00:00:00 2001 From: Xia Xiao Tian Date: Tue, 15 Nov 2016 10:28:36 +0800 Subject: [PATCH 2/4] 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 From e33240778543d5343619077c70d492f9e3d256c6 Mon Sep 17 00:00:00 2001 From: Xia Xiao Tian Date: Thu, 17 Nov 2016 18:08:35 +0800 Subject: [PATCH 3/4] modem sleep: delete wifi modem sleep callback in idle task. --- components/esp32/include/esp_wifi_internal.h | 9 --------- components/esp32/task_wdt.c | 2 -- components/freertos/tasks.c | 2 +- components/nvs_flash/src/nvs_api.cpp | 2 +- 4 files changed, 2 insertions(+), 13 deletions(-) diff --git a/components/esp32/include/esp_wifi_internal.h b/components/esp32/include/esp_wifi_internal.h index 1d393b95f2..2015b5063d 100644 --- a/components/esp32/include/esp_wifi_internal.h +++ b/components/esp32/include/esp_wifi_internal.h @@ -105,15 +105,6 @@ 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 79385f2a5e..3428b2a54c 100644 --- a/components/esp32/task_wdt.c +++ b/components/esp32/task_wdt.c @@ -29,7 +29,6 @@ #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" @@ -168,7 +167,6 @@ void vApplicationIdleHook(void) { if (xPortGetCoreID()!=0) return; #endif esp_task_wdt_feed(); - esp_wifi_ps_idle_cb(); } #endif diff --git a/components/freertos/tasks.c b/components/freertos/tasks.c index f827924f57..b79d3a98ba 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 2048//configMINIMAL_STACK_SIZE +#define tskIDLE_STACK_SIZE configMINIMAL_STACK_SIZE #if( configUSE_PREEMPTION == 0 ) /* If the cooperative scheduler is being used then a yield should not be diff --git a/components/nvs_flash/src/nvs_api.cpp b/components/nvs_flash/src/nvs_api.cpp index c1a910260e..f6c6c588aa 100644 --- a/components/nvs_flash/src/nvs_api.cpp +++ b/components/nvs_flash/src/nvs_api.cpp @@ -63,7 +63,7 @@ extern "C" void nvs_dump() extern "C" esp_err_t nvs_flash_init(void) { - return nvs_flash_init_custom(6, 3); + return nvs_flash_init_custom(9, 3); } extern "C" esp_err_t nvs_flash_init_custom(uint32_t baseSector, uint32_t sectorCount) From 55aa82f81410277e645c603297e3afedd6f8c5f9 Mon Sep 17 00:00:00 2001 From: Xia Xiaotian Date: Fri, 25 Nov 2016 19:06:52 +0800 Subject: [PATCH 4/4] modem sleep: update wifi lib 1. add libwpa2.a --- components/esp32/lib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/esp32/lib b/components/esp32/lib index 1ef5197246..c0804cdc87 160000 --- a/components/esp32/lib +++ b/components/esp32/lib @@ -1 +1 @@ -Subproject commit 1ef5197246db363681ca78c1e3edc2d2cca92bbe +Subproject commit c0804cdc879a17774258785093be4369db79c9c4