cancel
Showing results for 
Search instead for 
Did you mean: 

Many error pixels on screen!

imarz.1
Associate III

I got the STM32H747I-DISCO Discovery kit, and I made screen with just two buttons. On the gfx simulator, everything is fine, but as you can see on attached picture, on the real LCD I see so many error pixels both around the buttons, and diagonally. I suspect it is in the setting of the LCD in the Cube ide. The datasheet for the LCD lacks HW details(Horizontal/Vertical Front/Back Porch, VSync/HSync Width etc.), so I am using the defaults.

It also maybe the LCD clock. It is set now at 38MHz. Not sure what is the correct clk setting.

If anyone have any idea, please let me know.

PS: I am using Touchgfx 4.19.0, and Cube ide 1.9.0

Thanks.

11 REPLIES 11
Yoann KLEIN
ST Employee

Hello @imarz.1​ ,

I tried to reproduce your error, but everything works fine for me.

Can you please follow these steps to ensure that the issue comes from your display and not from something else :

  • In TouchGFXDesigner, set your background color at perfect red, like this :

0693W00000LvcARQAZ.png

  • In CubeIDE, put a breakpoint in the function HAL_DSI_TearingEffectCallback() in TouchGFXHAL.cpp, click on Window>Show View>Memory, and then select your framebuffer address to see if a pixel in the first row is different from red (FF0000).

0693W00000LvbqqQAB.png 

Thanks,

/Yoann

Yoann KLEIN
ST Software Developer | TouchGFX

Surely the BSP example code for the platform exposes the timings, perhaps review those?

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Hello,

I just debugged it, and I got exactly the same numbers as yours.

Also, the demo board is brand new. I got it last week.

So, I did not really write any code. I just created two buttons in Touchgfx, and then through Cube ide I programmed it to the demo board. Everything is default.

I was able to get it working by using the "Run Target" in the Touchgfx designer. The way I was doing it:

1- I create project in Touchgfx studio.

2- I compile it.

3 I go to project files, then double click on ".project" file. It will export the project to the Cube ide (to do this Cube ide must be closed. Not sure why)

4- I compile it in the Cube ide, and program the target. Here is where I was getting all the shearing, and pixel errors.

Now, after programming it just once using the Touchgfx, Designer, everything has been working correctly afterward. I can also program it using Cube ide, and everything still ok.

I am not sure why I have to program the target at least once using Touchgfx Designer.

BTW: There was nothing wrong with LCD settings, or CLK. They stayed the same.

I also discovered problems with the Touchgfx "Run Target"

1- The path to the Cube programmer appears to be internally hard coded as: C:\Program Files (x86)\STMicroelectronics\STM32Cube\STM32CubeProgrammer

In my situation I installed the Cube programmer on D drive, and it failed to program. Maybe they should add in the Touchgfx Designer Configuration, a place to enter path to the Cube programmer, instead of hard coding the path internally !!!

2- It took over 15 minutes to program the target. WHY ???

All I had was just two buttons that do nothing. Please fix this nonsense. Even the compiling or running the Simulator took two minutes. And it takes the same amount time every time you click simulate even if you did not modify anything... This is big waste of development time.

I attached text file to show the Touchgfx Designer log in both cases: First when it failed due to the path issue, then when it succeeded after I re-installed Cube programmer in different location. Remember that each programming took over 15 minutes to complete !

Hello,

  • For the hard coded path issue, you can change those references in the makefile of your project. Go to gcc\include\cube_programmer.mk and modify the path so they can point to your D drive. In any case, I will discuss a possible improvement in TouchGFXDesigner, to enable the user to change those paths from the Config tab.
  • It is not normal at all that it takes you 15 minutes to run your application on target. When I use STM32CubeProgrammer to flash the board, it only takes me 12 seconds. Are you using the TouchGFX Board setup for your project ?

0693W00000Lviu1QAB.png 

/Yoann

Yoann KLEIN
ST Software Developer | TouchGFX

Hello,

I do not know why it takes you just 12 seconds to flash your board.

My setup is: Touchgfx Designer 4.19.0 on Windows 10.

I just created new project in the Touchgfx Designer. I pointed to my demo board(STM32H747I-DISCO).

Screen1 has red box covering it, and a button in the middle of it. I saved the project on drive D. I did not write any code, or use any "interactions"

Then I compiled it, and it took just under two minutes.

Then I clicked "Run Target" button. It took 15.5 minutes to flash the board. But after that, the buttons (Compile/Simulate/Run Target) stayed grayed, and it sort of started new programming attempt. It finished 6 minutes later.

So, total time is 21.5 minutes. I attached the log file.

Note: I did not import the project to the Cube ide(in fact Cube ide was not open).

Also, the size of the directory of this very small project is 343MB ?

Jnevi.1
Senior

hmm, i have a similar error (maybe)

I'm using a BW display and this is what i get in the simulator with a progress bar. There pixel errors

Jnevi.1
Senior

and these pixel errors i also get on the display

Jnevi.1
Senior

any update on this? as i have these errors in the simulator aswell i think it is a touchgfx related error