cancel
Showing results for 
Search instead for 
Did you mean: 

TouchGFX 4.12.3 troubles with the STM32F769 Discovery kit

TPier
Associate III

Hi,

I updated TouchGFX Designer from 4.10.0 to 4.12.3, as well as STM32CubeMX to 5.4.0, with the idea to check the ability to keep the link between the generated application and CubeMX.

All my former test projects (actually the tutorials) now failed to run correctly.

A new simple project (like the Tutorial 2) has been created from scratch in the designer. Same behavior :

  1. Using the "Run on target" button from the designer, the application starts with the left half side of the screen scrambled. As soon as a button is pressed, the screen recovers.
  2. When using IAR Embedded Workbench (8.20.1), the application runs correctly, at least from the point of view of the IAR debugger. But the screen remains dark with fuzzy pale area (allowing to recognize some properties of the expected screen).

So far, I did not investigate further. I had to downgrade the designer to the 4.10.0 version.

But for sure, the STM32F769 Discovery kit cannot work anymore with TouchGFX 4.12.3.

Did someone get some experiences with this development platform and TouchGFX ?

Many thanks in advance.

Best regards.

7 REPLIES 7
Martin KJELDSEN
Chief III

Hi,

We're aware that there's an issue - Thanks for reporting it. It's due to an update in the framework that requires the HAL for a specific target to draw in a certain way for the first frame and some ATs haven't been updated for that purpose. That's why when you trigger a re-draw (with a button, for instance), the application seems normal afterwards.

You could probably get around this temporarily by calling "invalidate()" as the last thing in your first screen. I'll show you how to "patch" your HAL until we can get the AT updated.

/Martin

Hi,

I am also experiencing this problem. The screen is always black at startup until a touch event occurs on a touchable object then the screen refreshes and everything runs properly.

I just tried to get the screen to redraw by adding button.invalidate() to the end of the setupscreen method but I still don't get the screen to display correctly unless I touch a touchable object. Is there a way to invalidate the entire screen or is there a different location button.invalidate() should be called?

Just for completeness of information I am using the STM32H750B-DK with TouchGFX 4.12.3.

-Thank you.

Thanks for the solution proposal. But it does not work for me as well.

I even created the "handleTickEvent" callback for my screen, where every widgets is invalidated every seconds. This has no effect.

TPier
Associate III

Any news for a potential update ?

I'm blocked with the latest environment (TouchGFX 4.12.3). Without any update, I will come back to the 4.10 version !

Okay, so there are a few things going on here. In 4.12.3 we no longer ensure that both framebuffers, IF CONFIGURED, contain the same data - something that would be required for a static application. It's ineffecient to render something twice. This causes "issues" for

The F769-DISCO AT was changed to use two framebuffers so you're basically showing the wrong one.

If you go back to a previous version of the AT you'll find that it uses only one framebuffer (The correct setup for a board with GRAM in the display). and you shouldn't have this problem.

Let me know if this fixes your problem. Otherwise i have something else which is a bit more application specific (involves only activating the LTDC layer once setTFTFrameBuffer has been called once after the initial screen is done rendering to the NON-TFT framebuffer and this has been switched to being clocked out to the display by the LTDC/DSI).

/Martin

I just provided an update to the post below this one. Pinging here to ensure you get the update.

FVB.1
Associate

Hi,

I am currently working with the TouchGFX designer 4.12.3 and the platform STM32F769-DISCO.

While running an example provided in TouchGFX, I also encounter the issue where half of the screen is scrambled.

Could you please elaborate on the solution you are providing? How can I go back to a previous version of the AT ?

Thanks in advance,