cancel
Showing results for 
Search instead for 
Did you mean: 

How to use 8pp to drive rgb565lcd (via STM32 ltdc controller)

hlian.1
Associate II

Hello Martin,

My platform is stm32l4r7zi, which uses ltdc to drive 800 × 480 LCD in the way of rgb565 connection. Because the internal RAM (640kb) is not large enough for frame buffer, so I want to select 8bit color depth in the touch designer. Can this method be implemented? Does ltdc need to be configured in L8 format?

Thank you.

8 REPLIES 8
Romain DIELEMAN
ST Employee

Hi,

this process would have to be done in your board configuration and settings rather than TouchGFX Designer. Are you using CubeMX by any chance?

To reduce the usage of RAM have you considered using partial frame buffers instead ? It does lower the performances a bit but if you are not doing full screen updates or complex 3D animations, this could be your solution.

/Romain

hlian.1
Associate II

thank you Romain ,I will try  partial frame buffers

https://support.touchgfx.com/docs/development/ui-development/scenarios/lowering-memory-usage-with-partial-framebuffer/

This says :

  • Partial frame buffers will only work on displays that have built-in memory. These are typically DSI displays or displays with a parallel bus connection (DBI type A/B, 8080/6800) or SPI-bus connection.
  • Potential tearing for complex applications.

LTDC interface ,but not with DSI, how to use partial frame bufffer?

Arh it is my bad I didn't read carefully your setup :sad_but_relieved_face: ... It is not possible with LTDC since you transfer directly the frame buffer to the display and not go through its internal memory.

But there is a section on l8 images in the doc that might help you.

Thanks for your answer.Now we are using L8, but touchgfx designer only support LTDC setting as RGB565 or RGB888. So now we are trying to set Touch Designer pix format as ARGB2222, LTDC set pix format as L8. LTDC CLUT works perfectly now . Image can be showed .Color is right, but Image looks like exchange its left to right part.

But most importantly , it looks like can only show first image on screen.It can not show any other image, even I write code in Screen.cpp ,try to change image.I found all data in the frameBuffer allocated by Touch Designer is always 0x00. I tried to TouchGFXHAL::setTFTFrameBuffer((uint16_t*) frameBuffer ), but it did not work.So I guess framework of touchgfx did not work in this kind of situation?

Breeze1
Associate III

@Martin KJELDSEN​ 

Realy hoping for your answer

I don't understand the sentence "LTDC interface ,but not with DSI, how to use partial frame bufffer?" - Are you asking how to use partial framebuffers with LTDC?

Actually yes, we are using a screen which has LTDC interface, but the screen do not have internal memory. We find it not possible to use partial frame buffer. Then We want to use L8 pix format to save RAM, but touch designer do not have L8 pix format . Looks like touch designer only support L8 pix format picture or Bitmap? So we set touch desinger to ARGB2222, which is as long as L8. We can transfer ARGB2222 to L8 using a few codes. But touch designer do not write data to framBuffer, waht can I do?