@wanek I think the problem is the ESP libraries. Are you still using Arduino ESP core 2.3.0?
My main system uses the master, not the 13 or 14 month old 2.3.0 core and it’s fine.
On a 2.3.0 system it shows 5 display widgets updated and then a login timeout, but not a reset.
The 3 to 4ms with the master branch increases to over 4000ms with 2.3.0 and certainly high enough to trigger the WDT under certain circumstances.
Would recommend everyone moves to at least 2.4.0-rc1 as there are lot of fixes from 2.3.0.
yes, i’m using the old 2.3 libs. up to now i didn’t updated, because i’ve heard rumors on the net that there were several issues with the new core. i thought to wait a bit until they are ironed out.
Upgrading to 2.4.0-rc1 is fairly straightforward and just involves changing the url in preferences.
2.4.0-rc1 has most of the bug fixes but the master obviously has more fixes and no firmware is totally bug free.
I recommend setting up new portable installations of the Arduino IDE so you might have 1.8.3 with 2.3.0 and 1.8.4 with 2.4.0-rc1. You can then easily switch between them if required.
We wanted to test the new deepSleep and 16M so we upgraded. deepSleep is better but we still haven’t got 16M working.
@wanek glad you got it fixed. Could you reintroduce your EEPROM routine and send millis() to a couple of display widgets (as Serial Monitor is not available to you) as the start and end of the Terminal function.
this code works very well for me. Even if I call a small Blynk_Delay(1). My ESP code is running many Blynk.syncVirtual and Blynk.setProperty commands. I’ve had it running on different ESP8266 hardware and each running either V2.3.0 and V2.4.RC1 for weeks without any resets. Thought I’d share it (even though similar code has been posted before).
void Blynk_Delay(int milli)
{
int end_time = millis() + milli;
while (millis() < end_time)
{
if (Blynk.connected())
{
Blynk.run();
}
#ifdef USE_ESP8266
ESP.wdtFeed(); // feed watchdog
// timer.run();
ArduinoOTA.handle();
yield(); // let esp8266 hardware do stuff
#endif
}
}
I ran into the same error as the original poster using the setProperty() Method. Adding yield() and Blynk.run() after each call works for me in combination with this article (I’,m using private server).