Hello,I have a display problem when using double buffering. I get flickering effects like in the attached video. If I use the offset buffer I don't have such problems. It seems to me that this might be a problem with the synchronization.
I played around a bit with the LTDC settings(timings & clock), but could not get any improvement.
The used custom board is based on a STM32F769I-Eval but uses the display NHD5.0-800480TF-ATXL#-CTP instead.
The PCPolarity and DEPolarity do not seem to have any influence on the display.It's also mentioned in the datasheet that the display works in DE mode and is therefore dependent on VSync and HSync.
hLtdcHandler.Instance = LTDC;
hLtdcHandler.Init.HSPolarity = LTDC_HSPOLARITY_AL;
hLtdcHandler.Init.VSPolarity = LTDC_VSPOLARITY_AL;
hLtdcHandler.Init.DEPolarity = LTDC_DEPOLARITY_AH;
hLtdcHandler.Init.PCPolarity = LTDC_PCPOLARITY_IIPC;
hLtdcHandler.Init.HorizontalSync = 1;
hLtdcHandler.Init.VerticalSync = 2;
hLtdcHandler.Init.AccumulatedHBP = 89;
hLtdcHandler.Init.AccumulatedVBP = 34;
hLtdcHandler.Init.AccumulatedActiveW = 889;
hLtdcHandler.Init.AccumulatedActiveH = 514;
hLtdcHandler.Init.TotalWidth = 929;
hLtdcHandler.Init.TotalHeigh = 527;
hLtdcHandler.Init.Backcolor.Blue = 0;
hLtdcHandler.Init.Backcolor.Green = 0;
hLtdcHandler.Init.Backcolor.Red = 0;
Does anyone have any advice?
based on the provided video it's difficult to analyse the reason for the flickering.
Just a few questions:
What do you mean with "if I use the offset buffer..."?
Which version of Embedded Wizard are you using? If it is version 9.30 - please post your ewconfig.h file.
The STM32F769 Evalboard (and the software within our Build Environment) is using a display with DSI - which is completely different than your display that is connected via RGB. Did you adapt the file ew_bsp_display.c that is provided within the Build Environment for STM32F769 Evalboard - or did you use a template that is already based on LTDC - e.g. the Build Environment for STM32F756 Evalboard?
o.k. I assume you are using "offscreen buffer" and not "offset buffer". But the goal is to work with the setting EW_USE_DOUBLE_BUFFER - correct?
In order to verify that double buffering is working, let me recommend to use this simple test application.
It contains a vertical bar that is moving right/left and a text displaying the current frames per second.
If everything works correctly, the bar should move without tearing (without any horizontal shift or steps) and the FPS should have the expected value, e.g. 60 fps.
Please let me know the result...
Ask Embedded Wizard
Welcome to the question and answer site for Embedded Wizard users and UI developers.
Ask your question and receive answers from the Embedded Wizard support team or from other members of the community!