Skip to main content
RBurg.2
Associate III
April 14, 2021
Solved

Cover transition flashing GFXMMU default value during transition with dual buffering

  • April 14, 2021
  • 1 reply
  • 1050 views

Dear TouchGFX Team,

I developed a display interface from TouchGFX 4.16 generated HAL and board configuration files that uses the following:

  • STM32L4
  • video mode DSI
  • LTDC interrupt sync for framebuffer swap in TouchGFXHAL
  • GFXMMU, dual frame buffer in internal RAM
  • DMA2D for image assets from external flash

It is working very well, I have a swipe container that is smooth with no glitches. However there is an issue with the cover transitions. During the transition it does not hold the previous screen as the new one slides in, the area that should be the previous screen instead takes the GFXMMU default value.

Actually, when I run the code with a breakpoint on swapFrameBuffers(), only one of the buffers has the problem, the other one works fine. So during the cover transition the screen is swapping between a correct buffer(old screen in back with new one sliding in front), and the problem buffer(GFXMMU default value in back with new one sliding in front).

If I do single buffering the cover transition works properly (but the motion and the swipe container are glitchy due to the single buffer). I don't have enough ram space for an animation buffer, but from reading I don't think that cover transitions need one?

Any direction towards what might be causing this issue would be appreciated.

Thank you,

Russell

This topic has been closed for replies.
Best answer by Romain DIELEMAN

Hi,

The cover transition unfortunately does requires the animation buffer to work.

/Romain

1 reply

Romain DIELEMAN
Romain DIELEMANBest answer
ST Employee
April 14, 2021

Hi,

The cover transition unfortunately does requires the animation buffer to work.

/Romain

Romain DIELEMAN
ST Employee
April 14, 2021

If you truly need one, what you could do is fake a cover transition where you slowly move your items to the left for example while having the ones from your other screen move in. Yu can also slowly fade them in and out. Once they are in place you then switch to the other screen (with no transitions since you have already the images/widgets where you want them to be).

/Romain

RBurg.2
RBurg.2Author
Associate III
April 14, 2021

Thanks for the note.

Since it worked with single buffer without animation storage, and works correctly on one buffer in the dual buffer setup I was hopeful.