ESP8266_ArtNetNode_v2
ESP8266_ArtNetNode_v2 copied to clipboard
Quite Stable
Works very well :)
Only issue is that sometimes after a wifi reconnect the webpage works but the lights doesn't.
@ammuller I am really looking forward to giving this a try when I get some time - hopefully this weekend. Thanks heaps for the work you've put in!
@mtongnz Hi, do you any feedback for me?
Any news on this ?
@mtongnz Could you assist me? I would like to disable all the Dmx code to determine if the lockup is in the Dmx or WS code.
Still crashes very often when used with many pixel. With 99 it runs often many hours but with 484 it crashes after minutes. Any news on that?
@ammuller
- Hm checked your code: The wifi-connection-check in the main loop is useless I think, as we set WiFi.setAutoReconnect(true) in wifiStart(). It just eats up cpu cycles, disturbing the timing.
- Checking the reset reason during setup is nice, but this way it only start doing dmx output if a normal start/reset occurs, not when the wdt fires or an exception occurs. So your system "freezes", not doing any visible output any more before a manual triggered reboot. The best working way is to do an ESP.restart() on those other cases. This way, the system does a clean restart if the watchdog fires or an exception occurs. Works quite well: System freezes for some seconds, then gets back to work.
@ammuller And it seemed you killed the stand alone mode... :(
@bombcheck The reason for not using WiFi.setAutoReconnect(true) is it writes to the flash every time, not sure if relevant, but will wear out flash eventually.
@bombcheck if the wdt triggers, my thought at that moment was, since it happens regularly, there is something wrong (like running out of stack) when the code runs stable for extended times this can be revised. Please note: ESP.reset() is a hard reset and can leave some of the registers in the old state which can lead to problems, its more or less like the reset button on the PC. as per https://www.pieterverhees.nl/sparklesagarbage/esp8266/130-difference-between-esp-reset-and-esp-restart
Please hard Reset after flashing see: https://github.com/esp8266/Arduino/issues/1017
I always do a hard reset after flashing. And I use ESP.restart(), knowing that ESP.reset() is not the first choice. :) Did not found anything during a quick search about WiFi.setAutoReconnect(true) and excessive flash writes...
My reasoning behind the setup checks for reset reason was more for debug when I was trying different settings - rather than having to do a complete reflash when it locked up, I'd be able to simply change the offending setting back via the GUI and then continue my fault finding. I intend to change this behavior to a reset as suggested when the bugs are worked out. I've found in my testing that this code still seems to freeze a bit on me. I'm hoping to do a bit of testing with the new pull here from @scamiv. It looks very promising and seems that he's found quite a few of the root causes. Give it a whirl and see how it goes - with more of us on this, hopefully we'll get it to a stable place sooner
@scamiv I can compile and flash your version with the latest Arduino 1.8.5 and SDK 2.4.1, but it does not run. The original version from Matt compiles, flashes and runs normally with the same board settings on the same board. I'm using a NodeMCU V2 (but I also tried Wemos D1 R2). I've cleaned up everything with a clean arduino install and only the libraries from Matt are present (and also Arduino JSON latest version). I set the FF to 40mhz, CPU to 160mhz, lwIP variant to v2 Lower Memory. I've tried almost every baudrate setting too. Does your version require specific library versions or anything else present on the ESP?
@tohox I dont think its the same issue, in my case it just sets up the default hotspot with the generic ESP name without encryption and thats all. No response. I've tried like 6 boards and all the same issue, I've tried changing pins etc but it just does not run.