parent
f4f62a2a77
commit
1b9afed3d0
|
|
@ -279,6 +279,12 @@ static void ledc_init(void) {
|
|||
ESP_ERROR_CHECK(ledc_channel_config(&ledc_gate_channel));
|
||||
}
|
||||
|
||||
static bool lvgl_notify_flush_ready(esp_lcd_panel_io_handle_t panel_io, esp_lcd_panel_io_event_data_t *edata, void *user_ctx) {
|
||||
lv_disp_drv_t *disp_driver = (lv_disp_drv_t *)user_ctx;
|
||||
lv_disp_flush_ready(disp_driver);
|
||||
return false;
|
||||
}
|
||||
|
||||
static void lvgl_flush_cb(lv_disp_drv_t *drv, const lv_area_t *area, lv_color_t *color_map) {
|
||||
esp_lcd_panel_handle_t panel_handle = (esp_lcd_panel_handle_t)drv->user_data;
|
||||
int offsetx1 = area->x1;
|
||||
|
|
@ -324,6 +330,7 @@ static void display_init(void) {
|
|||
ESP_ERROR_CHECK(spi_bus_initialize(SPI2_HOST, &spi_cfg, SPI_DMA_CH_AUTO));
|
||||
|
||||
// Setup Panel IO
|
||||
static lv_disp_drv_t disp_drv;
|
||||
esp_lcd_panel_io_handle_t lcd_io_handle = NULL;
|
||||
esp_lcd_panel_io_spi_config_t lcd_spi_config = {
|
||||
.dc_gpio_num = LCD_DC_PIN,
|
||||
|
|
@ -332,7 +339,9 @@ static void display_init(void) {
|
|||
.lcd_cmd_bits = 8,
|
||||
.lcd_param_bits = 8,
|
||||
.spi_mode = 0,
|
||||
.trans_queue_depth = 10
|
||||
.trans_queue_depth = 10,
|
||||
.on_color_trans_done = lvgl_notify_flush_ready,
|
||||
.user_ctx = &disp_drv
|
||||
};
|
||||
ESP_ERROR_CHECK(esp_lcd_new_panel_io_spi((esp_lcd_spi_bus_handle_t)SPI2_HOST, &lcd_spi_config, &lcd_io_handle));
|
||||
|
||||
|
|
@ -363,7 +372,6 @@ static void display_init(void) {
|
|||
lv_disp_draw_buf_init(&disp_buf, buf1, buf2, LCD_H_RES * 80);
|
||||
|
||||
// Initialize display driver then register it
|
||||
static lv_disp_drv_t disp_drv;
|
||||
lv_disp_drv_init(&disp_drv);
|
||||
disp_drv.hor_res = LCD_H_RES;
|
||||
disp_drv.ver_res = LCD_V_RES;
|
||||
|
|
|
|||
Reference in New Issue