From 94fd096fddb6adf7e0d4c5889d49b357454abdfa Mon Sep 17 00:00:00 2001 From: Joel Bodenmann Date: Tue, 17 Aug 2021 13:26:54 +0200 Subject: [PATCH] STM32LTDC: Rename ALLOW_2ND_LAYER to LTDC_USE_2ND_LAYER --- .../chibios/board_STM32LTDC.h | 4 +-- .../STM32F439i-Eval/CubeHal/board_STM32LTDC.h | 4 +-- .../STM32F746-Discovery/board_STM32LTDC.h | 4 +-- .../STM32LTDC/board_STM32LTDC_template.h | 4 +-- drivers/gdisp/STM32LTDC/gdisp_lld_STM32LTDC.c | 3 --- drivers/gdisp/STM32LTDC/readme.md | 25 +++++++++++++++++++ drivers/gdisp/STM32LTDC/readme.txt | 11 -------- 7 files changed, 33 insertions(+), 22 deletions(-) create mode 100644 drivers/gdisp/STM32LTDC/readme.md delete mode 100644 drivers/gdisp/STM32LTDC/readme.txt diff --git a/boards/base/STM32F429i-Discovery/chibios/board_STM32LTDC.h b/boards/base/STM32F429i-Discovery/chibios/board_STM32LTDC.h index 20f028f9..7e6fbd48 100644 --- a/boards/base/STM32F429i-Discovery/chibios/board_STM32LTDC.h +++ b/boards/base/STM32F429i-Discovery/chibios/board_STM32LTDC.h @@ -23,7 +23,7 @@ static const SPIConfig spi_cfg = { ((1 << 3) & SPI_CR1_BR) | SPI_CR1_SSM | SPI_CR1_SSI | SPI_CR1_MSTR }; -#define ALLOW_2ND_LAYER GFXON +#define LTDC_USE_2ND_LAYER GFXON static const ltdcConfig driverCfg = { 240, 320, @@ -47,7 +47,7 @@ static const ltdcConfig driverCfg = { 0xFF, // alpha LTDC_LEF_ENABLE // flags }, -#if ALLOW_2ND_LAYER +#if LTDC_USE_2ND_LAYER { // Foreground layer config (if turned on) (LLDCOLOR_TYPE *)(SDRAM_BANK_ADDR+(240 * 320 * LTDC_PIXELBYTES)), // Frame buffer address 240, 320, // width, height diff --git a/boards/base/STM32F439i-Eval/CubeHal/board_STM32LTDC.h b/boards/base/STM32F439i-Eval/CubeHal/board_STM32LTDC.h index d598efac..c3a16d8a 100644 --- a/boards/base/STM32F439i-Eval/CubeHal/board_STM32LTDC.h +++ b/boards/base/STM32F439i-Eval/CubeHal/board_STM32LTDC.h @@ -19,7 +19,7 @@ #include "stm32f4xx_hal.h" #include "stm324x9i_eval_sdram.h" -#define ALLOW_2ND_LAYER GFXON +#define LTDC_USE_2ND_LAYER GFXON // Panel parameters // This panel is a AMPIRE640480 panel. @@ -48,7 +48,7 @@ static const ltdcConfig driverCfg = { LTDC_LEF_ENABLE // Layer configuration flags }, -#if ALLOW_2ND_LAYER +#if LTDC_USE_2ND_LAYER { // Foreground layer config (if turned on) (LLDCOLOR_TYPE *)(SDRAM_DEVICE_ADDR+(640 * 480 * LTDC_PIXELBYTES)), // Frame buffer address 640, 480, // Width, Height (pixels) diff --git a/boards/base/STM32F746-Discovery/board_STM32LTDC.h b/boards/base/STM32F746-Discovery/board_STM32LTDC.h index e5e203be..494ee4eb 100644 --- a/boards/base/STM32F746-Discovery/board_STM32LTDC.h +++ b/boards/base/STM32F746-Discovery/board_STM32LTDC.h @@ -36,7 +36,7 @@ #define AFRH AFR[1] #endif -#define ALLOW_2ND_LAYER GFXON +#define LTDC_USE_2ND_LAYER GFXON static const ltdcConfig driverCfg = { 480, 272, // Width, Height (pixels) @@ -62,7 +62,7 @@ static const ltdcConfig driverCfg = { LTDC_LEF_ENABLE // Layer configuration flags }, -#if ALLOW_2ND_LAYER +#if LTDC_USE_2ND_LAYER { // Foreground layer config (if turned on) (LLDCOLOR_TYPE *)(SDRAM_DEVICE_ADDR+(480 * 272 * LTDC_PIXELBYTES)), // Frame buffer address 480, 272, // Width, Height (pixels) diff --git a/drivers/gdisp/STM32LTDC/board_STM32LTDC_template.h b/drivers/gdisp/STM32LTDC/board_STM32LTDC_template.h index 5911e9c8..d2c32581 100644 --- a/drivers/gdisp/STM32LTDC/board_STM32LTDC_template.h +++ b/drivers/gdisp/STM32LTDC/board_STM32LTDC_template.h @@ -8,7 +8,7 @@ #ifndef _GDISP_LLD_BOARD_H #define _GDISP_LLD_BOARD_H -#define ALLOW_2ND_LAYER GFXON +#define LTDC_USE_2ND_LAYER GFXON static const ltdcConfig driverCfg = { 480, 272, // Width, Height (pixels) @@ -34,7 +34,7 @@ static const ltdcConfig driverCfg = { LTDC_LEF_ENABLE // Layer configuration flags }, -#if ALLOW_2ND_LAYER +#if LTDC_USE_2ND_LAYER { // Foreground layer config (if turned on) (LLDCOLOR_TYPE *)(SDRAM_DEVICE_ADDR+(480 * 272 * LTDC_PIXELBYTES)), // Frame buffer address 480, 272, // Width, Height (pixels) diff --git a/drivers/gdisp/STM32LTDC/gdisp_lld_STM32LTDC.c b/drivers/gdisp/STM32LTDC/gdisp_lld_STM32LTDC.c index 6f03ac32..5267ee5b 100644 --- a/drivers/gdisp/STM32LTDC/gdisp_lld_STM32LTDC.c +++ b/drivers/gdisp/STM32LTDC/gdisp_lld_STM32LTDC.c @@ -23,9 +23,6 @@ #undef GDISP_SCREEN_HEIGHT #endif -#ifndef LTDC_USE_DOUBLE_BUFFERING - #define LTDC_USE_DOUBLE_BUFFERING GFXOFF -#endif #ifndef LTDC_USE_DMA2D #define LTDC_USE_DMA2D GFXOFF #endif diff --git a/drivers/gdisp/STM32LTDC/readme.md b/drivers/gdisp/STM32LTDC/readme.md new file mode 100644 index 00000000..baa5ebbd --- /dev/null +++ b/drivers/gdisp/STM32LTDC/readme.md @@ -0,0 +1,25 @@ +# Usage +To use this driver: + +1. Add in your `gfxconf.h`: + a) `#define GFX_USE_GDISP GFXON` + +2. To your makefile add the following lines: +``` + include $(GFXLIB)/gfx.mk + include $(GFXLIB)/drivers/gdisp/STM32LTDC/driver.mk +``` + +3. Add a `board_STM32LTDC.h` to you project directory (or board directory) + based on one of the templates. + +# 2nd layer +Two things need to happen in order to use the 2nd LTDC layer: + - Set `LTDC_USE_2ND_LAYER` to `GFXON` in the board file. + - Set `GDISP_TOTAL_DISPLAYS` to `2` in `gfxconf.h`. + +The 2nd layer is exposed as a separate display. Use `gdispGetDisplay()` to retrieve the individual layers. + +For more information, see: + - https://wiki.ugfx.io/index.php/Multiple_displays#Example_-_Same_controller + - https://wiki.ugfx.io/index.php/Multiple_displays#Access_the_displays diff --git a/drivers/gdisp/STM32LTDC/readme.txt b/drivers/gdisp/STM32LTDC/readme.txt deleted file mode 100644 index dcc17d39..00000000 --- a/drivers/gdisp/STM32LTDC/readme.txt +++ /dev/null @@ -1,11 +0,0 @@ -To use this driver: - -1. Add in your gfxconf.h: - a) #define GFX_USE_GDISP GFXON - -2. To your makefile add the following lines: - include $(GFXLIB)/gfx.mk - include $(GFXLIB)/drivers/gdisp/STM32LTDC/driver.mk - -3. Add a board_STM32LTDC.h to you project directory (or board directory) - based on one of the templates.