@@ -249,13 +249,6 @@ int32_t ESP8266WiFiGenericClass::channel(void) {
249
249
* @param type sleep_type_t
250
250
* @return bool
251
251
*/
252
- #ifndef NONOSDK3V0
253
- bool ESP8266WiFiGenericClass::setSleepMode (WiFiSleepType_t type, uint8_t listenInterval) {
254
- (void )type;
255
- (void )listenInterval;
256
- return false ;
257
- }
258
- #else // defined(NONOSDK3V0)
259
252
bool ESP8266WiFiGenericClass::setSleepMode (WiFiSleepType_t type, uint8_t listenInterval) {
260
253
261
254
/* *
@@ -279,20 +272,24 @@ bool ESP8266WiFiGenericClass::setSleepMode(WiFiSleepType_t type, uint8_t listenI
279
272
wifi_set_listen_interval():
280
273
Set listen interval of maximum sleep level for modem sleep and light sleep
281
274
It only works when sleep level is set as MAX_SLEEP_T
282
- It should be called following the order:
283
- wifi_set_sleep_level(MAX_SLEEP_T)
284
- wifi_set_listen_interval
285
- wifi_set_sleep_type
286
275
forum: https://github.com/espressif/ESP8266_NONOS_SDK/issues/165#issuecomment-416121920
287
276
default value seems to be 3 (as recommended by https://routerguide.net/dtim-interval-period-best-setting/)
277
+
278
+ call order:
279
+ wifi_set_sleep_level(MAX_SLEEP_T) (SDK3)
280
+ wifi_set_listen_interval (SDK3)
281
+ wifi_set_sleep_type (all SDKs)
282
+
288
283
*/
289
284
285
+ #ifdef NONOSDK3V0
286
+
290
287
#ifdef DEBUG_ESP_WIFI
291
288
if (listenInterval && type == WIFI_NONE_SLEEP)
292
289
DEBUG_WIFI_GENERIC (" listenInterval not usable with WIFI_NONE_SLEEP\n " );
293
290
#endif
294
291
295
- if (type == WIFI_LIGHT_SLEEP || type == WIFI_MODEM_SLEEP) {
292
+ if (type == WIFI_LIGHT_SLEEP || type == WIFI_MODEM_SLEEP) {
296
293
if (listenInterval) {
297
294
if (!wifi_set_sleep_level (MAX_SLEEP_T)) {
298
295
DEBUG_WIFI_GENERIC (" wifi_set_sleep_level(MAX_SLEEP_T): error\n " );
@@ -316,13 +313,16 @@ bool ESP8266WiFiGenericClass::setSleepMode(WiFiSleepType_t type, uint8_t listenI
316
313
}
317
314
}
318
315
}
316
+ #else // !defined(NONOSDK3V0)
317
+ (void )listenInterval;
318
+ #endif // !defined(NONOSDK3V0)
319
+
319
320
bool ret = wifi_set_sleep_type ((sleep_type_t ) type);
320
321
if (!ret) {
321
322
DEBUG_WIFI_GENERIC (" wifi_set_sleep_type(%d): error\n " , (int )type);
322
323
}
323
324
return ret;
324
325
}
325
- #endif // defined(NONOSDK3V0)
326
326
327
327
/* *
328
328
* get Sleep mode
0 commit comments