-
Notifications
You must be signed in to change notification settings - Fork 8.2k
samples: lvgl: enhacements for CI check updates for NXP platforms #84458
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
base: main
Are you sure you want to change the base?
samples: lvgl: enhacements for CI check updates for NXP platforms #84458
Conversation
421c52a to
66537f9
Compare
faxe1008
left a comment
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.
Not against this per se but some thoughts:
- This needs to be split into two commits, one deals with fixing the memory requirement and the other adds a test harness.
- Do not know if it is a usual thing to have a test harness for the samples. I would have thought thats what the tests are for.
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.
count is uint32_t, needs to be %u
I was hoping someone would say that :) I don't really think it adds any value (having the text show up on the console proves literally nothing as to whether the sample actually works and display things correctly), and it unnecessarily clutters the user's console with "unhelpful" messages. It is useful to add tests for checking lvgl works correctly, no doubt about that, but I think it should be done in... tests :) The samples' primary objective should remain to provide to the point code that people can use as a starting point. |
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.
the comment here also seems to imply this conf is really only here for testing purposes? ("verify the DMA driver"??). This doesn't sound right. Also, maybe CONFIG_MCUX_ELCDIF_PXP should simply default to Y at the board/soc level when DMA is enabled?
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.
this is reused from former mimxrt1060_evk board, CONFIG_MCUX_ELCDIF_PXP consumes a lot, we do not want it enabled by default if user do not use display.
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.
Not enabling it by default is okay, but the comment needs to be changed.
I'd honestly just drop it - why would you enable DMA and PXP related settings if not to use/test them?
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.
where is rotation angle set to 0?
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.
@kartben this is reused from former platform, in PXP engine we can rotate the image by 90/180/270 degree, so this is default setting.
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.
This still needs to be addressed, imo. The comment is not needed if it is a default. It tends to confuse anyone who reads it, because nowhere is there any config about rotation in here.
without this fix, the build will fail by twister #84456 , as the |
66537f9 to
dfaf544
Compare
|
Hmm ok, the build issue is annoying. Either remove the console harness completely or go with this change then. |
dfaf544 to
48d8493
Compare
@faxe1008 thanks, I have split the PR into two commits, and update the commit message. Please check. |
faxe1008
left a comment
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.
For the 48d8493be4ffd7ba91deb8dd2496f8f7bad7c51f the commit message needs adjusting:
- The board is mimxrt1060_evkc and this specific commit does not fix #84456
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.
This still needs to be addressed, imo. The comment is not needed if it is a default. It tends to confuse anyone who reads it, because nowhere is there any config about rotation in here.
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.
Not enabling it by default is okay, but the comment needs to be changed.
I'd honestly just drop it - why would you enable DMA and PXP related settings if not to use/test them?
48d8493 to
dff399b
Compare
|
@faxe1008 , thanks for reminding, I miss your former change request, and update now. please review again. sorry for troubles. and thanks again. |
|
FWIW I agree with @faxe1008 of removing the console harness altogether |
|
There is still the
The PR does provide some output, but I feel like it does not provide any verification besides "the LVGL event loop has run at least once". The changes themselves look fine now. Not gonna +1 for now, but I will remove my nack. |
9492108 to
23e687b
Compare
|
@faxe1008 @kartben now I update the PR for below, please help to review and check. Thanks
|
faxe1008
left a comment
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.
Again I am not sold on the idea of this having a test harness at all. This is a sample which shows how to add widgets and assign them input devices. Currently the hardness does not verify functionality:
if ((count % 100) == 0U) {
sprintf(count_str, "%d", count/100U);
lv_label_set_text(count_label, count_str);
printf("run %u\n", count/100U);
}
lv_timer_handler();
If no interaction on the device is executed during tests the only thing the handler has to do is triggering a partial screen update for this label text. However even that does not verify anything:
- the set_text does a bit of internal math and enqueues a screen invalidation
- printf is executed - basically the test can be now considered as passed
- the handler is executed triggering the screen writing
So the test does not actually test things to the point where you can say "yup, the test is green there are definetely no issues with the LVGL integration on Zephyr for that board". In my oppionion we would benefit more from excercising the glue code that is maintained by Zephyr and make sure that is working as intended. This patch does not deliver on that imo. Functionality of LVGL itsself like screen invalidation logic, management of input is best tested by themselves in upstream.
The changes to the board overlays and tags look fine however if you want to proceed adding them.
| reg = <0x31000 0x1000>; | ||
| interrupts = <71 0>; | ||
| phy-clock = <748154880>; | ||
| clocks = <&clkctl1 MCUX_MIPI_DSI_DPHY_CLK>, |
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.
The commit message has a typo:
idts: mimxrt595_evk_cm33: mipi_dsi dts updates
|
|
||
| CONFIG_DMA=y | ||
| CONFIG_MAIN_STACK_SIZE=20480 | ||
| CONFIG_MIPI_DSI=y |
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.
What is the rationale to not have this as a board overlay conf instead?
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.
What is the rationale to not have this as a board overlay conf instead?
@faxe1008 I do not want this to be added to each platform, as this is generally applies to all NXP platform. so only one config is added.
@faxe1008 , I agree with you that we should use a glue code to test the lvgl in more details, which can go to the tests, and I can work with you to implement that. the idea here is to not to make this sample as a test. Instead, what I am doing is to ensure this samples is runnable on applicable NXP platforms. So I add |
add console output for sanity check in CI. this will make twister build pass with harness: console fixes: zephyrproject-rtos#84456 Signed-off-by: Hake Huang <[email protected]>
unify the configs and remove platform_allow as possible Signed-off-by: Hake Huang <[email protected]>
add mipi and lcd_if tag for NXP platforms Signed-off-by: Hake Huang <[email protected]>
mipi_dsi missing default required prop phy_clock Signed-off-by: Hake Huang <[email protected]>
134bb01 to
def978b
Compare
|
pre TWG meeting, I will propose a PR to update the sample criteria for review such changes first. |
|
This pull request has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this pull request will automatically be closed in 14 days. Note, that you can always re-open a closed pull request at any time. |
|
still need follow up |
|
This pull request has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this pull request will automatically be closed in 14 days. Note, that you can always re-open a closed pull request at any time. |
|
will update after #91597 meger |
|
This pull request has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this pull request will automatically be closed in 14 days. Note, that you can always re-open a closed pull request at any time. |
|
will update with #94961 |
|
This pull request has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this pull request will automatically be closed in 14 days. Note, that you can always re-open a closed pull request at any time. |
fix runtime memory issue on mimxrt1060_evkc
also add regx support for this sample, so twsiter can run this sample in board CI.
remove NXP cases constrains with platform_allow, now it is based on tags and dts/kconfig.
Also fix a build issue in rt595 when display feature is in support list.
fixes: #84456