-
Notifications
You must be signed in to change notification settings - Fork 6.9k
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
Update LVGL module to 9.2.0 #68168
Changes from all commits
Commits
Show all changes
15 commits
Select commit
Hold shift + click to select a range
31445ca
west.yml: Update lvgl module to v9.2.0
faxe1008 a91cc1f
samples: modules: lvgl: Update CMakeLists
faxe1008 2f32792
samples: modules: lvgl: Update Kconfig depedencies
faxe1008 44ead5f
tests: lib: gui: lvgl: Migrate to version 9.2
faxe1008 c1b5ff9
boards: stm32h7b3i_dk: Rename LVGL DMA2D Kconfig symbols
faxe1008 478f7ec
samples: modules: lvgl: accelerometer_chart: Migrate to v9.2
faxe1008 c8d3f7e
samples: modules: lvgl: demos: Migrate to v9.2
faxe1008 eecd7f5
samples: subsys: display: lvgl: Migrate to v9.2
faxe1008 7c7bf42
modules: lvgl: Update gluecode to v9.2
faxe1008 8292989
modules: lvgl: Add zephyr OSAL implementation
faxe1008 f130a06
tests: lib: gui: lvgl: Add testcase for OSAL implementation
faxe1008 3928523
samples: modules: lvgl: demos: Add new demos
faxe1008 d10c442
modules: lvgl: Add support for NXP PXP engine
faxe1008 2528602
samples: drivers: video: capture_to_lvgl: Migrate to LVGL v9.2
faxe1008 054aa67
samples: modules: lvgl: transparency: Migrate to v9.2
faxe1008 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains 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
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
/* | ||
* Copyright 2023 Fabian Blatz <fabianblatz@gmail.com> | ||
* | ||
* SPDX-License-Identifier: Apache-2.0 | ||
*/ | ||
|
||
#ifndef ZEPHYR_MODULES_LVGL_LVGL_SUPPORT_H_ | ||
#define ZEPHYR_MODULES_LVGL_LVGL_SUPPORT_H_ | ||
|
||
#include <zephyr/cache.h> | ||
|
||
static ALWAYS_INLINE void DEMO_CleanInvalidateCacheByAddr(void *addr, uint16_t size) | ||
{ | ||
sys_cache_data_invd_range(addr, size); | ||
} | ||
|
||
#endif /* ZEPHYR_MODULES_LVGL_LVGL_SUPPORT_H_ */ |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
/* | ||
* Copyright (c) 2024 Fabian Blatz <fabianblatz@gmail.com> | ||
* | ||
* SPDX-License-Identifier: Apache-2.0 | ||
*/ | ||
|
||
#ifndef ZEPHYR_MODULES_LVGL_ZEPHYR_H_ | ||
#define ZEPHYR_MODULES_LVGL_ZEPHYR_H_ | ||
|
||
#include <zephyr/kernel.h> | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
||
/** | ||
* @brief Initialize the LittlevGL library | ||
* | ||
* This function initializes the LittlevGL library and setups the display and input devices. | ||
* If `LV_Z_AUTO_INIT` is disabled it must be called before any other LittlevGL function. | ||
* | ||
* @return 0 on success, negative errno code on failure | ||
*/ | ||
int lvgl_init(void); | ||
|
||
#ifdef __cplusplus | ||
} | ||
#endif | ||
|
||
#endif /* ZEPHYR_MODULES_LVGL_ZEPHYR_H_ */ |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
/* | ||
* Copyright (c) 2024 Fabian Blatz <fabianblatz@gmail.com> | ||
* | ||
* SPDX-License-Identifier: Apache-2.0 | ||
*/ | ||
|
||
#ifndef ZEPHYR_MODULES_LVGL_ZEPHYR_OSAL_H_ | ||
#define ZEPHYR_MODULES_LVGL_ZEPHYR_OSAL_H_ | ||
|
||
#include <zephyr/kernel.h> | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
||
typedef struct { | ||
k_tid_t tid; | ||
k_thread_stack_t *stack; | ||
struct k_thread thread; | ||
} lv_thread_t; | ||
|
||
typedef struct k_mutex lv_mutex_t; | ||
|
||
typedef struct k_sem lv_thread_sync_t; | ||
|
||
#ifdef __cplusplus | ||
} | ||
#endif | ||
|
||
#endif /* ZEPHYR_MODULES_LVGL_ZEPHYR_OSAL_H_ */ |
This file contains 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
This file contains 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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note: We'll need to move this to
soc/st/stm32/stm32h7x/Kconfig.defconfig
as it's common to whole STM32H7 series so it doesn't make sense to put in board config.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make this part of this PR or a susequent one?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No need to address that now as this is not related with this change. It can wait.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
DMA2D support in LVGL 9.2 might need extra code to work.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should it be removed from the board then ?
@CharlesDias Did you had a try ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I understand dma2d-support correctly - to benefit from dma2d we need to use
LV_USE_DRAW_DMA2D_INTERRUPT
withLV_USE_OS
and calllv_draw_dma2d_transfer_complete_interrupt_handler
when "DMA2D "transfer complete" global interrupt is received". Therefore, extra interrupt setup and handling code is required.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Enabling
LV_Z_USE_OSAL
is already possible and together with dma2d should already give some performance improvement. Its true that the interrupt setup is needed to avoid actively polling for completion.Since I do not own a device with chromart I can not test this easily. If someone wants to help out on this I appreciate every bit :^)