cancel
Showing results for 
Search instead for 
Did you mean: 

looking for Touchgfx example with partial frame buffer using LTDC

enginehonestfan
Associate II

Hello

As post subject says, I am looking for Touchgfx example with partial frame buffer using LTDC. I am using STM32F429,

on custom board, but as I have searched, it would be ok also to be with other MCUs like F7 series. In documentations, it is mentioned that user should implement it, but I couldn't find it first on what is the name of the function to be declared, and then how pixel data and area is arrived to be updated.

1 REPLY 1
unsigned_char_array
Senior III

I've looked into this. I don't think it can work.

https://support.touchgfx.com/docs/development/scenarios/lowering-memory-usage-with-partial-framebuffer
"Partial frame buffers will only work on displays that have built-in memory"

The way TouchGFX uses partial buffer is that it renders a section that has changed and transmits that to the display using transmitBlock(). The display needs to have memory and you need to address the part of the memory of the display that you want to update.

Many displays do not allow you to do this. Some might have a separate interface (SPI, I2C, etc.) that allows you to configure a window or address offset. But if they don't you need to send the entire frame and that data is simply not available in MCU RAM (internal or external).

The LTDC peripheral supports 2 layers. I think you probably could update the layer settings while updating the display. You then have the time of maybe 10 lines to render the next 10 lines and update the layer window. I haven't got this to work with a simple example of alternating bars. But this would not even work with TouchGFX as far as I know, because you cannot request it to render a specific block of lines on demand as far as I know. And even if you could it would most likely not keep up with the LTDC leading to artifacts.

If your display supports addressing it might work. Do you have a datasheet of your display?

 

Kudo posts if you have the same problem and kudo replies if the solution works.
Click "Accept as Solution" if a reply solved your problem. If no solution was posted please answer with your own.