cancel
Showing results for 
Search instead for 
Did you mean: 

TouchGFX with ThreadX using 10ms timer

KPort
Associate II

Have a question on TouchGFX with ThreadX and the SysTimer tick resolution.

I'm porting a sw written for TouchGFX+FreeRTOS to use ThreadX (using STM32F746 and STM32CubeIDE).

I have already figured out how to make ThreadX work and how to start the TouchGFX task under ThreadX.

In the TouchGFX documention under Real Time Operating System bindings it says:

"Select the ThreadX setting tab and set TX_TIMER_TICKS_PER_SECOND to 1000 to get ticks once per millisecond."

I know that the native timer tick resolution for ThreadX is 100Hz, and here it suggests to set it to 1000Hz.

Is this something that TouchGFX needs or uses, or is it just a way to make it identical to what FreeRTOS uses?

Would TouchGFX use OS timer tick to do some animations or screen transitions, or does that come from LTDC/VSYNC interrupt?

In that case TouchGFX software would not care about what the OS timer tick frequency is...

Am I right, or have I misunderstood or neglected something?

1 ACCEPTED SOLUTION

Accepted Solutions
Dor_RH
ST Employee

Hello @KPort , 

Yes, TouchGFX uses the tick from the OS to progress through the frames, providing a sense of time passing. The interrupt from LTDC starts the rendering of the next frame, indicating that the display is ready to receive the new frame. However, there are cases where the display is ready to receive the new frame, but the rendering takes more time and we will end up having tearing or animations with a lot of lagging.

I hope my answer has helped you. When your question is answered, please select this topic as solution that answered you, it will help others find that answer faster.

Thanks for your contribution.

Dor_RH

View solution in original post

1 REPLY 1
Dor_RH
ST Employee

Hello @KPort , 

Yes, TouchGFX uses the tick from the OS to progress through the frames, providing a sense of time passing. The interrupt from LTDC starts the rendering of the next frame, indicating that the display is ready to receive the new frame. However, there are cases where the display is ready to receive the new frame, but the rendering takes more time and we will end up having tearing or animations with a lot of lagging.

I hope my answer has helped you. When your question is answered, please select this topic as solution that answered you, it will help others find that answer faster.

Thanks for your contribution.

Dor_RH