-
Notifications
You must be signed in to change notification settings - Fork 289
Help Please - Soft WDT reset constantly #368
Comments
I have the same issue |
Could you decode the stack? https://github.com/me-no-dev/EspExceptionDecoder |
decoder and got this, makes very little sense to me im afraid. Decoding stack results |
Firstly recommended core is 2.4.2 and recently we have tested with 2.5.0. It looks like you are using core 2.4.1. The stack results are pointing to some math calculations form WS2812FX is causing the wdt reset. I would update all libraries mentioned here to latest version. |
Thank you for the support, updated to 2.5.0 now for core and updated libraries to latest versions. Just to double check some of these libraries have newer versions than stated on the webpage i have just gone for the newest of each. I am still getting this error. Decoding stack results |
Whats the best version to use for WS2812FX as I'm on 1.1.8 |
I have another method for you to try, using precompiled binaries. Give me a few days, I'm in the process of making a video on this. |
You can use the latest version of all libraries. The version of libraries in the repo are the minimum version to get everything to work properly. I'm surprised that many people are getting a reset in the loop() or ws2812fx's service() |
Same here on a NodeMCU with all libraries freshly installed to their latest version :( |
Some extra info trying to troubleshoot this:
|
Tried on 2 different nodemcu and a wemos d1. Still same issue. |
Throwing the same stack:
McLighting.ino line 1293 is the if (updateStateFS):
WS2812FX.cpp line 131 is the Adafruit_NeoPixel::show(); :
I believe it has something to do with the filesystem, writing where is not supposed to as this is the major difference between using MQTT and not. Having to store somewhere the values. Trying to make the 4 fields smaller (host, port, user, pass) didn't hide the error. |
Could you try the develop version? Made a check if strip is initialized before service() is called. |
Tried PlatformIO too in case Arduino IDE was causing something in the compilation of the libraries (long shot, I know) but of course the exact same issue with the reset continues... |
:(
|
I am having what I believe is the same issue on a Wemos D1 Mini. I have discovered by trial and error that the last commit (to master) that is working for me is As soon as I try to flash I am also trying the latest in |
Same result for me using latest code in @gulliverrr @lanky8804 @tooljose88 and anyone else that is experiencing this same issue, could you please try flashing If they do, please then try flashing Please report back your findings so that we can pin-point where this bug was introduced. |
Add LWT for MQTT and AMQTT does work indeed. Testing bug_fix now... EDIT:
|
Perfect, thank you so much for trying that out. Now we have two solid confirmations that it is something in |
All those |
I am playing with a few things as well, but I don't think it's the change of removing |
Okay, I think I'm making some sort of progress, but I still don't have the answer. Assuming you're still on However, from the diff it appears that this line remained unchanged on this commit, so I don't know. |
Thanks for pointing these out, a few things happened in that commit.
I'll investigate. Cant reproduce on my NodeMCU for some reason. |
Comment out these lines in McLighting.ino
|
Just to confirm, I am still on Stack from first reset:
Stack from second reset:
Stack from third reset is same as second. |
I attempted to flash latest
|
sorry, made local changes that did not get pushed. It should compile now. b459b24 |
It compiles, but still no dice on Wemos D1 Mini. :(
|
Well, I have "fixed" master but not sure how... :) Then if I hardcode WS2812FXStripSettings.stripSize commenting out these lines
it works... |
omg, how did I miss that! |
Oh, line 899 in McLighting.ino is actually looking for I think we got it... ;) |
Develop version compiled and uploaded to a NoduMCU and working fine. Master still not working but might not include fixes above as yet? |
Once the develop solves all issues here, we will merge with master. |
@debsahu ok thank you. Random question when you define the LED_PIN does it have to be like '11, 14...' or can you define it D1 ... |
@lanky8804 Because For example, if I select NodeMCU as the board to which I am flashing the sketch, Arduino uses this file for the pin definitions. For the D1 Mini it uses this file, which is mostly the same except for a couple of small differences. tl;dr: At time of post, you can use both formats ( |
Okay, I was able to get latest EDIT: Based on debug output I added, it seems to be failing because Debug code:
Debug output:
I added the single quotes to ensure it wasn't outputting a space character or something else similar. |
I think I have found one more clue:
For some reason this doesn't print the integer value of |
I FINALLY FIGURED IT OUT!!! In Arduino and C++, what's the first thing you do when you expect a char array to have a value, but the output of the char array is blank? I don't know about you, but my go-to is to iterate the char array and output the hex values of each char in the array! Using this tactic, I Now, why I would apologize for the programming lecture, but I have hope that someone some day will absorb some amount of knowledge from my ramblings. tl;dr: The fix is super simple. Aside from changing the typos pointed out by @gulliverrr (
I am going to test the changes against a handful of recent commits and see if that's all it takes. I have a feeling that because of the typos, we might also have to check Regardless, I will try my best to submit a PR containing the fix(es) against |
What I don't understand is I removed all these code from the develop version and still there are issues. |
I tested against the following and each works after adding the changes:
The changes (all in
change to:
change to:
change to:
|
@debsahu That is a very good point. I am taking a look back at EDIT: Actually, I think I already know the answer to this one! I think it is the same reason I had to add in testing for a valid strip size. If the strip size is 0, it crashes. CONFIRMED: Current Change line 1500 from:
to (I intentionally left typo in place for confirmation):
|
I am getting the PR together right now. |
I can confirm the char array size change saved the day. Applied the pount to count and the move of the #ifdef from your commit and flashed NodeMCU with Arduino IDE with these settings:
to have the fields ready (but editable if I change my setup) just to save me from typing (or remembering 1883). Everything works fine including MQTT!
@dale3h I believe the |
Installed and flashed all ok but log produces this and constantly restarts. Cannot get to IP address due to this, any help appreciated.
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v614f7c32
~ld
FS File: /config.json, size: 61B
FS File: /neoconfig.json, size: 43B
FS Usage: 1004/957314 bytes
Reading neoconfig file... Opened!
Config: Parsed!
{"pixel_pount":300,"rgb_order":82,"pin":15}Reading config file... Opened!
Config: Parsed!
{"mqtt_host":"","mqtt_port":"","mqtt_user":"","mqtt_pass":""}WiFiManager config FS Read success!
*WM: Adding parameter
*WM: host
*WM: Adding parameter
*WM: port
*WM: Adding parameter
*WM: user
*WM: Adding parameter
*WM: pass
*WM: Adding parameter
*WM: strip_size
*WM: Adding parameter
*WM: led_pin
*WM:
*WM: AutoConnect
*WM: Connecting as wifi client...
*WM: Using last saved values, should be faster
Saving Strip cfg: {"pixel_pount":300,"rgb_order":82,"pin":15}
*WM: Connection result:
*WM: 3
*WM: IP Address:
*WM: 192.168.1.125
SaveConfig is False!
WiFiManager config FS Save failure!
connected...yeey :)
Open http://192.168.1.125/ to open McLighting.
Use http://McLighting01.local/ when you have Bonjour installed.
New users: Open http://192.168.1.125/upload to upload the webpages first.
E1.31 mode setup complete.
Couldn't find "/stripstate.json"
Failure!
*WM: freeing allocated params!
SET_MODE: 0 0
Soft WDT reset
ctx: cont
sp: 3fff2880 end: 3fff2af0 offset: 01b0
ets Jan 8 2013,rst cause:2, boot mode:(3,6)
The text was updated successfully, but these errors were encountered: