ARGB565 and ARGB4444 not support in emWinV5.44 base on DSI of stm32F769?

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • ARGB565 and ARGB4444 not support in emWinV5.44 base on DSI of stm32F769?

      HI,
      I port emWin to stm32f769, use DSI cmd model .

      I need to use image with alpha , it can be ARGB565 or ARGB4444,

      the problem is , emWin supports ARGB565, not support ARGB4444,
      and the DSI supports ARGB444 , not support ARGB565.

      GUI.h///////////////////////////////////////////
      #define GUI_DRAW_BMP444_12 &GUI_BitmapMethods444_12 /* Method table ! */
      #define GUI_DRAW_BMPM444_12 &GUI_BitmapMethodsM444_12 /* Method table ! */
      #define GUI_DRAW_BMP444_12_1 &GUI_BitmapMethods444_12_1 /* Method table ! */
      #define GUI_DRAW_BMPM444_12_1 &GUI_BitmapMethodsM444_12_1 /* Method table ! */
      #define GUI_DRAW_BMP444_16 &GUI_BitmapMethods444_16 /* Method table ! */
      #define GUI_DRAW_BMPM444_16 &GUI_BitmapMethodsM444_16 /* Method table ! */
      #define GUI_DRAW_BMP555 &GUI_BitmapMethods555 /* Method table ! */
      #define GUI_DRAW_BMPM555 &GUI_BitmapMethodsM555 /* Method table ! */
      #define GUI_DRAW_BMP565 &GUI_BitmapMethods565 /* Method table ! */
      #define GUI_DRAW_BMPM565 &GUI_BitmapMethodsM565 /* Method table ! */
      #define GUI_DRAW_BMP24 &GUI_BitmapMethods24 /* Method table ! */
      #define GUI_DRAW_BMP888 &GUI_BitmapMethods888 /* Method table ! */
      #define GUI_DRAW_BMPM888 &GUI_BitmapMethodsM888 /* Method table ! */
      #define GUI_DRAW_BMP8888 &GUI_BitmapMethods8888 /* Method table ! */
      #define GUI_DRAW_BMPM8888I &GUI_BitmapMethodsM8888I /* Method table ! */
      #define GUI_DRAW_BMPA555 &GUI_BitmapMethodsA555 /* Method table ! */
      #define GUI_DRAW_BMPAM555 &GUI_BitmapMethodsAM555 /* Method table ! */
      #define GUI_DRAW_BMPA565 &GUI_BitmapMethodsA565 /* Method table ! */
      #define GUI_DRAW_BMPAM565 &GUI_BitmapMethodsAM565 /* Method table ! */

      BUT THE LCD SIDE
      LCDConf.c

      /* Define the possible color modes */
      #define CMS_ARGB8888 1
      #define CMS_RGB888 2
      #define CMS_RGB565 3
      #define CMS_ARGB1555 4
      #define CMS_ARGB4444 5
      #define CMS_L8 6
      #define CMS_AL44 7
      #define CMS_AL88 8


      can anyone give me some advice how to deal with it?
    • Hi,

      I would configure the DSI to write RGB565 data to the LCD. So your framebuffer uses 16 bit per pixel color depth.

      When drawig an image with alpha into the framebuffer, the hardware (DMA2D/Chrome Art Accelerator) will mix the tranpsarent pixel with those in the framebuffer.
      Of course, this requires some functions set to make sure emWin routes bitmap operations to the hardware.

      If there are no functions set, emWin will mix the colors in software.

      Attached is an example LCD configuration for the STM32F769 Eval. It uses DSI and the DMA2D.

      Regards,
      Sven
      Files
      • LCDConf.zip

        (10.66 kB, downloaded 12 times, last: )