LowPowerLab Forum

Hardware support => ESP32 / ESP8266 => Topic started by: juan3211 on June 04, 2020, 04:17:59 PM

Title: listenModeSendBrust generates a "Soft WDT reset"
Post by: juan3211 on June 04, 2020, 04:17:59 PM
Hi, I dont know well how ESP8266 yield and delay(0) stuff work

What I have check is that an sketch that works with Arduino Pro Mini, doesn't work with ESP8266.

It works if I comment listenModeSendBrust

I mean, it means that pin connection and the sketch itself if ok.

Does anybody try to use listenMode with an ESP8266. (in this case, ESP8266 is the TX node).

Probably it is because any internal loop in listenModeSendBurst code that make ESP8266 Soft WDT reset ?
(I have tried adding before and after that line a "delay(0);" but ESP8266 resets itself)

Thanks a lot.

Stack trace is not always the same, is it another reason about delay() yield() stuff?

Code: [Select]
0x4020cd1f: SPIClass::beginTransaction(SPISettings) at ..\esp8266\hardware\esp8266\2.7.1\libraries\SPI\SPI.cpp line 145
0x401006f1: __digitalWrite(uint8_t, uint8_t) at ..\esp8266\hardware\esp8266\2.7.1\cores\esp8266\core_esp8266_wiring_digital.cpp line 86
0x4020b5c9: RFM69::select() at ..\libraries\RFM69_LowPowerLab\RFM69.cpp line 502
0x4020b6e7: RFM69::readReg(unsigned char) at ..\RFM69_LowPowerLab\RFM69.cpp line 468
0x4020c4bb: RFM69::listenModeSendBurst(unsigned char, void const*, unsigned char) at ..\RFM69_LowPowerLab\RFM69.cpp line 1203
0x4020e96c: __esp_yield() at ..\esp8266\hardware\esp8266\2.7.1\cores\esp8266\core_esp8266_main.cpp line 119
0x4020f6a9: __delay(unsigned long) at ..\esp8266\hardware\esp8266\2.7.1\cores\esp8266\core_esp8266_wiring.cpp line 57
0x40202422: loop() at ..\diyBMS\diyBMS_Wemos_200605/diyBMS_Wemos_200605.ino line 1256
0x4020ea84: loop_wrapper() at ..\esp8266\hardware\esp8266\2.7.1\cores\esp8266\core_esp8266_main.cpp line 197

Code: [Select]
0x4020b5d4: RFM69::select() at ..\libraries\RFM69_LowPowerLab\RFM69.cpp line 503
0x4020b6e7: RFM69::readReg(unsigned char) at ..\libraries\RFM69_LowPowerLab\RFM69.cpp line 468
0x4020c4bb: RFM69::listenModeSendBurst(unsigned char, void const*, unsigned char) at ..\libraries\RFM69_LowPowerLab\RFM69.cpp line 1203
0x4020e96c: __esp_yield() at ..\esp8266\hardware\esp8266\2.7.1\cores\esp8266\core_esp8266_main.cpp line 119
0x4020f6a9: __delay(unsigned long) at ..\esp8266\hardware\esp8266\2.7.1\cores\esp8266\core_esp8266_wiring.cpp line 57
0x40202422: loop() at ..\diyBMS\diyBMS_Wemos_200605/diyBMS_Wemos_200605.ino line 1256
0x4020ea84: loop_wrapper() at ..\esp8266\hardware\esp8266\2.7.1\cores\esp8266\core_esp8266_main.cpp line 197
Title: Re: listenModeSendBrust generates a "Soft WDT reset"
Post by: Felix on June 05, 2020, 08:41:43 AM
This ESP forum was created at the request of TomWS and others who've done lots of ESP development and can chime in to answer questions.

Sorry to say but I cannot offer any official support for ESP platform at the moment, since LowPowerLab makes no hardware based on ESP+RFM69.
Also, the native listen mode of RFM69 are not supported because it was reported to be less than stable.
Title: Re: listenModeSendBrust generates a "Soft WDT reset"
Post by: juan3211 on June 06, 2020, 11:09:26 AM
Thanks a lot Felix, I understand. I will publish the solution if I find it, thanks