Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WDT Resets #41

Open
mtongnz opened this issue Feb 28, 2017 · 27 comments
Open

WDT Resets #41

mtongnz opened this issue Feb 28, 2017 · 27 comments

Comments

@mtongnz
Copy link
Owner

mtongnz commented Feb 28, 2017

There seems to be an issue with the watch dog timer causing resets about 10 minutes into operation. I haven't been able to track it down and it takes ages to fault find when I've gotta wait for it to happen.

If you are watching in DMX Workshop, you'll see this show up in the status field when the device resets. The output will also freeze for about 10 seconds.

Anyone experiencing these, please post your settings and the counter from status in DMX Workshop so I can see if there is a pattern.

@p-sodmann
Copy link

Does it happen always or only using leds?

@ammuller
Copy link

Could you please try my code, I don't get WDT resets.
The lights stop working after a while, a reset from the web interface fixes it.
https://github.com/ammuller/ESP8266_ArtNetNode_v2

@ElToberino
Copy link

ElToberino commented Dec 3, 2017

I'm using your really great software with Ws2812b Pixels on Port A and Port B. (about 900 pixels in total)

After a certain time (about 20-30 Minutes) my Pixels freeze. Wifi connection is still there, I can load the web interface. I found out, that the only way to get back to normal mode is powercycling to times or rebooting via web interface two times. It's interesting that powercycling or rebooting only one time doesn't help.

I also noticed that the period of time until freeze is in hotspot mode much shorter than in Wifi-Mode.

Hope, this experiences will help solving the problem. I like your software very much and would appreciate any solution of this problem.

OT - Perhaps this can help someone: I made the following workaround for running a show without annoying hang-up. I use a script on my computer which opens the browser, calls the web interface and presses reboot (one time) every twenty minutes (that means before stalling occurs). The reboot breaks are very short and much better than a complete hang-up. I tested this for many hours and all worked fine.
Btw: The easiest way to create a script is using a macro recorder like "Pulover's Macro Creator" e.g.

@rsototec
Copy link

rsototec commented Dec 4, 2017 via email

@dddaniele
Copy link

Hi bro, this solutions fix the problem for me (firmware 1.2) test 4 times for 4hour every time:
In ESP8266_ArtNetNode_DMX.ino:

  • Add ESP.wdtFeed() at void loop() start
  • Add a delay(15) after webServer.handleClient()
    I found also another bug in library that inibite the dmx "strobo funcion"
    Please tell me if this work for you

@bombcheck
Copy link

bombcheck commented Mar 5, 2018

Damn, overlook the most obvious thing. Read about the watchdog-features some hours ago, but then forgot about it. Seems to be logical that we have to feed the watchdog here. :)
Will give this a try tomorrow.

@bombcheck
Copy link

bombcheck commented Mar 6, 2018

OK, adding the delay(15) after webServer.handleClient() causes some timing issues: The last quarter of my matrix (22x22 / 484 pixel) is not updating correctly anymore. Trying only with ESP.wdtFeed() now: Runs smooth and stable so far. Lets see how long... :)

@dddaniele
Copy link

I already tried only with ESP.wdtFeed() only but wdt reset comes back. I also tried a delay 10 and the problem persists.
Setting instead ESP.wdtFeed() and delay(15) i have not encountered problems with my par LEDs and moving heads.

Try to comment those lines on espDMX.cpp (in the library folder) (this cause stobo function and wdt reset issues)

// Output full universe (512 channels) once every x seconds
//if (millis() > dmx->full_uni_time + DMX_FULL_UNI_TIMING) {
// dmx->full_uni_time = millis();
// dmx->state = DMX_FULL_UNI;

//  // Status LED
//  if (dmx->ledPin != DMX_NO_LED) {
//    if (dmx->led_timer++ >= 2) {
//      analogWrite(dmx->ledPin, dmx->ledIntensity);
//      dmx->led_timer = 0;
//    }else
//      analogWrite(dmx->ledPin, 0);
//  }
//} else

@bombcheck
Copy link

espDMX.cpp? Did not find this file in the libraries. And can not find the mentioned lines anywhere in the project.

@bombcheck
Copy link

Adding a delay of 15 ruins timing at the end of my strip. Reducing the value and trying some other modifications. But the issue seems to persist. It just lasts longer then before prior to crash...

@dddaniele
Copy link

i'm running SP8266_ArtNetNode_DMX firmware 1.2

@bombcheck
Copy link

Ahhhh I see. But here we are discussing the "new" v2 firmware which has these issues too. :)

delay (5) seems to work for me: No updating issues. Keeps reseting sometimes, but I catch the reset reason and doing a ESP.restart if the watchdog or an exeption occured.

@bombcheck
Copy link

It keeps crashing from time to time. Sometimes after minutes, sometimes after hours. I THINK it may be from some bad packets received or something and not from the WDT...

@ElToberino
Copy link

Does the WDT/freeze issue also occur with the old version ArtNetNode v1.2.0?
I just want to set up a simple node, without pixel support, RDM etc. So v1.2.0 would be perfect for me, if there wasn't this problem.

@PixelLights
Copy link

Has anyone found a solution? I noticed that the esp resets every 15 minutes and freeze the pixels after some time

@scamiv
Copy link

scamiv commented Apr 20, 2018

Have you given my fork a try? It should fix some/most of the existing problems.
The current git version runs stable for a few hours in most cases, however there's still the issue of heap fragmentation.
I will make another push soon which switches the lib over to umm_malloc to counter this.

@idtres
Copy link

idtres commented Jun 17, 2018

@scamiv I will check out your fork.
Can you summarize what are the main changes, and for how long did you run the node without any reset/frozen outputs?

@jamesgbahr
Copy link

jamesgbahr commented Jul 9, 2018

scamiv.. does this fix the LED freeze and rebooting issues?

@codehackr
Copy link

i tried scamiv fork of this code in my case it only last 15 mins and hard freezes requiring a power cycle to get it up and running again.

@jamesgbahr
Copy link

I have done extensive research on this issue and tested code many many different ways and setups. Its 100% the wifi services getting slammed with data.. the wifi lifetime timer does not renew when data is being sent. If i stop data send the timer renews

@parechiotto
Copy link

parechiotto commented Nov 27, 2018

Hi all!
I don't know if the bug was resolved from someone.
I've try to add thi solution: https://community.blynk.cc/t/solved-esp8266-nodemc...
And for me it seems work!

So I add in setup()
ESP.wdtDisable();
ESP.wdtEnable(WDTO_8S);

and in and in loop()

ESP.wdtFeed();

I'm building with NodeMCU esp8266 esp-12e

@ElToberino
Copy link

Sounds good; I'll give it a try and will report.

Your link is not working. I guess you meant this: https://community.blynk.cc/t/solved-esp8266-nodemcu-v1-0-and-wdt-resets/7047

@dddaniele
Copy link

Hi all!
I don't know if the bug was resolved from someone.
I've try to add thi solution: https://community.blynk.cc/t/solved-esp8266-nodemc...
And for me it seems work!

So I add in setup()
ESP.wdtDisable();
ESP.wdtEnable(WDTO_8S);

and in and in loop()

ESP.wdtFeed();

I'm building with NodeMCU esp8266 esp-12e

Not work for me

@ElToberino
Copy link

ElToberino commented Nov 28, 2018

Here it doesn't work, too. Tested it with pixels on port A.
Function is worse than it was before, without these changes.

Edit:
If someone is interested in an alternative software: I tested "Esppixelstick" (http://forkineye.com/espixelstick/) by forkineye. It can handle four universes. It's only the half of mtongnz' number of univereses - but it runs stable. I'm really satisfied with it!

I like mtongnz' nodes very much; I'm using v1, which run's absolutely stable, for my DMX projects - it's great. But v2 is too unstable for my purposes.

For my large pixel matrix I switched to a wired controller designed by Ulrich Radig. (for example: https://www.ulrichradig.de/home/index.php/dmx/art-net-pixel-con-neu). I found out that wireless can cause problems with special effects (scrolling text ,e.g.).

@krupaw2
Copy link

krupaw2 commented Dec 10, 2018

How much I got tired of this program, I'm a beginner and I thought I was doing something wrong.
Meanwhile, after installing the "Esppixelstick" all problems have disappeared - I highly recommend.

@Furbean
Copy link

Furbean commented Jun 14, 2020

Hi Matthew,

The issue is not a software glitch, i've discovered your project today.
I use a esp8266 (WeMos D1 R1) with 300 leds W2812s, i have a 20 ampere power supply for the 5 volts. After 10 mn, the esp8266 seems to freeze and between 3 and 10 mn, lights start again the animation.

Since i've connected the esp8266 also on my powered usb port on my pc, i don't have any problems. It works very well even with a lot of effect in Jinx!.

We must add a capacitor to protect cpu i think, i will check this week.

Thanks for you great work !!

@Igor1976-light
Copy link

Hi Furbean,

do this, paste into setup ()

ESP.wdtDisable();
ESP.wdtEnable(WDTO_8S);

and in loop()

ESP.wdtFeed ();

and the problem should be resolved. At least it works for me.

And a 1000µF / 16V capacitor comes between ground and + in the power supply of the LEDs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests