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

LVGL Update Script #45

Open
wants to merge 39 commits into
base: master
Choose a base branch
from

Conversation

unwieldycat
Copy link
Contributor

This pull request adds a Python script that updates liblvgl to a specified upstream version of LVGL. This resolves #34.

As per the initial issue, upon invocation of the script it will:

  • Clone the LVGL source
  • Copy header files and source files into include/liblvgl and src/liblvgl respectively
  • Fix the include directives to match the PROS project structure

The script is a very basic CLI that accepts an upstream branch argument to update from; it is intended to be run manually since some issues may arise from updating that cannot be fixed automatically. Python was chosen for the language since it is easy to work with, and other PROS projects like the CLI use Python.

Differences

Some behaviors of this script are different than what was described in the initial issue:

  • LVGL is not kept as a submodule in the repository, instead it temporarily clones LVGL to copy files.
  • The script does not check if liblvgl is up to date. It is trivial to compare versions manually, but a lot of extra work is needed to do this automatically.
  • The script does not necessarily fix the font issue described in the issue. Instead it features an ignore list, where files specified are not removed or changed by the update.
  • The LVGL version to update from is chosen manually for more control. This allows updating from one minor/patch version to another, instead of only jumping to the latest version (which may have significant breaking changes).

Also worth noting

  • The script sticks to using standard Python libraries so it's as portable as possible
  • It has been tested for Windows and macOS on Python 3.12
  • It is formatted with the Black formatter

I'm happy to make any changes if necessary!

@thiccaxe thiccaxe mentioned this pull request Oct 18, 2024
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

Successfully merging this pull request may close these issues.

Script to automatically pull LVGL updates
1 participant