2021-01-20 08:55 AM
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.
2021-02-28 10:43 PM
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.