-
• #2
Hi - that's interesting - personally though I think we already have Espruino's graphics library, which looking at that video it seems might even be a bit faster.
We have several bits of UI already which fit in with the current way of doing things (eg https://www.espruino.com/Bangle.js+Layout), so while I'm sure there are other things in LVGL, I think it's probably more sensible to just implement the missing functionality in JS than to pull in a whole new GFX library with the extra flash memory usage that entails
-
• #3
I think it may be good option for other Espruino devices if the speed and RAM memory requirements are not that bad. For Bangle watches with uploadable apps I think the memory should be free for apps - I see you had to decrease variables quite a lot. Not sure how much the RAM can be optimized. If most bloat would go to flash memory instead of RAM it could be tolerable. However for some single purpose Espruino device that is just showing nice stuff even this may not be a problem. Also there may be more RAM and CPU available for other Espruino platforms - like ESP32 or STM32 or even Linux so there it could make even more sense.
-
• #4
Thank you for your feedback.
While working on the pebble fonts and getFonts (see https://github.com/espruino/BangleApps/issues/3109) I asked myself if I am not somehow reinventing the wheel. Then I found joaquim's project with lvgl and espruino https://www.joaquim.org/espruino-in-pineĀtime-40/
I was impressed what a good looking UI he created on espruino. The combination of bangle js os, app ecosystem, ability to be programmed via javascript on a web IDE and a mature embedded UI lib with lot's of widgets, themeing, styles, etc looked very promising.
But I understand that would be a big change.
-
• #5
I was thinking along the same lines and came across both this post and my namesake's blog post.
Joaquim's results look really good!
I agree with Gordon that for most Espruino boards it's really overkill. But for devices with more than enough resources, I think it makes much more sense. If only SquareLine Studio would output JavaScript! On second thought, then I wouldn't be writing code anymore :)
Lvgl is working on the bangle js 2 with espruino. Here is a simple example using the arc that also includes touch handling.
https://github.com/Chriz76/Espruino/tree/lvgl (prototype code)
This is based on the work of joaquim who did a lot more (and better looking) stuff. I already posted about it in the other thread:
https://forum.espruino.com/comments/17463581/
What do you think about lvgl on the bangle js 2? After (auto?) creating the js bindings it would allow easy development of nice UIs, but I am not sure if it is worth the work and if the hardware is fast enough. Maybe for a bangle js 3 :-)
1 Attachment