Skip to content

Conversation

@faxe1008
Copy link
Contributor

@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

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/[email protected]

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
Contributor 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
Contributor 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 <[email protected]>
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 <[email protected]>
Rename the defaulted DMA2D Kconfig symbols to match the new upstream
nomenclature.

Signed-off-by: Fabian Blatz <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
@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!

@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 <[email protected]>
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 <[email protected]>
This patch adds a testcase adding the OSAL to ensure the implementation is
built during CI.

Signed-off-by: Fabian Blatz <[email protected]>
Add the new demos of LVGL 9.2:
- flex_layout
- keypad_and_encoder
- render
- scroll
- multilang

Signed-off-by: Fabian Blatz <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
@kartben kartben merged commit f25a8aa into zephyrproject-rtos:main Jan 4, 2025
27 checks passed
@kartben
Copy link
Contributor

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
Contributor 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.