From 4cbee2c8e672f6816fb3bf191a71feb371dba85e Mon Sep 17 00:00:00 2001 From: Larry Bernstone Date: Sun, 12 Apr 2020 09:37:35 -0600 Subject: [PATCH] WIFI_PS_MAX_MODEM feature requested #3896 --- libraries/WiFi/src/WiFiGeneric.cpp | 14 ++++++++++++++ libraries/WiFi/src/WiFiGeneric.h | 1 + 2 files changed, 15 insertions(+) diff --git a/libraries/WiFi/src/WiFiGeneric.cpp b/libraries/WiFi/src/WiFiGeneric.cpp index 50fb56f4962..78d1135bb12 100644 --- a/libraries/WiFi/src/WiFiGeneric.cpp +++ b/libraries/WiFi/src/WiFiGeneric.cpp @@ -593,6 +593,20 @@ bool WiFiGenericClass::setSleep(bool enable) return esp_wifi_set_ps(enable?WIFI_PS_MIN_MODEM:WIFI_PS_NONE) == ESP_OK; } +/** + * control modem sleep when only in STA mode + * @param mode wifi_ps_type_t + * @return ok + */ +bool WiFiGenericClass::setSleep(wifi_ps_type_t mode) +{ + if((getMode() & WIFI_MODE_STA) == 0){ + log_w("STA has not been started"); + return false; + } + return esp_wifi_set_ps(mode) == ESP_OK; +} + /** * get modem sleep enabled * @return true if modem sleep is enabled diff --git a/libraries/WiFi/src/WiFiGeneric.h b/libraries/WiFi/src/WiFiGeneric.h index 65f5d23b464..14484db43bb 100644 --- a/libraries/WiFi/src/WiFiGeneric.h +++ b/libraries/WiFi/src/WiFiGeneric.h @@ -92,6 +92,7 @@ class WiFiGenericClass bool enableAP(bool enable); bool setSleep(bool enable); + bool setSleep(wifi_ps_type_t mode); bool getSleep(); bool setTxPower(wifi_power_t power);