BRT Community

General Category => Discussion - EVE => Topic started by: Cyrilou on March 19, 2021, 09:56:13 AM

Title: Render the screen only when there is a change in ESD
Post by: Cyrilou on March 19, 2021, 09:56:13 AM
Hi,

In my screen I have multiple variables which are connected to text property of ESD labels. When render is called, text is refreshed each time, even if variable value doesn't change with spi transferts useless.
How to avoid this?
Title: Re: Render the screen only when there is a change in ESD
Post by: BRT Community on March 22, 2021, 12:13:07 PM
Hello,

Can I just clarify your question. Are you asking why there are SPI transactions for the text on the screen when render is called (even when you haven't changed the text to be displayed)? If I am mistaken please elaborate on your issue.

In general, for every screen update issued to EVE the entire display list used to create that screen must be re-written to the IC. For example if you have 5 labels with text, and you change the text to be displayed on one of these 5 labels, when updating the display all 5 labels must be written back into the display list and sent to the EVE IC via SPI.

Best Regards,
BRT Community
Title: Re: Render the screen only when there is a change in ESD
Post by: Cyrilou on April 07, 2021, 02:16:53 PM
If nothing changes between two update frames, nothing would be send by SPI.
I say that for exported esd_loop function that would blocked waiting a semaphore in a thread. I could  unlock it when there is an update to do or an animation with multiple updates until it is completed.