parent
f4f62a2a77
commit
1b9afed3d0
|
|
@ -279,6 +279,12 @@ static void ledc_init(void) {
|
||||||
ESP_ERROR_CHECK(ledc_channel_config(&ledc_gate_channel));
|
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) {
|
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;
|
esp_lcd_panel_handle_t panel_handle = (esp_lcd_panel_handle_t)drv->user_data;
|
||||||
int offsetx1 = area->x1;
|
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));
|
ESP_ERROR_CHECK(spi_bus_initialize(SPI2_HOST, &spi_cfg, SPI_DMA_CH_AUTO));
|
||||||
|
|
||||||
// Setup Panel IO
|
// Setup Panel IO
|
||||||
|
static lv_disp_drv_t disp_drv;
|
||||||
esp_lcd_panel_io_handle_t lcd_io_handle = NULL;
|
esp_lcd_panel_io_handle_t lcd_io_handle = NULL;
|
||||||
esp_lcd_panel_io_spi_config_t lcd_spi_config = {
|
esp_lcd_panel_io_spi_config_t lcd_spi_config = {
|
||||||
.dc_gpio_num = LCD_DC_PIN,
|
.dc_gpio_num = LCD_DC_PIN,
|
||||||
|
|
@ -332,7 +339,9 @@ static void display_init(void) {
|
||||||
.lcd_cmd_bits = 8,
|
.lcd_cmd_bits = 8,
|
||||||
.lcd_param_bits = 8,
|
.lcd_param_bits = 8,
|
||||||
.spi_mode = 0,
|
.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));
|
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);
|
lv_disp_draw_buf_init(&disp_buf, buf1, buf2, LCD_H_RES * 80);
|
||||||
|
|
||||||
// Initialize display driver then register it
|
// Initialize display driver then register it
|
||||||
static lv_disp_drv_t disp_drv;
|
|
||||||
lv_disp_drv_init(&disp_drv);
|
lv_disp_drv_init(&disp_drv);
|
||||||
disp_drv.hor_res = LCD_H_RES;
|
disp_drv.hor_res = LCD_H_RES;
|
||||||
disp_drv.ver_res = LCD_V_RES;
|
disp_drv.ver_res = LCD_V_RES;
|
||||||
|
|
|
||||||
Reference in New Issue