mirror of
https://github.com/espressif/esp-idf.git
synced 2025-11-16 23:39:51 +01:00
lcd: support multi framebuffers for RGB LCD driver
This commit is contained in:
@@ -52,6 +52,12 @@ static const char *TAG = "example";
|
||||
#define EXAMPLE_LCD_H_RES 800
|
||||
#define EXAMPLE_LCD_V_RES 480
|
||||
|
||||
#if CONFIG_EXAMPLE_DOUBLE_FB
|
||||
#define EXAMPLE_LCD_NUM_FB 2
|
||||
#else
|
||||
#define EXAMPLE_LCD_NUM_FB 1
|
||||
#endif // CONFIG_EXAMPLE_DOUBLE_FB
|
||||
|
||||
#define EXAMPLE_LVGL_TICK_PERIOD_MS 2
|
||||
|
||||
// we use two semaphores to sync the VSYNC event and the LVGL task, to avoid potential tearing effect
|
||||
@@ -122,6 +128,7 @@ void app_main(void)
|
||||
esp_lcd_rgb_panel_config_t panel_config = {
|
||||
.data_width = 16, // RGB565 in parallel mode, thus 16bit in width
|
||||
.psram_trans_align = 64,
|
||||
.num_fbs = EXAMPLE_LCD_NUM_FB,
|
||||
#if CONFIG_EXAMPLE_USE_BOUNCE_BUFFER
|
||||
.bounce_buffer_size_px = 10 * EXAMPLE_LCD_H_RES,
|
||||
#endif
|
||||
@@ -163,9 +170,6 @@ void app_main(void)
|
||||
.flags.pclk_active_neg = true,
|
||||
},
|
||||
.flags.fb_in_psram = true, // allocate frame buffer in PSRAM
|
||||
#if CONFIG_EXAMPLE_DOUBLE_FB
|
||||
.flags.double_fb = true, // allocate double frame buffer
|
||||
#endif // CONFIG_EXAMPLE_DOUBLE_FB
|
||||
};
|
||||
ESP_ERROR_CHECK(esp_lcd_new_rgb_panel(&panel_config, &panel_handle));
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
#include "driver/gpio.h"
|
||||
#include "pretty_effect.h"
|
||||
|
||||
// Using SPI2 in the example, as it aslo supports octal modes on some targets
|
||||
// Using SPI2 in the example, as it also supports octal modes on some targets
|
||||
#define LCD_HOST SPI2_HOST
|
||||
// To speed up transfers, every SPI transfer sends a bunch of lines. This define specifies how many.
|
||||
// More means more memory use, but less overhead for setting up / finishing transfers. Make sure 240
|
||||
@@ -31,7 +31,7 @@
|
||||
#define EXAMPLE_LCD_PIXEL_CLOCK_HZ (20 * 1000 * 1000)
|
||||
#define EXAMPLE_LCD_BK_LIGHT_ON_LEVEL 0
|
||||
#define EXAMPLE_LCD_BK_LIGHT_OFF_LEVEL !EXAMPLE_LCD_BK_LIGHT_ON_LEVEL
|
||||
#define EXAMPLE_PIN_NUM_DATA0 23 /*!< for 1-line SPI, this also refered as MOSI */
|
||||
#define EXAMPLE_PIN_NUM_DATA0 23 /*!< for 1-line SPI, this also refereed as MOSI */
|
||||
#define EXAMPLE_PIN_NUM_PCLK 19
|
||||
#define EXAMPLE_PIN_NUM_CS 22
|
||||
#define EXAMPLE_PIN_NUM_DC 21
|
||||
|
||||
Reference in New Issue
Block a user