ESP32s3 7 inch display Home assistant - MQTT issue

HI i have recently bought the 7inch display SKU DIS08070H.
i am using Arduino 2.3.2 and trying to use the MQTT sequence for my project. i have managed to upload the Home assistant code from the Wiki page and i have set up a Mqtt Broker and client from my phone. unfortunatley when it gets to sending the message via Mqtt the display shuts down with the following message on the serial port

Guru Meditation Error: Core 1 panic'ed (Interrupt wdt timeout on CPU1).

Core 1 register dump:
PC : 0x420bb0ef PS : 0x00060734 A0 : 0x820bb437 A1 : 0x3fcebde0
A2 : 0x3fcec930 A3 : 0x420bb474 A4 : 0x3fcebe44 A5 : 0x3fcec938
A6 : 0xfffffffc A7 : 0x00000001 A8 : 0x820bb0e5 A9 : 0x3fcebdc0
A10 : 0x3fcec938 A11 : 0xfffffffc A12 : 0x00000000 A13 : 0x3fcebe44
A14 : 0x00060720 A15 : 0x00000001 SAR : 0x0000000e EXCCAUSE: 0x00000006
EXCVADDR: 0x00000000 LBEG : 0x400570e8 LEND : 0x400570f3 LCOUNT : 0x00000000

Backtrace: 0x420bb0ec:0x3fcebde0 0x420bb434:0x3fcebe00 0x420bb4c1:0x3fcebe20 0x42066bea:0x3fcebe40 0x42066c35:0x3fcebe80 0x4203980e:0x3fcebec0 0x42004f46:0x3fcebee0 0x42001ca9:0x3fcebf10 0x4203c725:0x3fcebf40

Core 0 register dump:
PC : 0x40380aa7 PS : 0x00060c34 A0 : 0x80383408 A1 : 0x�

i have decoded the message uding the exception decoder and it give the bellow message

Decoding stack results
0x420bb0ec: tlsf_walk_pool at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap\heap_tlsf_block_functions.h:133
0x420bb434: multi_heap_get_info_impl at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap\multi_heap.c:400
0x420bb4c1: multi_heap_get_info at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap\multi_heap_poisoning.c:371
0x42066bea: heap_caps_get_info at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap\heap_caps.c:556
0x42066c35: heap_caps_get_largest_free_block at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap\heap_caps.c:544
0x4203980e: EspClass::getMaxAllocHeap() at C:\Users\MSI\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.15\cores\esp32\Esp.cpp:151
0x42004f46: is in AsyncMqttClient::publish(char const*, unsigned char, bool, char const*, unsigned int, bool, unsigned short) (c:\Users\MSI\Documents\Arduino\libraries\AsyncMqttClient\src\AsyncMqttClient.cpp:739).
0x42001ca9: loop() at C:\Users\MSI\Documents\Arduino\FRESH COPY 7 INCH\7.0-inch_Squareline_Demo\7.0-inch_Squareline_Demo.ino:376
0x4203c725: loopTask(void*) at C:\Users\MSI\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.15\cores\esp32\main.cpp:50
i have tried the AssyncMQTT libray from the 5 inch display ( reading there that it might work ) but i cant go any further.

i tried also the 3.5 inch display with the respecive code?libraries and that works great.

i really appreciate your help.

Comments

  • Hello @adcciuca ,
    Thank you for your information.
    Could you please try to run this sample code?https://www.elecrow.com/download/product/ESP32_Display/7.0inch/HomeAssistant_7.0.zip

  • HI , thanks for your reply.
    i have tried the code in your link and the results are bellow

    i have removed all the other Arduino libraries from the libraries folder, leaving only the ones copied from your archive
    on first compilation i got the bellow
    quote
    c:/users/msi/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-2021r2-patch5-8.4.0/bin/../lib/gcc/xtensa-esp32s3-elf/8.4.0/../../../../xtensa-esp32s3-elf/bin/ld.exe: C:\Users\MSI\AppData\Local\Temp\arduino\sketches\CCE05682234D2DF907A6DB9F1E4A77C6\sketch\objs.a(ui.c.o):(.literal.ui_Screen1_screen_init+0x8): undefined reference to ui_img_small_temp_png' c:/users/msi/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-2021r2-patch5-8.4.0/bin/../lib/gcc/xtensa-esp32s3-elf/8.4.0/../../../../xtensa-esp32s3-elf/bin/ld.exe: C:\Users\MSI\AppData\Local\Temp\arduino\sketches\CCE05682234D2DF907A6DB9F1E4A77C6\sketch\objs.a(ui.c.o):(.literal.ui_Screen1_screen_init+0x18): undefined reference toui_img_small_hum_png'
    c:/users/msi/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-2021r2-patch5-8.4.0/bin/../lib/gcc/xtensa-esp32s3-elf/8.4.0/../../../../xtensa-esp32s3-elf/bin/ld.exe: C:\Users\MSI\AppData\Local\Temp\arduino\sketches\CCE05682234D2DF907A6DB9F1E4A77C6\sketch\objs.a(ui.c.o):(.literal.ui_Screen1_screen_init+0x20): undefined reference to ui_img_small_logo_png' c:/users/msi/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-2021r2-patch5-8.4.0/bin/../lib/gcc/xtensa-esp32s3-elf/8.4.0/../../../../xtensa-esp32s3-elf/bin/ld.exe: C:\Users\MSI\AppData\Local\Temp\arduino\sketches\CCE05682234D2DF907A6DB9F1E4A77C6\sketch\objs.a(ui.c.o):(.literal.ui_Screen1_screen_init+0x28): undefined reference toui_img_small_off_png'
    collect2.exe: error: ld returned 1 exit status

    exit status 1

    Compilation error: exit status 1
    unquote
    i presumed that the fies should reference the ui_img_elecrow_logo_png, ui_img_humidity_png, ui_img_off_png, ui_img_temp_png
    which were included in the folder. i have modified the ui.c and ui.h to match the files and the program compiled , but with the same results. its shots down when the first temp/hum Mqtt message is sent .

    if Mqtt is not connected, it is no problem, it does not shut down.

    i hvae seen on the forum :I changed the frame rate from 16mhz to 8 and mqtt worked - but the display flickered
    I found that 12 mhz worked and 14 mhz does not work,
    When I first boot up the display it flickers a little then seems to stop or at least is not noticiable.
    Even at 16mhz there is some flicker on start up then it "goes away".
    where do i change the frame rate?
    Adrian

  • Hello Adrian,
    You can change the frame rate at line 84 in 7.0-inch_Squareline_Demo.ino

  • Hi, i thought it was somewhere else. i have tried changing the freq but the same
    but i believe i found where the program crashes.
    in async-mqtt-client/src
    /AsyncMqttClient.cpp
    if (_state != CONNECTED || GET_FREE_MEMORY() < MQTT_MIN_FREE_MEMORY) return 0;
    i have commented the line out and the program is working fine, Mqtt tested and working. i dont think this is the way to go, this memory check it is important somewhere but i do not have the knowledge to dig any deeper. can you have a look to see what to do next?

    best regards
    adrian

Sign In or Register to comment.