mrcodetastic / ESP32-HUB75-MatrixPanel-DMA

An Adafruit GFX Compatible Library for the ESP32, ESP32-S2, ESP32-S3 to drive HUB75 LED matrix panels using DMA for high refresh rates. Supports panel chaining.
MIT License
952 stars 211 forks source link

Restart esp32 #249

Open dmb-220 opened 2 years ago

dmb-220 commented 2 years ago

IMG_20220127_180511 64x64 4 panel. Poeer supply 5v 30A, restart esp32, is not working properly. Connect wifi ntp and openweather, draws on matrix. Restart 3-5 times for day. Push restart esp32 module, working ok.

DarrylStrong commented 2 years ago

Which panels are those please?

What does it do to require a restart? Totally stop running?

solhuebner commented 2 years ago

Can you capture the serial output? Arduino or ESP-IDF? Which version?

davemaster commented 2 years ago

May be a Power supply issue, consider 10-12A per panel

Best regards

dmb-220 commented 2 years ago

Which panels are those please?

What does it do to require a restart? Totally stop running?

the controller restarts itself, and shows how the photo is pinned. you need to press restar to display OK

matrix panel from https://www.aliexpress.com/item/32959774837.html?spm=2114.13010708.0.0.3a994c4dij1cot

dmb-220 commented 2 years ago

https://github.com/dmb-220/RGB-matrix

dmb-220 commented 2 years ago

Guru Meditation Error: Core 0 panic'ed (Unhandled debug exception) Debug exception reason: Stack canary watchpoint triggered (TaskORAI) Core 0 register dump: PC : 0x40087725 PS : 0x00060936 A0 : 0x00060930 A1 : 0x3ffce510
A2 : 0x00000000 A3 : 0x00060923 A4 : 0x00060920 A5 : 0x00000001
A6 : 0x00060923 A7 : 0x00000000 A8 : 0x80085cd6 A9 : 0x3ffce5a0
A10 : 0x00000001 A11 : 0x3ffcecf4 A12 : 0x00000001 A13 : 0x00000001
A14 : 0x00060923 A15 : 0x00000000 SAR : 0x00000010 EXCCAUSE: 0x00000001
EXCVADDR: 0x00000000 LBEG : 0x4000c2e0 LEND : 0x4000c2f6 LCOUNT : 0xffffffff

ELF file SHA256: 0000000000000000

Backtrace: 0x40087725:0x3ffce510 0x0006092d:0x3ffce5e0 0x40089bd9:0x3ffce600 0x4013780f:0x3ffce640 0x40081f86:0x3ffce660 0x400e98d1:0x3ffce690 0x40146e8d:0x3ffce6c0 0x40124305:0x3ffce6e0 0x4011ea4d:0x3ffce700 0x4011ed41:0x3ffce720 0x4011fca6:0x3ffce750 0x4011fd42:0x3ffce790 0x4011c704:0x3ffce7c0 0x4011c7c1:0x3ffce800 0x4011c962:0x3ffce820 0x4011a6e5:0x3ffce860 0x4011a81a:0x3ffce8a0 0x4011ae29:0x3ffce8c0 0x4011b49d:0x3ffce8f0 0x4011b4e9:0x3ffce910 0x400d571e:0x3ffce930 0x400d4e2f:0x3ffce970 0x400d72e6:0x3ffce9a0 0x400d7369:0x3ffce9d0 0x400d74e3:0x3ffcea20 0x400d2c8d:0x3ffcea40 0x400d2df2:0x3ffceb40 0x400d3132:0x3ffcec40 0x4008a16e:0x3ffcec60

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 Starting... Speed: (Mhz) 240 WIFI connect ... Telia-126300

BACKTRACE decoder

Decoding stack results 0x40089bd9: xQueueGenericSend at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/queue.c line 828 0x4013780f: queue_send_wrapper at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp32/esp_adapter.c line 318 0x40146e8d: low_level_output at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/lwip/port/esp32/netif/wlanif.c line 122 0x40124305: ethernet_output at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/lwip/lwip/src/netif/ethernet.c line 309 0x4011ea4d: etharp_output_to_arp_index at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/lwip/lwip/src/core/ipv4/etharp.c line 787 0x4011ed41: etharp_output at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/lwip/lwip/src/core/ipv4/etharp.c line 889 0x4011fca6: ip4_output_if_opt_src at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/lwip/lwip/src/core/ipv4/ip4.c line 1037 0x4011fd42: ip4_output_if_src at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/lwip/lwip/src/core/ipv4/ip4.c line 870 0x4011c704: udp_sendto_if_src at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/lwip/lwip/src/core/udp.c line 882 0x4011c7c1: udp_sendto_if at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/lwip/lwip/src/core/udp.c line 689 0x4011c962: udp_sendto at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/lwip/lwip/src/core/udp.c line 598 0x4011a6e5: dns_send at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/lwip/lwip/src/core/dns.c line 863 0x4011a81a: dns_check_entry at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/lwip/lwip/src/core/dns.c line 1061 0x4011ae29: dns_enqueue at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/lwip/lwip/src/core/dns.c line 1480 0x4011b49d: dns_gethostbyname_addrtype at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/lwip/lwip/src/core/dns.c line 1625 0x4011b4e9: dns_gethostbyname at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/lwip/lwip/src/core/dns.c line 1510 0x400d571e: WiFiGenericClass::hostByName(char const, IPAddress&) at C:\Users\andri\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\WiFi\src\WiFiGeneric.cpp line 730 0x400d4e2f: WiFiClient::connect(char const, unsigned short, int) at C:\Users\andri\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\WiFi\src\WiFiClient.cpp line 278 0x400d72e6: HTTPClient::connect() at C:\Users\andri\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\HTTPClient\src\HTTPClient.cpp line 1117 0x400d7369: HTTPClient::sendRequest(char const, unsigned char, unsigned int) at C:\Users\andri\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\HTTPClient\src\HTTPClient.cpp line 582 0x400d74e3: HTTPClient::GET() at C:\Users\andri\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\HTTPClient\src\HTTPClient.cpp line 499 0x400d2c8d: httpGETRequest(char const) at C:\Users\andri\AppData\Local\Temp\arduino_build_225523\sketch/orai.h line 47 0x400d2df2: orai() at C:\Users\andri\AppData\Local\Temp\arduino_build_225523\sketch/orai.h line 74 0x400d3132: TaskORAI(void) at C:\Users\andri\Darbalaukis\PROJECTS\RGB-FreeRTos/RGB-FreeRTos.ino line 151 0x4008a16e: vPortTaskWrapper at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/port.c line 143

solhuebner commented 2 years ago

A couple of things to test:

Use of xTaskCreatePinnedToCore for TaskORAI and pin to core 1

use https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/freertos.html#_CPPv427uxTaskGetStackHighWaterMark12TaskHandle_t to find the right stack size for that task or just ramp it up a bit

use the latest version of Arduino ESP32

mrcodetastic commented 2 years ago

Does it restart if you do not have the LED matrix panels connected and turned on? You can still run the sketch and ESP32 without the LED matrix panels of course.... just keep a watch of the serial output.

If it still crashes without the LED panels then you a memory issue, else you have a power issue.

Either way, this isn't an issue caused by this library.