From 48e1ccbff88345b668f2be3e469be1402ad97f87 Mon Sep 17 00:00:00 2001 From: Drzony Date: Mon, 15 Mar 2021 04:48:54 +0100 Subject: [PATCH] Added ESP32 compatible methods for setting/getting sleep mode (#7901) --- .../ESP8266WiFi/src/ESP8266WiFiGeneric.h | 33 +++++++++++++++++++ libraries/ESP8266WiFi/src/ESP8266WiFiType.h | 7 ++++ 2 files changed, 40 insertions(+) diff --git a/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.h b/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.h index 6a9100194..ec15f6f58 100644 --- a/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.h +++ b/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.h @@ -77,6 +77,39 @@ class ESP8266WiFiGenericClass { uint8_t channel(void); bool setSleepMode(WiFiSleepType_t type, uint8_t listenInterval = 0); + /** + * Set modem sleep mode (ESP32 compatibility) + * @param enable true to enable + * @return true if succeeded + */ + bool setSleep(bool enable) + { + if (enable) + { + return setSleepMode(WIFI_MODEM_SLEEP); + } + else + { + return setSleepMode(WIFI_NONE_SLEEP); + } + } + /** + * Set sleep mode (ESP32 compatibility) + * @param mode wifi_ps_type_t + * @return true if succeeded + */ + bool setSleep(wifi_ps_type_t mode) + { + return setSleepMode((WiFiSleepType_t)mode); + } + /** + * Get current sleep state (ESP32 compatibility) + * @return true if modem sleep is enabled + */ + bool getSleep() + { + return getSleepMode() == WIFI_MODEM_SLEEP; + } WiFiSleepType_t getSleepMode(); uint8_t getListenInterval (); diff --git a/libraries/ESP8266WiFi/src/ESP8266WiFiType.h b/libraries/ESP8266WiFi/src/ESP8266WiFiType.h index 86803edce..7e5e1dc7e 100644 --- a/libraries/ESP8266WiFi/src/ESP8266WiFiType.h +++ b/libraries/ESP8266WiFi/src/ESP8266WiFiType.h @@ -48,6 +48,13 @@ typedef enum WiFiSleepType WIFI_NONE_SLEEP = 0, WIFI_LIGHT_SLEEP = 1, WIFI_MODEM_SLEEP = 2 } WiFiSleepType_t; +// ESP32 compatibility +typedef enum wifi_ps_type +{ + WIFI_PS_NONE = WIFI_NONE_SLEEP, + WIFI_PS_MIN_MODEM = WIFI_MODEM_SLEEP, + WIFI_PS_MAX_MODEM = WIFI_LIGHT_SLEEP, +} wifi_ps_type_t; typedef enum WiFiEvent {