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

Update LVGL module to 9.2.0 #68168

Merged
merged 15 commits into from
Jan 4, 2025
Merged

Conversation

faxe1008
Copy link
Collaborator

@faxe1008 faxe1008 commented Jan 26, 2024

Update the lvgl module to version 9.0.0. Commits still need to be cleaned, opening this for others to also test.

Things left to do:

  • Investigate the failing tests
  • Fix LV_Z_FLUSH_THREAD
  • Check samples on displays of every color format
  • Color on RGB888 display
  • Solution for monochrome pixel format
  • Add the OSAL layer`
  • Figure out what to do about DMA2D
  • Add the new demos

@zephyrbot
Copy link
Collaborator

zephyrbot commented Jan 26, 2024

The following west manifest projects have changed revision in this Pull Request:

Name Old Revision New Revision Diff
lvgl zephyrproject-rtos/lvgl@2b498e6 zephyrproject-rtos/lvgl@6decbb7 (master) zephyrproject-rtos/lvgl@2b498e6f..6decbb7f

All manifest checks OK

Note: This message is automatically posted and updated by the Manifest GitHub Action.

@zephyrbot zephyrbot added manifest manifest-lvgl DNM This PR should not be merged (Do Not Merge) labels Jan 26, 2024
@faxe1008 faxe1008 force-pushed the update_lvgl_90 branch 2 times, most recently from cb75cec to d9104c2 Compare January 27, 2024 12:14
@faxe1008 faxe1008 changed the title DNM Update LVGL module to 9.0.0 DNM Update LVGL module to 9.1.0 Apr 1, 2024
@faxe1008
Copy link
Collaborator Author

faxe1008 commented Apr 1, 2024

I updated the module branch and this PR for the release v9.1.0, which was ~1 week ago. However I am still facing an issue with the build system, lvgl samples show this error in CI (and also locally):

CMake Error at /__w/zephyr/zephyr/cmake/modules/arch_v2.cmake:36 (message):
  ARCH not defined.  Check that BOARD=wio_terminal, is selecting an
  appropriate SoC in Kconfig, SoC=samd51p19a, and that the SoC is selecting
  the correct architecture.

Any help as to why this update messes with the ARCH Kconfig symbol would be very much appreciated :^).

@faxe1008
Copy link
Collaborator Author

faxe1008 commented Apr 3, 2024

Located the issue this was happening because of this Kconfig in upstream lvgl:

		config LV_TXT_BREAK_CHARS
			string "Can break (wrap) texts on these chars"
			default " ,.;:-_)]}"

@faxe1008 faxe1008 force-pushed the update_lvgl_90 branch 17 times, most recently from 2fff0ec to 6edd179 Compare April 4, 2024 15:05
With v9.1.0 the benchmark sample now has a Kconfig depedency on
LV_USE_DEMO_WIDGETS.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
With the update to v9.2.0 several Kconfig symbols were renamed or removed.
Adjust the test accordingly. Also several constants were renamed, rename
those also.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Rename the defaulted DMA2D Kconfig symbols to match the new upstream
nomenclature.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
This patch fixes the style size setter usage in the accelerometer_chart
demo since it now expects two dimensions. Also the newly named functions
which are typedefed by the api_map in LVGL are updated to anticipate their
deprecation.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
This patch changes the usage of LVGL functions which are typedefed in the
api map to their new version to anticipate their deprecation.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
This patch changes the functions unsed in the subsys demo that are part of
the api map to anticipate their deprecation.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
@zephyrbot zephyrbot removed the DNM This PR should not be merged (Do Not Merge) label Dec 31, 2024
Copy link
Member

@uLipe uLipe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Initial comments. but overall looks good!

modules/lvgl/lvgl.c Show resolved Hide resolved
modules/lvgl/lvgl.c Show resolved Hide resolved
modules/lvgl/lvgl_zephyr_osal.c Show resolved Hide resolved
@faxe1008 faxe1008 force-pushed the update_lvgl_90 branch 3 times, most recently from 9d6cca3 to 91c0cd1 Compare January 3, 2025 07:47
This patch updates the module gluecode to be compatible with LVGL version
9.2. This includes changes done to display and input driver initialization
  and draw buffer handling.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
This patch adds the OSAL implementation of dynamic thread creation, mutex
and thread syncronization primitive (semaphore) enabling the use of the
parallel rendering architecture provided with LVGL 9.0. To use it, set
`CONFIG_LV_Z_USE_OSAL` and your preferred dynamic thread stack allocation
method (pool or heap).

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
This patch adds a testcase adding the OSAL to ensure the implementation is
built during CI.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Add the new demos of LVGL 9.2:
- flex_layout
- keypad_and_encoder
- render
- scroll
- multilang

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Adds support for the NXP PXP engine. LVGL changed
the Kconfig symbol from LV_USE_GPU_NXP_PXP to
LV_USE_PXP, but hal_nxp still relies on
LV_USE_GPU_NXP_PXP, so add a temporary symbol for it.
Additionally the drawing engines need to invalidate
ranges in the dcache, the method needs to be provided
via a lvgl_support.h file.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Adjust the Kconfig symbols of the capture to lvgl sample. LV_MEM_CUSTOM has
been removed in v9.0 and LV_USE_IMG has been changed to LV_USE_IMAGE.
Fix the changed fields for the image descriptor struct.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Removes the LV_COLOR_SCREEN_TRANSP Kconfig option as its not part of the
modules Kconfig anymore and renames the functions according to the new v9.2
API.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
@kartben kartben merged commit f25a8aa into zephyrproject-rtos:main Jan 4, 2025
27 checks passed
@kartben
Copy link
Collaborator

kartben commented Jan 4, 2025

@faxe1008 awesome work, thank you so much!

@Finomnis
Copy link
Contributor

Finomnis commented Jan 4, 2025

It is done!! Crazy. Thanks, @faxe1008 :)

@Finomnis
Copy link
Contributor

@faxe1008 Missing entry in changelog, from what I can see

@faxe1008
Copy link
Collaborator Author

@Finomnis I do this typically during feature freeze of the next release :^)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Display area: LVGL Light and Versatile Graphics Library Support area: Samples Samples area: Video Video subsystem manifest manifest-lvgl platform: STM32 ST Micro STM32
Projects
None yet
Development

Successfully merging this pull request may close these issues.