Open
Conversation
Since LVGL v9, the drivers are integrated in the main LVGL library and the drivers submodule is no longer needed.
The only header file left in the deps directory is the lv_conf.h header file, and that one is already detected by means of the LV_CONF_PATH and LVGL_PATH. Removing the hardcoded path also makes it easier to use an externally build LVGL library with its own config file.
Replace the config file with the template config file from LVGL 9.2.0 and split the simulator and device configuration into two separate files.
The previous commit replaced the customized options with the default values. Restore the relevant changes again.
Re-work the HAL code to the new LVGL driver api.
In the new LVGL v9 api, the name of many symbols has changed, some structs are made opaque with helper functions to access their contents, some datatypes changed from 16 to 32bit, etc.
In LVGL v9, the axes of the chart component are a separate widget (lv_scale), and are no longer part of the chart widget itself. Since there is no direct replacement present, those chart related api calls have been disabled, until a better solution is available. The result is that charts will be drawn without any axes. Fixing this issue will require some future work.
Modern C++ compilers no longer allow implicit conversion from integer to enum values. Since the lv_obj_flag_t enum is intended to be used as a bit flag, combining several values with the OR operator results in an integer and not a enum value. Hence the compilation fails with an error: error: invalid conversion from ‘int’ to ‘lv_obj_flag_t’ [-fpermissive]
Some of the magic values in the LVGL library changed from 16 to 32 bit values. This mismatch caused several rendering issues because the magic values were suddenly interpreted as (large) normal numbers.
Collaborator
|
This is 🔥 and unblocks enabling custom fonts. I will review and test the changes and put some thought into the chart issue |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR upgrades the bindings to LVGL 9.2.
The main remaining issue is in the chart widget. The axes are missing because in LVGL 9 they have been removed from the chart widget and replaced with the scale widget. The result is that charts will be drawn without any axes.