From f4a760d4823b0a5d0d5926bc11ce21775ea71dbc Mon Sep 17 00:00:00 2001 From: martinberlin Date: Fri, 28 May 2021 22:28:14 +0200 Subject: [PATCH] Enlarge DISP_BUF_SIZE. Remove epdiy_rounder callback since is not used --- lvgl_helpers.h | 3 ++- lvgl_tft/disp_driver.c | 2 -- lvgl_tft/epdiy_epaper.cpp | 8 +------- lvgl_tft/epdiy_epaper.h | 1 - 4 files changed, 3 insertions(+), 11 deletions(-) diff --git a/lvgl_helpers.h b/lvgl_helpers.h index 0fe8487..0a7a415 100644 --- a/lvgl_helpers.h +++ b/lvgl_helpers.h @@ -42,8 +42,9 @@ extern "C" { #define DISP_BUF_SIZE (LV_HOR_RES_MAX * 40) #elif defined CONFIG_LV_TFT_DISPLAY_CONTROLLER_ST7796S #define DISP_BUF_SIZE (LV_HOR_RES_MAX * 40) +// Here is the issue that it does not draw full epaper. Insufficient buffer: #elif defined (CONFIG_LV_EPAPER_EPDIY_DISPLAY_CONTROLLER) -#define DISP_BUF_SIZE (LV_HOR_RES_MAX * 40) +#define DISP_BUF_SIZE (LV_HOR_RES_MAX * 70) #elif defined CONFIG_LV_TFT_DISPLAY_CONTROLLER_HX8357 #define DISP_BUF_SIZE (LV_HOR_RES_MAX * 40) #elif defined CONFIG_LV_TFT_DISPLAY_CONTROLLER_SH1107 diff --git a/lvgl_tft/disp_driver.c b/lvgl_tft/disp_driver.c index e0d636b..07a6b2b 100644 --- a/lvgl_tft/disp_driver.c +++ b/lvgl_tft/disp_driver.c @@ -90,8 +90,6 @@ void disp_driver_rounder(lv_disp_drv_t * disp_drv, lv_area_t * area) // Does not apply so far to epdiy #if defined CONFIG_LV_TFT_DISPLAY_CONTROLLER_SSD1306 ssd1306_rounder(disp_drv, area); -#elif defined CONFIG_LV_EPAPER_EPDIY_DISPLAY_CONTROLLER - epdiy_rounder(disp_drv, area); #elif defined CONFIG_LV_TFT_DISPLAY_CONTROLLER_SH1107 sh1107_rounder(disp_drv, area); #elif defined CONFIG_LV_TFT_DISPLAY_CONTROLLER_IL3820 diff --git a/lvgl_tft/epdiy_epaper.cpp b/lvgl_tft/epdiy_epaper.cpp index da91ffc..5729a05 100644 --- a/lvgl_tft/epdiy_epaper.cpp +++ b/lvgl_tft/epdiy_epaper.cpp @@ -25,7 +25,7 @@ void epdiy_init(void) printf("epdiy_init\n"); display.init(); display.setRotation(0); - //display.clearScreen(); + display.clearScreen(); } /* Required by LVGL */ @@ -57,9 +57,3 @@ void epdiy_set_px_cb(lv_disp_drv_t * disp_drv, uint8_t* buf, } display.drawPixel((int16_t)x, (int16_t)y, epd_color); } - -/* Required by LVGL. Not used in this implementation - deprecated, will be removed */ -void epdiy_rounder(lv_disp_drv_t * disp_drv, lv_area_t *area) { - area->x1 = area->x1 & ~(0x7); - area->x2 = area->x2 | (0x7); -} diff --git a/lvgl_tft/epdiy_epaper.h b/lvgl_tft/epdiy_epaper.h index 1cad34f..247ceea 100644 --- a/lvgl_tft/epdiy_epaper.h +++ b/lvgl_tft/epdiy_epaper.h @@ -28,7 +28,6 @@ void epdiy_flush(lv_disp_drv_t *drv, const lv_area_t *area, lv_color_t *color_ma //void epdiy_rounder(lv_disp_drv_t *disp_drv, lv_area_t *area); void epdiy_set_px_cb(lv_disp_drv_t *disp_drv, uint8_t *buf, lv_coord_t buf_w, lv_coord_t x, lv_coord_t y, lv_color_t color, lv_opa_t opa); -void epdiy_rounder(lv_disp_drv_t * disp_drv, lv_area_t *area); #ifdef __cplusplus } /* extern "C" */ #endif