-
-
Notifications
You must be signed in to change notification settings - Fork 194
Description
Is your feature request related to a problem? Please describe.
When working on an lvgl application, one usually has to render dynamic values in the interface. Currently, Studio always such thing, but only via it's own solution using global variables and checking their values every in a loop/every time lvgl handle gets called. It works, but it isn't very efficient and implements something that LVGL already provides.
Describe the solution you'd like
Lvgl 9 supports observer and subject pattern. One can create an instance of lv_subject_t initialize it with desired type, default value and then either bind it directly to a supported widget or attach to it a callback function which gets triggered every time the subject's value changes.
I propose to either change how the EEZ variables get translated to LVGL, or to create a separate entity in EEZ called Subjects. In both ways, most of the things bound to variables could skip the custom variable checker generated by EEZ and instead be bound directly.
Describe alternatives you've considered
I've tried modifying the generated source code to add my own methods and extend generated widgets with my own data binding logic. This works, it's just a shame EEZ then can't know about these bindings. Perhaps a separate FR to make extending generated project and objects a bit easier? Perhaps even custom widgets?
Additional context
Disclaimer
Please take into account that the tasks reported here will be processed by the Envox team according to the best effort principle, so adjust your expectations accordingly. However, if you want a more prompt and high-quality response as well as direct contact with technical support, you can choose one of our Support plans.