Skip to main content
farukisiker
Associate III
March 6, 2025
Solved

Touchgfx 4.25 New Partial Framebuffer Strategy Implemantation

  • March 6, 2025
  • 2 replies
  • 521 views

Ekran görüntüsü 2025-03-06 095831.png

Hello,

In previous touchgfx releases, we all know that partial framebuffer is limited to 20 lines. Now with touchgfx 4.25, is it possible to increase it? If yes, how can I do it?

In addition, I tried to increase "Block Size" in .ioc file, however it still sends only 20 lines. It does not use remaining block size. I need a clear example.

Thanks!

Best answer by Flemming Gram CHRISTENSEN

Hi Farukisiker

A clear example shall you get:

As you know the default max block height is 20 rows.

I created this application:

FlemmingGramCHRISTENSEN_0-1741250001040.png

I use an interaction to redraw the white box in every other tick. The white box is 20x200 pixels.

With the default configuration we get the white box transmitted in 10 blocks:

FlemmingGramCHRISTENSEN_1-1741250092533.png

We see the Display /chip select is low 10 times with a pulse width of 212 us.

We can configure the maximum block height to 40 by inserting a line in the application to call the function 

void HAL::setMaxBlockLines(int16_t blockLines);

I suggest doing this in TouchGFXHAL::initialize():

FlemmingGramCHRISTENSEN_2-1741250262098.png

With this we get this recording:

FlemmingGramCHRISTENSEN_3-1741250322462.png

We get 5 blocks (200/40) with the doubled pulse width.

I hope this helps.

 

 

2 replies

Flemming Gram CHRISTENSEN
ST Employee
March 6, 2025

Hi Farukisiker

A clear example shall you get:

As you know the default max block height is 20 rows.

I created this application:

FlemmingGramCHRISTENSEN_0-1741250001040.png

I use an interaction to redraw the white box in every other tick. The white box is 20x200 pixels.

With the default configuration we get the white box transmitted in 10 blocks:

FlemmingGramCHRISTENSEN_1-1741250092533.png

We see the Display /chip select is low 10 times with a pulse width of 212 us.

We can configure the maximum block height to 40 by inserting a line in the application to call the function 

void HAL::setMaxBlockLines(int16_t blockLines);

I suggest doing this in TouchGFXHAL::initialize():

FlemmingGramCHRISTENSEN_2-1741250262098.png

With this we get this recording:

FlemmingGramCHRISTENSEN_3-1741250322462.png

We get 5 blocks (200/40) with the doubled pulse width.

I hope this helps.

 

 

farukisiker
Associate III
March 6, 2025

Thank you for your kind explanation. It helped me a lot.

I thought that ST added this option in .ioc file. But anyway, it solved my problem.

I am using a custom system. So I added setMaxBlocklines as shown image.Ekran görüntüsü 2025-03-06 120327.png