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 to
ui_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 to
ui_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