cancel
Showing results for 
Search instead for 
Did you mean: 

Touchgfx Landscape to Portrait flickering problem.

Msolinas
Senior

Good morning everyone, I created a project for a client and it is now in an advanced state.

All the time the project was developed with a horizontal display (we are talking about two years of work), at a certain point a larger display was used, original 800x480, new 1024x600.
The use was in portrait mode.
I started to have content flickering.

I worked hard for days, thinking I might have a problem with buffer declarations, memory management, or other things related to hardware or settings. Today I made the macabre discovery.


I positioned the landscape position of only the display on the touchgfx gui and everything magically works perfectly, naturally you can only see half of the objects as many of them are defined out of field, but no flickering of text or images.
The flickering occurs between one writing and another to change the data. For a moment, new fonts appear dotted with errors or buttons or whatever redraws between one buffer and another, and all of this depends only on the orientation of the display without changing a line of code.

Help is essential, I really don't want to debug touchgfx. Thanks to anyone who can put me on the right path, I can't find anything online other than a few posts where no one offers solutions.

1 ACCEPTED SOLUTION

Accepted Solutions
JTP1
Lead

Hello

Have you enable Dcache ? If yes, try to disable it first to see is it causing the issues.

Br JTP

 

View solution in original post

13 REPLIES 13
Msolinas
Senior

some video.

After many tests carried out, I believe, but I'm not sure, that it is linked to the image rendering algorithm and to a tick that occurs after about a second. Can anyone who knows touchgfx architecture give me some advice?

What is pixel clock , how you switch to portrait, single or double buff ??? More info. 

MM..1 thanks for answer,

Pixel clock 48MHz, let me explain better, I don't make the switch from landscape to portrait, the project is directly in portrait.
In the previous videos I show that if I invert "only on touchgfx gui" the orientation from portrait (my project default) to landscape (without changing anything), the pixeling effect does not occur.

I use a double buffer, but even changing to single I get the same effects, even changing the pixel clock I get no results, still the same effect.

SDRAM used 256Mb, font, picture and text on qspi.
Below are some photos of the setup on cubemx.

Really thanks for the reply.

Msolinas_0-1713609115355.png

Msolinas_1-1713609160150.png

Msolinas_2-1713609205848.png

 

Msolinas_3-1713609270335.png

 

1024x600 is in RGB888 high bus intensive, read LTDC appnote pdf . You dont show MCU used, then if your app isnt colorfull change to RGB565 is simple choice. One more Q is your SDRAM 32bit?

Thanks for your help. The MCU is STM32H743, the SDRAM: IS42S32800G, 32Bit, by QSPI I mean the external flash. I forget to say about the display, it is a LVDS display and I use DS90CR285 for conversion. This display accept RGB888 or RGB666. But the strange is the difference of horizontal to vertical differences.

 

 

an4861-introduction-to-lcdtft-display-controller-ltdc-on-stm32-mcus-stmicroelectronics.pdf chapter 5.6 , Table 12 etc.

And isnt relevant what display RGB accept, but how framebuffer type LTDC handle.

Hi MM..1, I am perfectly sure that it is a problem in the orientation of the text and in the development of the conversion from memory to buffer in its recalculation.
Let me explain, the text is probably rendered with a figure that goes with the display in landscape position which is typical of the buffer matrix and the native orientation of the LTDC. When I orient the tgfx GUI in portrait, they are probably re-rendered. The timing is perfect, and there is no configuration reason to have one orientation working and the other not.

it is a problem that only affects the text, the text on the keys, the images are not affected in any way.

maybe somethink with new vector font, i dont use latest tgfx then maybe other helps