From 6840b4444be58c7e98e7bd9f8887de5ac477d74a Mon Sep 17 00:00:00 2001 From: jturnsek Date: Fri, 15 Sep 2023 19:50:24 +0200 Subject: [PATCH] Adding Byte-Per-Pixel Memory model option to memlcd --- drivers/lcd/Kconfig | 7 +++++++ drivers/lcd/memlcd.c | 8 ++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/drivers/lcd/Kconfig b/drivers/lcd/Kconfig index 5b66f351008..66bd58ef864 100644 --- a/drivers/lcd/Kconfig +++ b/drivers/lcd/Kconfig @@ -1148,6 +1148,13 @@ config MEMLCD_SPI_FREQUENCY ---help--- Define to use a different bus frequency, FIXME DEFAULT VALUE OK? +config MEMLCD_BYTE_PER_PIXEL + bool "Byte-Per-Pixel Memory Model" + default n + ---help--- + Selects the Byte-Per-Pixel buffer model, instead of Bit-Per-Pixel. + LVGL Graphics Library uses Byte-Per-Pixel memory model. + endif # LCD_SHARP_MEMLCD choice diff --git a/drivers/lcd/memlcd.c b/drivers/lcd/memlcd.c index 06dd88c464b..e14f683e815 100644 --- a/drivers/lcd/memlcd.c +++ b/drivers/lcd/memlcd.c @@ -477,7 +477,9 @@ static int memlcd_putrun(FAR struct lcd_dev_s *dev, __clear_bit(col % 8 + i, p); } -#ifdef CONFIG_LCD_PACKEDMSFIRST +#ifdef CONFIG_MEMLCD_BYTE_PER_PIXEL + buffer++; +#elif defined(CONFIG_LCD_PACKEDMSFIRST) if (usrmask == LS_BIT) { buffer++; @@ -570,7 +572,9 @@ static int memlcd_getrun(FAR struct lcd_dev_s *dev, *buffer &= ~usrmask; } -#ifdef CONFIG_LCD_PACKEDMSFIRST +#ifdef CONFIG_MEMLCD_BYTE_PER_PIXEL + buffer++; +#elif defined(CONFIG_LCD_PACKEDMSFIRST) if (usrmask == LS_BIT) { buffer++;