corneliusmunz / legoino

Arduino Library for controlling Powered UP and Boost controllers
MIT License
257 stars 34 forks source link

Continuos reboot #56

Open M9lab opened 3 years ago

M9lab commented 3 years ago

Hi all, after a white i came back to work on my project (last time i used ver 1.0.1 and everything works fine). If i update the library (any verson > 1.0.1) the system reboot continuously.

abort() was called at PC 0x4011ec63 on core 1

ELF file SHA256: 0000000000000000

Backtrace: 0x4008ebdc:0x3ffc6ba0 0x4008ee59:0x3ffc6bc0 0x4011ec63:0x3ffc6be0 0x4011ecaa:0x3ffc6c00 0x4011f689:0x3ffc6c20 0x4011e6b8:0x3ffc6c40 0x4011f039:0x3ffc6c60 0x400d2edf:0x3ffc6c80 0x400d2f35:0x3ffc6cb0 0x400d31a5:0x3ffc6cd0 0x400d32ae:0x3ffc6d30 0x400d1abd:0x3ffc6d50 0x400d2c47:0x3ffc6da0 0x400e78e5:0x3ffc6dc0 0x4008fe5a:0x3ffc6de0

Rebooting... ets Jun 8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 188777542, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:1 load:0x3fff0018,len:4 load:0x3fff001c,len:1044 load:0x40078000,len:10124 load:0x40080400,len:5856 entry 0x400806a8

Maybe it depends to my code. Tested with espe32 Dev and esp32 Pico..same result.

Thx for any help!

tamboekie commented 3 years ago

I have had the same experience. I tried it with v1.1.0 and v1.0.4 and got the same result as @M9lab. Then I downgraded to v1.0.1 and the resets seem to have stopped. However, I'm fairly certain the sketch (PoweredUpRemoteAutoDetection example) did not work. My board is a generic ESP32 development module. Using Arduino IDE 1.8.13 on Ubuntu 20.04, NimBLE-Arduino 1.2.0.

Rebooting...
ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:10944
load:0x40080400,len:6388
entry 0x400806b4
PoweredUpController v0.1
abort() was called at PC 0x4011ba27 on core 1

ELF file SHA256: 0000000000000000

Backtrace: 0x4008ebdc:0x3ffc64f0 0x4008ee59:0x3ffc6510 0x4011ba27:0x3ffc6530 0x4011ba6e:0x3ffc6550 0x4011c44d:0x3ffc6570 0x4011b47c:0x3ffc6590 0x4011bdfd:0x3ffc65b0 0x400d17c7:0x3ffc65d0 0x400d181d:0x3ffc6600 0x400d1a29:0x3ffc6620 0x400d14b3:0x3ffc6680 0x400e5bad:0x3ffc66a0 0x4008fe6a:0x3ffc66c0

FYI: The "PoweredUpController v0.1" is a println I added to the end of the setup() function:

void setup()
{
  Serial.begin(115200);
  myRemote.init(); // initialize the remote hub
  myHub.init();    // initialize the listening hub
  Serial.println("PoweredUpController v0.1");
}
M9lab commented 3 years ago

The problem depends by the init method in loop!!!

Maybe i found a solution:

remove all init function :

myRemote.init(); myHub.init();

except in setup function

Alternatively set a flag on the init method in loop so you can call once (if device is not connected)