Strange effect when widget is pressed
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-04-09 1:26 PM
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):
thanks in advance
Solved! Go to Solution.
- Labels:
-
TouchGFX
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-04-12 4:17 AM
If you enabled data cache you need to invalidate the cache using SCB_InvalidateDCache_by_Addr.
Click "Accept as Solution" if a reply solved your problem. If no solution was posted please answer with your own.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-04-12 4:17 AM
If you enabled data cache you need to invalidate the cache using SCB_InvalidateDCache_by_Addr.
Click "Accept as Solution" if a reply solved your problem. If no solution was posted please answer with your own.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-04-12 6:19 AM
Hello @MPast.1 ,
As you know there can be multiple causes for this issue. Here are my suggestions:
- 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?
- 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?
- 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.
- 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.
- 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
ST Software Developer | TouchGFX
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-04-16 11:21 AM
I disabled DCache from configurator and everything works correctly
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-04-16 11:41 AM
Hi @Mohammad MORADI ESFAHANIASL , sorry for the late:
I answer you point by point:
- I'm using Single buffer.
- 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.
- I Tryed to remove any kind of optimization from compiler (but nothing changes), but when I Disabled "CPU DCache" I solved the problem definitivly.
- solving the problem with the previous solution, I'm thinking witch 4th point is not relevant.
- 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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-04-17 12:57 AM
Hello @MPast.1 ,
Glad to hear you managed to fix the issue
Best regards,
ST Software Developer | TouchGFX
