cancel
Showing results for 
Search instead for 
Did you mean: 

TouchGFX with custom SPI screen, TouchGFXHAL::flushFrameBuffer is never called

ABricout
Associate III

Hello,

I am trying to work with touchGFX with an SPI screen. I can properly send an image to the screen manually, so I am confident that my screen driver is working fine.

I have set a timer for the Vsync that call the touchgfx::OSWrappers::signalVSync(); function. In the main loop I call the  MX_TouchGFX_Process(); and in debug it seems that the TouchGFXHAL::flushFrameBuffer function is never called so I can never send the framebuffer to the screen.

I am a bit stuck in my understanding. Is there anything special that I am required to do? I followed the information in the official website (https://support.touchgfx.com/docs/development/touchgfx-hal-development/scenarios/scenarios-fmc) and I have searched online for solution without more success.

Thank you by advance,

Regards,

Augustin

3 REPLIES 3
MM..1
Chief II

Selecting the custom or FMC display interface also requires developers to implement a custom TouchGFX Application Tick driver that signals 

OSWrappers::signalVSync()

 to unblock the TouchGFX Engine Main loop. Usually, displays used along with MCUs that have no TFT Controllers can provide a Tearing Effect signal that is connected to the MCU.

Maybe your timer dont setup ok, you checked ?

ABricout
Associate III

Thank you for your answer.

My timer is set to 4Hz and is working just fine, the OSWrappers::signalVSync() is called and the vsync_sem flag is set to 1.

And in the touchgfx_taskEntry() the OSWrappers::isVSyncAvailable() returns true so it seems to be alright

My screen does not have a TE signal that is why I am using a timer.

ABricout
Associate III

I still have the same problem. The SPI driver is working fine as well as the timer fot the VSYNC but the flush frame buffer is never called.

I have tried with different settings such as simple and partial buffer.

I am now trying to go from touchgfx version 4.17.0 to version 4.18.0

Do you have any insight on how to proceed (a bit more detailed than the documentation https://support.touchgfx.com/docs/development/touchgfx-hal-development/scenarios/scenarios-fmc)

Thank you by advance,

regards,

Augustin