Skip to content

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