2019-02-08 02:32 AM
I'm trying to hook STM32F767 (on a Nucleo-144 board) to a 640x400 24-bit LCD-TFT display with the following configuration:
I was trying to use the DMA2D controller to transfer bitmaps from flash to the screen frame buffer, and to generate colorful rectangles. However, the stm32f7xx_hal_dma2d.h only defines the 24- and 16-bit output formats: ARGB8888, RGB888, RGB565, ARGB1555, ARGB4444.
Is there a way to use the DMA2D controller to work with the L8 output format?
(Also, given the typical memory constraints of embedded systems, it seems reasonable to provide native support for RGB332 or ARGB2222 in the LTDC and DMA2D controllers - are there any chances to see those in some foreseeable future?)
The header file also claims to support the A8 and A4 input color modes, but I haven't found any explanation of those modes. Are those explained anywhere?
Thanks in advance!
2019-02-08 05:13 AM
> Is there a way to use the DMA2D controller to work with the L8 output format?
No.
This has nothing to do with Cube. Read the RM, DMA2D output PFC subchapter of the DMA2D chapter.
However, you still can use DMA2D for bitbltting even in 8-bit format, if you can live with the limitation of all horizontal sizes and positions being multiples of 2 - simply chose any pair of 16-bit input and output formats which perform no conversion.
JW