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

samples: display: lvgl: test with XIAO round display #85477

Merged

Conversation

mniestroj
Copy link
Member

"XIAO round display" shield is compatible with most XIAO boards and is very nice platform for using
as round smartwatch-like display. Add tests of LVGL sample based on selected XIAO boards in order to
make sure this shield definition remains valid.

samples.subsys.display.lvgl.seeed_xiao_round_display:
min_flash: 320
min_ram: 64
depends_on:
Copy link
Collaborator

Choose a reason for hiding this comment

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

Please remove these non-standard tags from here, as well as from boards yaml files. Compatible boards could be added to platform_allow list instead.

Copy link
Collaborator

Choose a reason for hiding this comment

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

@JarmouniA what do you mean by non-standard?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Sorry non-standard is not really a useful description, I meant to say very platform-specific. I don't think it would be good to start adding twister tags for every kind of boards, it would be very confusing... but that's just my opinion.

Copy link
Member Author

Choose a reason for hiding this comment

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

Introduced xiao_{adc,i2c,spi,serial,gpio} are supposed to map what we have for arduino_{i2c,spi,serial,gpio} already. The nice thing about it is that all boards that have the same header are ready to be tested without specifying each board manually inside platform_allow.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Arduino headers are a universal thing that can be found on a lot of dev board, that's why it has its own tags.

Copy link
Member Author

Choose a reason for hiding this comment

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

Agree. XIAO header is available on about 15 boards (just some of them are supported in Zephyr so far), with many shields available as well. Number of those is obviously much smaller than Arduino compatible ones. Do you think that it is not worth adding supported tags for XIAO, similar as for Arduino?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Okey I guess it's fine.

- xiao_i2c
- xiao_spi
tags:
- samples
Copy link
Collaborator

Choose a reason for hiding this comment

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

If you could move these tags to a common section at the beginning of the file, that would be nice.

Copy link
Member Author

Choose a reason for hiding this comment

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

Each test has a bit different set of tags, we don't use the same tags there for each test.

Copy link
Collaborator

Choose a reason for hiding this comment

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

samples display gui lvgl are common to all test cases, shield can be left in test cases that need it.

Copy link
Member Author

Choose a reason for hiding this comment

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

Deduplicated tags (as suggested) as well as modules (it was always lvgl)`.

@mniestroj mniestroj force-pushed the lvgl-add-seeed-xiao-round-display branch from 62dd9d2 to c73b8b6 Compare February 11, 2025 19:26
Mark interfaces on XIAO header that are supported by each board. This
allows to filter by them (with depends_on) when running twister.

Signed-off-by: Marcin Niestroj <[email protected]>
When tested with xiao_esp32s3 + seeed_xiao_round_display main stack is
occupied with 3504 bytes (checked with 'kernel thread stacks' command).

Increase main stack size from 2k to 4k in order to make this sample work at
runtime.

Signed-off-by: Marcin Niestroj <[email protected]>
Move 'tags' and 'modules' into common section in samples.yaml, so test
definitions are deduplicated a bit.

Signed-off-by: Marcin Niestroj <[email protected]>
Use 'sample.' in the sample definition, in order to follow Zephyr
convention.

Signed-off-by: Marcin Niestroj <[email protected]>
This shield is compatible with all XIAO boards. Tested with 2 of them:
 * xiao_ble
 * xiao_esp32s3

Extend sample.yaml for integration testing with both, so there is coverage
across two very distinct SoC vendors and architectures.

Signed-off-by: Marcin Niestroj <[email protected]>
- gui
- lvgl
- samples
- shield
Copy link
Collaborator

Choose a reason for hiding this comment

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

shield tag is not common to all test cases, there are boards that come with built-in displays.

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, noticed the same and just fixed that.

@mniestroj mniestroj force-pushed the lvgl-add-seeed-xiao-round-display branch from c73b8b6 to c149d0c Compare February 11, 2025 19:38
@kartben kartben merged commit 86b9ff3 into zephyrproject-rtos:main Feb 12, 2025
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants