Open ihouses opened 3 years ago
It sounds like you are using v8; I am not sure that this repo has been updated to that version yet.
Working on it @embeddedt ... 🕐
@ihouses Can you test the https://github.com/lvgl/lvgl_esp32_drivers/tree/feature/v8_support branch? I've added checks for the issues you've mentioned, but I don't have a setup to test them.
lvgl_helpers.h
also has a reference to LV_HOR_RES_MAX
and LV_VER_RES_MAX
(they're being used to calculate DISP_BUF_SIZE
), we can bypass it by setting CUSTOM_DISPLAY_BUFFER_SIZE
on the menuconfig.
If we grep for DISP_BUF_SIZE
in lvgl_esp32_drivers
we get the following output:
lvgl_helpers.c: ESP_LOGI(TAG, "Display buffer size: %d", DISP_BUF_SIZE);
lvgl_helpers.h:/* DISP_BUF_SIZE value doesn't have an special meaning, but it's the size
lvgl_helpers.h: * As LVGL supports partial display updates the DISP_BUF_SIZE doesn't
lvgl_helpers.h:#define DISP_BUF_SIZE CONFIG_CUSTOM_DISPLAY_BUFFER_BYTES
lvgl_helpers.h:#define DISP_BUF_SIZE (LV_HOR_RES_MAX * 40)
lvgl_helpers.h:#define DISP_BUF_SIZE (LV_HOR_RES_MAX * 40)
lvgl_helpers.h:#define DISP_BUF_SIZE (LV_HOR_RES_MAX * 40)
lvgl_helpers.h:#define DISP_BUF_SIZE (LV_HOR_RES_MAX * 40)
lvgl_helpers.h:#define DISP_BUF_SIZE (LV_HOR_RES_MAX * LV_VER_RES_MAX)
lvgl_helpers.h:#define DISP_BUF_SIZE (LV_HOR_RES_MAX * 40)
lvgl_helpers.h:#define DISP_BUF_SIZE (LV_HOR_RES_MAX * 40)
lvgl_helpers.h:#define DISP_BUF_SIZE (LV_HOR_RES_MAX * 40)
lvgl_helpers.h:#define DISP_BUF_SIZE (LV_HOR_RES_MAX * 40)
lvgl_helpers.h:#define DISP_BUF_SIZE (LV_HOR_RES_MAX * (LV_VER_RES_MAX / 8))
lvgl_helpers.h:#define DISP_BUF_SIZE (LV_HOR_RES_MAX * LV_VER_RES_MAX)
lvgl_helpers.h:#define DISP_BUF_SIZE (LV_HOR_RES_MAX * DISP_BUF_LINES)
lvgl_helpers.h:#define DISP_BUF_SIZE (LV_VER_RES_MAX * IL3820_COLUMNS)
lvgl_helpers.h:#define DISP_BUF_SIZE (LV_HOR_RES_MAX * 40)
lvgl_helpers.h:#define DISP_BUF_SIZE (LV_HOR_RES_MAX * 40)
lvgl_helpers.h:#define DISP_BUF_SIZE ((LV_VER_RES_MAX * LV_VER_RES_MAX) / 8) // 5KB
lvgl_helpers.h:#define DISP_BUF_SIZE ((LV_VER_RES_MAX * LV_VER_RES_MAX) / 8) // 2888 bytes
lvgl_helpers.h:#define DISP_BUF_SIZE (LV_HOR_RES_MAX * 40)
lvgl_spi_conf.h:#define SPI_BUS_MAX_TRANSFER_SZ (DISP_BUF_SIZE * 3)
lvgl_spi_conf.h:#define SPI_BUS_MAX_TRANSFER_SZ (DISP_BUF_SIZE * 2)
lvgl_spi_conf.h:#define SPI_BUS_MAX_TRANSFER_SZ (DISP_BUF_SIZE * 2)
lvgl_tft/EVE_config.h:#define SPI_TRANSER_SIZE (DISP_BUF_SIZE * (LV_COLOR_DEPTH / 8))
lvgl_tft/st7735s.h:#define DISP_BUF_SIZE (LV_HOR_RES_MAX * 40)
@kisvegabor @embeddedt How can we calculate DISP_BUF_SIZE
when using v8?
EDIT
I guess we should use disp_drv.hor_res
and disp_drv.ver_res
and make DISP_BUF_SIZE
a variable instead of a defined symbol?
I had the same problem, and using the features/v8_support branch got past that error. I'm now getting:
../components/lvgl_esp32_drivers/lvgl_helpers.c:22:10: fatal error: src/lv_core/lv_refr.h: No such file or directory
#include "src/lv_core/lv_refr.h"
^~~~~~~~~~~~~~~~~~~~~~~
I got some compilation errors in lvgl_helpers.c
First:
ifdef LV_LVGL_H_INCLUDE_SIMPLE
include "src/core/lv_refr.h" instead of #include "src/lv_core/lv_refr.h"
else
include "lvgl/src/core/lv_refr.h" instead of #include "lvgl/src/lv_core/lv_refr.h"
endif
The I get as well this:
../components/lvgl_esp32_drivers/lvgl_helpers.c:56:57: error: 'LV_HOR_RES_MAX' undeclared (first use in this function); did you mean 'LV_HOR_RES'?
ESP_LOGI(TAG, "Display hor size: %d, ver size: %d", LV_HOR_RES_MAX, LV_VER_RES_MAX);
Last issue looks like is caming from the past: https://github.com/lvgl/lv_port_esp32/pull/124
I am using the round screen driver GC9A01 resolution 240x240.
Can I change LV_HOR_RES_MAX and LV_VER_RES_MAX for 240?