diff --git a/app/module/drivers/display/Kconfig.il0323 b/app/module/drivers/display/Kconfig.il0323 index 1f23d6c0d2d..2704023ce9e 100644 --- a/app/module/drivers/display/Kconfig.il0323 +++ b/app/module/drivers/display/Kconfig.il0323 @@ -13,3 +13,7 @@ config IL0323 config IL0323_INVERT bool "Invert display" default n + +config IL0323_ALTERNATIVE_REFRESH + bool "Use an alternative approach for partial refreshes" + default n diff --git a/app/module/drivers/display/il0323.c b/app/module/drivers/display/il0323.c index 42a56427210..4eef5cfd36b 100644 --- a/app/module/drivers/display/il0323.c +++ b/app/module/drivers/display/il0323.c @@ -124,7 +124,11 @@ static int il0323_write(const struct device *dev, const uint16_t x, const uint16 ptl[IL0323_PTL_HRED_IDX] = x_end_idx; ptl[IL0323_PTL_VRST_IDX] = y; ptl[IL0323_PTL_VRED_IDX] = y_end_idx; +#if IS_ENABLED(CONFIG_IL0323_ALTERNATIVE_REFRESH) + ptl[sizeof(ptl) - 1] = 0; // limits fading outside of refresh window +#else ptl[sizeof(ptl) - 1] = IL0323_PTL_PT_SCAN; +#endif LOG_HEXDUMP_DBG(ptl, sizeof(ptl), "ptl"); il0323_busy_wait(cfg);