Merge pull request #30 from lvgl/fix/display_buffer_size
Enable using custom display buffer size, closes #27
This commit is contained in:
commit
19a943c015
|
@ -21,6 +21,21 @@ extern "C" {
|
||||||
/*********************
|
/*********************
|
||||||
* DEFINES
|
* DEFINES
|
||||||
*********************/
|
*********************/
|
||||||
|
|
||||||
|
/* DISP_BUF_SIZE value doesn't have an special meaning, but it's the size
|
||||||
|
* of the buffer(s) passed to LVGL as display buffers. The default values used
|
||||||
|
* were the values working for the contributor of the display controller.
|
||||||
|
*
|
||||||
|
* As LVGL supports partial display updates the DISP_BUF_SIZE doesn't
|
||||||
|
* necessarily need to be equal to the display size.
|
||||||
|
*
|
||||||
|
* When using RGB displays the display buffer size will also depends on the
|
||||||
|
* color format being used, for RGB565 each pixel needs 2 bytes.
|
||||||
|
* When using the mono theme, the display pixels can be represented in one bit,
|
||||||
|
* so the buffer size can be divided by 8, e.g. see SSD1306 display size. */
|
||||||
|
#if defined (CONFIG_CUSTOM_DISPLAY_BUFFER_SIZE)
|
||||||
|
#define DISP_BUF_SIZE CONFIG_CUSTOM_DISPLAY_BUFFER_BYTES
|
||||||
|
#else
|
||||||
#if defined (CONFIG_LV_TFT_DISPLAY_CONTROLLER_ST7789)
|
#if defined (CONFIG_LV_TFT_DISPLAY_CONTROLLER_ST7789)
|
||||||
#define DISP_BUF_SIZE (LV_HOR_RES_MAX * 40)
|
#define DISP_BUF_SIZE (LV_HOR_RES_MAX * 40)
|
||||||
#elif defined CONFIG_LV_TFT_DISPLAY_CONTROLLER_ST7735S
|
#elif defined CONFIG_LV_TFT_DISPLAY_CONTROLLER_ST7735S
|
||||||
|
@ -38,7 +53,7 @@ extern "C" {
|
||||||
#elif defined CONFIG_LV_TFT_DISPLAY_CONTROLLER_ILI9488
|
#elif defined CONFIG_LV_TFT_DISPLAY_CONTROLLER_ILI9488
|
||||||
#define DISP_BUF_SIZE (LV_HOR_RES_MAX * 40)
|
#define DISP_BUF_SIZE (LV_HOR_RES_MAX * 40)
|
||||||
#elif defined CONFIG_LV_TFT_DISPLAY_CONTROLLER_ILI9341
|
#elif defined CONFIG_LV_TFT_DISPLAY_CONTROLLER_ILI9341
|
||||||
#define DISP_BUF_SIZE (LV_HOR_RES_MAX * 64)
|
#define DISP_BUF_SIZE (LV_HOR_RES_MAX * 40)
|
||||||
#elif defined CONFIG_LV_TFT_DISPLAY_CONTROLLER_SSD1306
|
#elif defined CONFIG_LV_TFT_DISPLAY_CONTROLLER_SSD1306
|
||||||
#define DISP_BUF_SIZE (LV_HOR_RES_MAX * (LV_VER_RES_MAX / 8))
|
#define DISP_BUF_SIZE (LV_HOR_RES_MAX * (LV_VER_RES_MAX / 8))
|
||||||
#elif defined (CONFIG_LV_TFT_DISPLAY_CONTROLLER_FT81X)
|
#elif defined (CONFIG_LV_TFT_DISPLAY_CONTROLLER_FT81X)
|
||||||
|
@ -57,6 +72,7 @@ extern "C" {
|
||||||
#else
|
#else
|
||||||
#error "No display controller selected"
|
#error "No display controller selected"
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**********************
|
/**********************
|
||||||
* TYPEDEFS
|
* TYPEDEFS
|
||||||
|
|
|
@ -328,6 +328,18 @@ menu "LVGL TFT Display controller"
|
||||||
select LV_TFT_DISPLAY_PROTOCOL_SPI
|
select LV_TFT_DISPLAY_PROTOCOL_SPI
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
|
config CUSTOM_DISPLAY_BUFFER_SIZE
|
||||||
|
bool "Use custom display buffer size (bytes)"
|
||||||
|
help
|
||||||
|
Enable to use a custom display buffer size.
|
||||||
|
|
||||||
|
config CUSTOM_DISPLAY_BUFFER_BYTES
|
||||||
|
int "Custom buffer size (bytes)"
|
||||||
|
depends on CUSTOM_DISPLAY_BUFFER_SIZE
|
||||||
|
default 1024
|
||||||
|
help
|
||||||
|
See Display buffer on LVGL docs for more information.
|
||||||
|
|
||||||
# Select one of the available FT81x configurations.
|
# Select one of the available FT81x configurations.
|
||||||
choice
|
choice
|
||||||
prompt "Select a FT81x configuration." if LV_TFT_DISPLAY_USER_CONTROLLER_FT81X
|
prompt "Select a FT81x configuration." if LV_TFT_DISPLAY_USER_CONTROLLER_FT81X
|
||||||
|
|
Loading…
Reference in a new issue