2025-04-14 7:28 AM - last edited on 2025-04-14 7:40 AM by Andrew Neil
Hi!
We got an old TouchGFX (4.10) application where the screen freezes from time to time. Freeze means we no longer get tick events, whereas the other FreeRTOS tasks are still alive. *Most* times this happens after Button pressed events.
This raises understanding questions on our side:
Regarding the missing the tick events in our application: Are there any (known) user errors when using TouchGFX that prevents the TouchGFX framework from sending tick events? Or to ask the question the other way: That must have gone wrong that the TouchGFX framework stopped sending tick events?
Thank you for your help.
2025-05-05 5:16 AM
Hello @hvv ,
4.10 is quite old now, I don't think I can help you much on your 4.10 freeze issue but I can answer your other questions.
Calling invalidate() on an area adds that area to the area that will be re-drawn, so if you call invalidate twice on the same area, it won't re-draw twice since this is the same area.
If you have 2 elements, element 1 is below and element 2 is above and partially hiding elemnt1, if you invalidate element 1, the area of element 1 will be invalidated including the part that is hidden, so if you change the color of element 2 but don't invalidate it, then you change the color of element 1 and invalidate element 1, then the visible part of element 1 will change color and the port of element 2 that is on top of element 1 will also change color.
If there are 2 re-draw events, only one re-draw will happen : the last one that happen right before the re-draw.
If 2 redraw such as one container and one button have to be re-draw, they will be re-drawn during the same tick if their invalidate happens at the same tick too.
Regards,