Skip to main content
MPast.1
Senior
April 9, 2024
Solved

Strange effect when widget is pressed

  • April 9, 2024
  • 2 replies
  • 1831 views

Hi everybody,

 In my custom board I discover a strange effect when I interact with widget.

The latest widget redraw has always a lots of wrong pixels while the previous one is redrawed correctly.

I'm using an STM32H743VIT6, with touchGFX 4.23.2 and Stm32cube ide 1.15.0.

Assets are load from an external QSPI memory

This is the first time I see this strange behaviour and I would like to understand the cause.

Does some has an idea? IS it software or should be hardware?

Some suggestion?

At the following link, I upload a small video to show you the effect (link is available until April 16, 2024):

https://fex.net/s/rveymxr 

 

thanks in advance

This topic has been closed for replies.
Best answer by unsigned_char_array

If you enabled data cache you need to invalidate the cache using SCB_InvalidateDCache_by_Addr.

2 replies

Lead II
April 12, 2024

If you enabled data cache you need to invalidate the cache using SCB_InvalidateDCache_by_Addr.

"Kudo posts if you have the same problem and kudo replies if the solution works.Click ""Accept as Solution"" if a reply solved your problem. If no solution was posted please answer with your own."
MPast.1
MPast.1Author
Senior
April 16, 2024

HI @unsigned_char_array,

I disabled DCache from configurator and everything works correctly

ST Employee
April 12, 2024

Hello @MPast.1 ,

As you know there can be multiple causes for this issue. Here are my suggestions:

  1. Are you using a Double framebuffer or Single framebuffer? If you are using the double, can you ensure that you send the correct one to display and not the one currently being drawn to
  2. What type of display interface are you using? If you have memory in the display, can you confirm that the correct data is saved there?
  3. It would be nice to disable any optimizations like caching or hardware accelerations and then examine your framebuffer to check if the data is correctly written to it.
  4. There could also be a synchronization issue with sending the framebuffer to the display and drawing the new frame if you are using a single framebuffer.
  5. I don't think the problem stems from reading the data from the flash because, as you mentioned, the previously drawn data appears correct. So, focus on the new updated parts

Looking forward to hearing from you

MPast.1
MPast.1Author
Senior
April 16, 2024

Hi @Mohammad MORADI ESFAHANIASL , sorry for the late:

I answer you point by point:

  1. I'm using Single buffer.
  2. I'm using a display that admit various interfaces: for configuration I 'm using SPI port and when it is ready, I  unblock the initialization process and I let TouchGfx take the control using RGB565 interface.
  3. I Tryed to remove any kind of optimization from compiler (but nothing changes), but when I Disabled "CPU DCache" I solved the problem definitivly.
  4. solving the problem with the previous solution, I'm thinking witch 4th point is not relevant.
  5. There are not problems regarding QSPI access and remapping function. It's the only thing it works perfectly from the begging

Thank you

best regards

ST Employee
April 17, 2024

Hello @MPast.1 ,

Glad to hear you managed to fix the issue 

Best regards,