BRT Community

General Category => Discussion - EVE => Topic started by: Smalesh on December 23, 2020, 12:30:08 PM

Title: ESD 4.10 Communication Node
Post by: Smalesh on December 23, 2020, 12:30:08 PM
Hello,
I'm new to EVE coding and am currently using ESD 4.10 for my project.

The goal is to build an information display on a vehicle. So the assets stays always the same, the only things changing are the labels, based on what the ECU send over SPI (ex : the speedometer).

Am I mistaken to think that the complete coding of the display can be done in ESD?
Right now, my layout is done, assets are included and the only thing missing is to code which communication register (SPI) is linked to which label widget.

Is there a function for that in ESD, or should I export the project on Eclipse and code it in C?

Thank you.
Title: Re: ESD 4.10 Communication Node
Post by: BRT Community on December 24, 2020, 04:47:42 PM
Hello,

If you wish to control a widget you can use ESD_GLOBAL to create a user variable node. This would be linked to the value parameter of the widget and you can then update the variable from your other code and it will update the widget (e.g. number or gauge pointer).

ESD4.x handles all of the screen refresh etc. in the framework and so it is not possible to just send data over SPI, you would need to pass the values into the ESD code via the ESD_GLOBAL and then ESD will re-draw the screen containing the widgets.

If coding EVE manually, you can implement some optimisations using the macro and append features whereby you can choose to store some static parts on EVE and send the commands for the widgets which change dynamically.

Best Regards, BRT Community   

Title: Re: ESD 4.10 Communication Node
Post by: Smalesh on December 26, 2020, 04:31:16 PM
Hello,
Thank you very much for your answer.

Now that I have a ESD_GLOBAL variable in my project, how do I update it exactly ?
I'm looking though the Programming Guide and if I understand correctly, every data on EVE is stored in a register that I can update to my liking.
So the real question would be, how can I know which register address this particular ESD_GLOBAL variable is linked to ?

Thanks ! And merry Christmas !