cancel
Showing results for 
Search instead for 
Did you mean: 

Touchgfx 4.25 New Partial Framebuffer Strategy Implemantation

farukisiker
Associate II

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!

1 ACCEPTED SOLUTION

Accepted Solutions

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.

 

 

View solution in original post

2 REPLIES 2

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 II

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