Closed askiin35 closed 1 year ago
If you have set a WDT to detect freezes at the application layer, but the timer cannot be reset when the application enters the AutoConnect::begin captive portal loop. You can use the whileCaptiveportal exit according to such a scene. Also, like the captive portal loop, AutoConnect::begin waits for a WiFi connection after WiFi.begin, so the timer must be reset at this time as well. You can use the techniques discussed here for that.
These techniques are limited to cases involving while loops with waiting for a WiFi connection. But there are other normal situations in which the timer cannot be reset. In situations where the WiFi signal is weak, it may take hundreds of milliseconds for lwIP to fully receive the packet, and several seconds for the HTTP response to complete. In this case, the application layer cannot reset the timer. Maybe you'll have to find a way to make full use of the WebServer library to reset the timer.
This topic will be continued in Discussions.
How should I proceed to keep the device running continuously in case of freezing or crashing? When I use watchdog, my device is constantly reset in the portal section. I am using the latest autoconnect version.