cancel
Showing results for 
Search instead for 
Did you mean: 

Invalidated widgets flickering

MVils.1
Associate II

We use TouchGfx with a STM32f769 on a custom board. There are many ui widgets like textarea, boxes and buttons. At first the display had a flicker problem. That was solved with just invalidating widgets that should update.

Now the problem is that if a single widget updated with .invaldate(), an other widget - which was previously invalidated - is suddenly flickering.

I found that this occurs with double buffering activated.

Any ideas that could help?

Thanks in advance.

13 REPLIES 13
franck23
Senior

If your application does not use the SDRAM for other things than TouchGFX, you should have plenty of bandwidth there.

When you say that your widget is flickering, do you mean that it disappear and reappear quickly?

Or does it have horizontal/vertical color lines as if it has been scratch?

I am asking because if it is the full widget that blinks quickly, it would be because it has been updated on only one of the 2 frame buffers.

It's definitely blinking. And it looks like one frame buffer is still in a outdated state.

I just realized that the blinking comes from my invalidation method calls... So actually it's like you said that one of the frame buffers is not working. But i have no idea what's the cause.

franck23
Senior

In MxCube -> TouchGFX software pack -> TouchGFX Generator tab, check the SDRAM start address for both buffers.

For your config (800x480x16bpp) you should have:

Start Address: 0xC0000000

Start Address2: 0xC00BB800

Our setting is 0xC0000000 / 0xC0400000. I tried yours but no difference. Thanks for your help by the way. I ask myself how to evaluate the CubeMX hardware initialization for our custom board... For example the SDRAM "works" and i can see my touch gfx ui on the panel, but that doesn't mean it runs flawless.

I will try to swap my touch gfx design with a minimalistic one and see if the behavior remains.