Chat freely about anything...
User avatar
By Cap
#49146 Yes, it's TIM not just DTIM that's in the context. Thanks for helping make it clearer.

If I understand it correct, the TCP/UDP callbacks are from LWIP (C based) part of the stack. The D/TIM handling would be below that in the 802.11 handling (libnet80211 at least) . So it should be independent of whether it's the Espressif, Arduino, or Sming based framework - all use LWIP. Not sure if Espressif has modified LWIP.

About the Arduino and Sming frameworks, given each is C++ based: It's outstanding efforts by contributors on each side. With the current APIs I like Sming's TCP/IP abstractions better, although having something as Boost/ASIO provides would be even better. But that's another matter of complexity and possibly code size... and another discussion.
User avatar
By RK_aus_S
#78226 I struggle with the same issue - but do not understand this thread completely. This is among other things due to my moderate English ...

Therefore, may is ask (again?) some simple questions here very clearly?:

    Is it possible to send an ESP8266 (using Arduino IDE & ESP8266 core library) regularly to Modem-Sleep (e.g. for a few hundred milliseconds) and then do leave Mode-Sleep for the necessary time to do all the pending work and then to send it again to Modem-Sleep for the next few hundred milliseconds?

    If yes, how? Which command(s) do I need exactly and in which order to enter Modem-Sleep - and which to leave Modem-Sleep?

Kind regards
Roman
User avatar
By schufti
#78232 AFAIK if set to modemsleep (default?) the WiFi is automatically powered down if no packets are queued.
There are commands to force sleep/wakeup
https://arduino-esp8266.readthedocs.io/ ... class.html
the old discussion was on light_sleep which is different as not only WiFi modem is powered down but cpu execution is also suspended.