-
Notifications
You must be signed in to change notification settings - Fork 56
Description
Does the esp32-3248S035C, with it's higher resolution, have sufficient memory to run the demo? Mine hangs at lv_display_set_buffers
I'm not sure if this is a esp32-smartdisplay-demo, an lvgl thing, or if the board can't be used this way. When shipped it had the lvgl demo on it, and the display & cap touch worked fine so I don't think it's bum hardware.
But this demo hangs at lv_display_set_buffers; I added some extra log statements in lvgl to localize it:
rst:0x1 (POWERON_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:2
load:0x3fff0030,len:1184
load:0x40078000,len:13232
load:0x40080400,len:3028
entry 0x400805e4
[ 7][D][esp32-hal-cpu.c:244] setCpuFrequencyMhz(): PLL: 480 / 2 = 240 Mhz, APB: 80000000 Hz
[ 5024][V][esp32-hal-uart.c:330] uartBegin(): UART0 baud(115200) Mode(800001c) rxPin(3) txPin(1)
[ 5034][V][esp32-hal-uart.c:416] uartBegin(): UART0 not installed. Starting installation
[ 5045][V][esp32-hal-uart.c:463] uartBegin(): UART0 initialization done.
[ 5059][I][main.cpp:27] setup(): Board: esp32-3248S035C
[ 5064][I][main.cpp:28] setup(): CPU: ESP32-D0WD-V3 rev3, CPU Freq: 240 Mhz, 2 core(s)
[ 5072][I][main.cpp:29] setup(): Free heap: 245552 bytes
[ 5078][I][main.cpp:30] setup(): Free PSRAM: 0 bytes
[ 5082][I][main.cpp:31] setup(): SDK version: v4.4.7-dirty
[ 5088][D][esp32_smartdisplay.c:159] smartdisplay_init(): smartdisplay_init
[ 5095][D][esp32_smartdisplay.c:110] smartdisplay_led_set_rgb(): R:0, G:0, B:0
[ 5103][I][esp32_smartdisplay.c:37] lvgl_log(): [Info] (0.000, +0) lv_init: begin lv_init.c:160
[ 5121][V][lvgl_panel_st7796_spi.c:34] lvgl_lcd_init(): display:0x3ffc2bfc
[ 5128][V][lvgl_panel_st7796_spi.c:37] lvgl_lcd_init(): heap_caps_malloc w/ 3 x 38400 = 115200
[ 5137][V][lvgl_panel_st7796_spi.c:40] lvgl_lcd_init(): lv_display_set_buffers...
I also tried changing the LV_MEM_SIZE calculation in lv_conf.h; same result:
#if LV_USE_STDLIB_MALLOC == LV_STDLIB_BUILTIN
/*Size of the memory available for `lv_malloc()` in bytes (>= 2kB)*/
#define LV_MEM_SIZE (96 * 1024U) /*[bytes] - was 64x, 128==error */
If it is supposed to work I can chase it down with lvgl.
--- edit ---
My issue is likely caused by the complexity of platformio. I can get the lvgllvgl_arduino demo that prints Hello Arduino, I'm LVGL! to the center of TFT working, so I came back to this lib and started from scratch. At one point I caught sight of a notification that had something about too many ???... pausing updates for 10 minutes which might? be due to libraries being added to all the board defs? So I'm not sure what state the files are in. At any rate, it doesn't even turn on the backlight before hanging in the same place (lvgl_lcd_init).
Interestingly I couldn't just turn on the 'use demo widgets' in the lvgl demo; 'out of memory'. So I'm back to wondering if it's the lack of psram + higher screen resolution on this model.