Workaround for using RGB888 with STM32LTDC driver
parent
cb26bc2d37
commit
4646a36cff
|
@ -71,9 +71,9 @@ typedef struct ltdcConfig {
|
|||
#define LTDC_PIXELBYTES 2
|
||||
#define LTDC_PIXELBITS 16
|
||||
#elif GDISP_LLD_PIXELFORMAT == GDISP_PIXELFORMAT_RGB888
|
||||
#define LTDC_PIXELFORMAT LTDC_FMT_RGB888
|
||||
#define LTDC_PIXELBYTES 3
|
||||
#define LTDC_PIXELBITS 24
|
||||
#define LTDC_PIXELFORMAT LTDC_FMT_ARGB8888
|
||||
#define LTDC_PIXELBYTES 4
|
||||
#define LTDC_PIXELBITS 32
|
||||
#else
|
||||
#error "GDISP: STM32LTDC - unsupported pixel format"
|
||||
#endif
|
||||
|
@ -380,14 +380,14 @@ LLDSPEC color_t gdisp_lld_get_pixel_color(GDisplay* g) {
|
|||
#if GDISP_LLD_PIXELFORMAT == GDISP_PIXELFORMAT_RGB565
|
||||
DMA2D->OPFCCR = OPFCCR_RGB565;
|
||||
#elif GDISP_LLD_PIXELFORMAT == GDISP_PIXELFORMAT_RGB888
|
||||
DMA2D->OPFCCR = OPFCCR_RGB888;
|
||||
DMA2D->OPFCCR = OPFCCR_ARGB8888;
|
||||
#endif
|
||||
|
||||
// Foreground color format
|
||||
#if GDISP_LLD_PIXELFORMAT == GDISP_PIXELFORMAT_RGB565
|
||||
DMA2D->FGPFCCR = FGPFCCR_CM_RGB565;
|
||||
#elif GDISP_LLD_PIXELFORMAT == GDISP_PIXELFORMAT_RGB888
|
||||
DMA2D->FGPFCCR = FGPFCCR_CM_RGB888;
|
||||
DMA2D->FGPFCCR = FGPFCCR_CM_ARGB8888;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#define OPFCCR_ARGB1555 0x03
|
||||
#define OPFCCR_ARGB4444 0x04
|
||||
|
||||
#define FGPFCCR_CM_ARGB8888 0x00
|
||||
#define FGPFCCR_CM_RGB888 0x01
|
||||
#define FGPFCCR_CM_RGB565 0x02
|
||||
|
||||
|
|
Loading…
Reference in New Issue