2021-02-16 03:03 AM
Considering existing posts and instructions in the documentation, I can't manage the framework to call flushFrameBuffer() regularly after a vsync.
The main issue is that TouchGFXHAL::flushFrameBuffer() is only called once after the first OSWrappers::signalVSync() (and never again). I've deleted all display drivers and checked with a breakpoint that is only hit once in TouchGFXHAL::flushFrameBuffer(). OSWrappers::signalVSync() is triggered by a button and an external interrupt callback. All code that I added is attached. The board is a F303RE Nucleo. Settings of TouchGFX see below.
Many thanks for considering my request.
Sync wrapper. Breakpoint hit on each button press.
Callback on button press. Calls the wrapper function from above.
Breakpoint gets hit.Breakpoint only hit on first button press!TouchGFX settings.
Solved! Go to Solution.
2021-02-26 01:48 AM
Hi,
Indeed, the flushFrameBuffer function is called by the TouchGFX library only when something has changed in the frame buffer.
Best regards,
Nicolas
2021-02-16 07:16 AM
When you setup Custom Interfaces, you need write full support for graphics refresh. Read demo for SPI displays, or change your config ...
2021-02-16 07:24 AM
I'm aware of that. But all of the transmission (e.g. start of SPI DMA) would be located in TouchGFXHAL::flushFrameBuffer(), which is not executed (more precisely: it is only executed once after the very first vsync). That's why I have deleted all display driver code for this forum.
2021-02-16 07:56 AM
Callback on button press. Calls the wrapper function from above.
check if gpio exti for you work once or more
2021-02-16 08:04 AM
The LED toggling works as expected. Also, a breakpoint in OSWrappers::signalVSync() is hit on each button press.
2021-02-16 08:08 AM
OK then try read here TouchGFX custom driver- vsync problem
maybe helps
2021-02-16 09:12 AM
Oh, dear. Maybe I was thinking completely wrong. As the display has its own framebuffer: Is flushFrameBuffer() called when nothing has changed in the touchGFX framebuffer? I'll test it shortly.
2021-02-26 01:48 AM
Hi,
Indeed, the flushFrameBuffer function is called by the TouchGFX library only when something has changed in the frame buffer.
Best regards,
Nicolas
2021-02-26 01:31 PM
@N. SANTINI Thank you for providing clarification.
Kind regards,
Meinhard
2021-02-26 01:32 PM
@N. SANTINI Thank you for providing clarification.
Kind regards,
Meinhard