Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

replace our ui_X components, bg_str (fonts), shapes with lvgl #179

Closed
14 tasks done
bwhitman opened this issue Feb 6, 2024 · 2 comments
Closed
14 tasks done

replace our ui_X components, bg_str (fonts), shapes with lvgl #179

bwhitman opened this issue Feb 6, 2024 · 2 comments
Milestone

Comments

@bwhitman
Copy link
Collaborator

bwhitman commented Feb 6, 2024

After some research, we determined we can fit LVGL into Tulip CC to handle UI components -- sliders, text entry, wrapped text, checkboxes, etc. We still will keep our "GPU" code to draw fast text (TFB), sprites, scrolling backgrounds, but much of the "BG" drawing commands can be replaced with LVGL.

LVGL can handle all of our old ui_X components and much of bg_X. They've given more thought to layouts, resolution independence, delta bitmap updating etc than we have. It also will help people make better UIs as there are a lot more examples, simulators, online design tools etc available. It also supports a nice on-screen touchscreen keyboard, which I think some users of Tulip will appreciate.

TODOs:

  • get lvgl micropython module in the tulip build system
  • convert default fonts to 1bpp so we can draw them without color banding in rgb332
  • get touch screen / mouse on desktop wired up to lvgl
  • get keyboard wired up to lvgl
  • make examples or wrappers for everything in buttons.py in LVGL (including callbacks)
  • investigate native RGB332 rendering so save CPU on conversion
  • optimize our driver for LVGL -> BG writing (direct mode)
  • load back in fun fonts from our old u8g2 pack
  • figure out which bg_X commands can be rewritten in lvgl. bg_rect / roundrect, circle, pixel, line etc
  • update docs with pointers to demos, squareline studio, web demo
  • look at lodepng integration
  • test larger UI on smaller screen (scrollbars, wrapping)
  • juno_ui
  • merge in main
@bwhitman bwhitman added this to the Tulip v4r10 milestone Feb 6, 2024
@bwhitman bwhitman changed the title investigate replacing our ui_X components with lvgl replace our ui_X components, bg_str (fonts), shapes with lvgl Feb 18, 2024
@bwhitman
Copy link
Collaborator Author

Carving out two big todos from this that aren't release blockers, now #189 and #190

@bwhitman
Copy link
Collaborator Author

Merged!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant