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

ESP8266 not working, 'reset' everytime #13

Open
cszuo opened this issue Oct 14, 2019 · 8 comments
Open

ESP8266 not working, 'reset' everytime #13

cszuo opened this issue Oct 14, 2019 · 8 comments

Comments

@cszuo
Copy link

cszuo commented Oct 14, 2019

Thank you for the project, it would be very helpful when debugging protocols.

I am using it on nodemcu (ESP8266), but every time when sending 'G' to the ESP8266, will cause it to reset. The error message:

 ets Jan  8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x4010f000, len 1384, room 16 
tail 8
chksum 0x2d
csum 0x2d
v8b899c12
~ld

I tried to debug, it looks like collect(); cased this problem.
Do you have any idea?
Thank you.

@aster94
Copy link
Owner

aster94 commented Oct 16, 2019

It is a function inside the esp core. Can you post all the errors you get?

@cszuo
Copy link
Author

cszuo commented Oct 16, 2019

It is a function inside the esp core. Can you post all the errors you get?

this is all the error I got from Serial port.

@aster94
Copy link
Owner

aster94 commented Oct 16, 2019

My bad, the function isn't from the core, I haven't watched into the esp code in a lot of times and I didn't remember it

Maybe @yoursunny knows something about this

@yoursunny
Copy link
Contributor

rst cause:4

This RST cause means "hardware watchdog reset".

The ESP8266 has two watchdogs: a software watchdog and a hardware watchdog. If either watchdog determines our code is stuck, it will reset the device.
Before calling collect(), I use ESP.wdtDisable() to disable the software watchdog. However, if collect() executes for more than six seconds, the hardware watchdog will reset the device.

collect() waits for GPIO register to change N_SAMPLES times. If GPIO lines are not changing, it will wait in a loop, and eventually exceed hardware watchdog duration.
Thus, if the signal you are trying to measure has very low frequency or appears only once, you'll get "rst cause 4" error.

@aster94
Copy link
Owner

aster94 commented Nov 1, 2019

Thanks for the explanation!

However, if collect() executes for more than six seconds, the hardware watchdog will reset the device.

Do you know any way to prevent the watchdog to reset?

@yoursunny
Copy link
Contributor

Software watchdog is already disabled.
Hardware watchdog cannot be disabled from Arduino code.

@toncho11
Copy link

toncho11 commented Feb 6, 2020

Does it work with ESP8266?

@BackMountainDevil
Copy link
Contributor

Does it work with ESP8266?

test not work now.

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

5 participants