cancel
Showing results for 
Search instead for 
Did you mean: 

I have a problem with VSYNC and TouchGFX since a recent update of the toolchain. model::tick is called too often.

WSchr.1
Associate II

The change in the generated code is in TouchGFXConfiguration.cpp touchgfx_taskEntry().

Before the update it called OSWrappers::waitForVSync();

Now it calls

 if (OSWrappers::isVSyncAvailable())

 {

  hal.backPorchExited();

 }

which does not reset vsync_sem in OSWrappers. So the tick is called again and again.

I am not sure if the change came from CubeMX 1.6.10 or TouchGFX 4.15 or STM32H7 1.8.

I am using STM32H743, LTDC with internal framebuffer, a RGB565 Display and no RTOS.

As soon as AZURE RTOS is available, I plan to use it, but until then I have to keep my application running.

I can change the code back to waitForVSync(), but it will be overwritten, when I regenerate the code with CubeMX.

20 REPLIES 20
Martin KJELDSEN
Chief III

Right, timers should be a last resort because they're not synchronizing, as @AWeng.2​  mentions. Usually, we see people use HW Timers when they're using a serial display and someone forgot to attach the TE signal from the display to the MCU.