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

doc: boards: Add ability to filter by SoC in the board catalog #79670

Merged

Conversation

kartben
Copy link
Collaborator

@kartben kartben commented Oct 10, 2024

https://builds.zephyrproject.io/zephyr/pr/79670/docs/boards/index.html

This introduces the ability to filter boards per SoC by adding a set of fields that allow to select
said SoC(s), possibly selecting entire families or series.

Sans.titre.mov

Although still reasonably straightforward, the search/filtering UI is becoming richer and richer. Therefore, the PR also introduces a short list of "search tips", including what to do when it doesn't seem like their board is supported.

This builds on #79708, so will be rebased once this other PR is merged.

FWIW, next improvement will be to introduce the ability to filter by HW capability (see #79754), and I will likely use this as an opportunity to also tidy up the JS code a bit.

@kartben kartben changed the title doc: extensions: conditionally includes css/js assets doc: boards: display soc info and allow filtering Oct 10, 2024
@kartben kartben force-pushed the board_catalog_with_socs branch 19 times, most recently from 437b816 to 3c2eb6b Compare October 14, 2024 09:16
@kartben kartben changed the title doc: boards: display soc info and allow filtering doc: boards: Add ability to filter by SoC in the board catalog Oct 14, 2024
@kartben kartben force-pushed the board_catalog_with_socs branch from 3c2eb6b to 5cf41a7 Compare October 14, 2024 09:26
@kartben kartben marked this pull request as ready for review October 14, 2024 09:49
@kartben kartben requested a review from carlescufi as a code owner October 14, 2024 09:49
@kartben
Copy link
Collaborator Author

kartben commented Oct 14, 2024

Should/could selecting an architecture or vendor limit the SoC options to only those that still apply?

I was waiting for someone to ask :) maybe, yes, but then that means you'd likely want to generalize this to all select fields (ex. selecting the vendor "ST" would only leave arm/arm64 in the arch list), and I'm undecided as to whether this makes for an improved UX or not. I think I like the ability to select the criteria completely independently of whether there might actually be any hits or not, and the ability to actually create a query that shows no result (as said query might return different results in the future) rather than preventing me from doing so. Think e.g https://builds.zephyrproject.io/zephyr/pr/79670/docs/boards/index.html#arch=riscv&vendor=st

@kartben
Copy link
Collaborator Author

kartben commented Oct 14, 2024

It's also not possible to unselect an architecture or vendor, which may become more relevant when more socs/capabilities extend the number of filters significantly.

Yes, unselecting is through "Reset Filters" button at the moment, and it's not possible to select multiple archs or vendors, which is not the end of the world but also an unnecessary limitation. I will introduce multi-select (hence also ability to unselect) just like the family/series/soc fields in a future PR.

@kartben
Copy link
Collaborator Author

kartben commented Oct 14, 2024

Should/could selecting an architecture or vendor limit the SoC options to only those that still apply?

Also, btw, there isn't really any information about the arch(s) of a given soc in the hardware model, and right now I'm getting the information by looking at what's in the twister file for all the board targets of a given board. If we are to implement something along the lines of what you suggest, I think it'd be needed to have the information readily/reliably available in the hardware model.

pdgendt
pdgendt previously approved these changes Oct 14, 2024
Copy link
Collaborator

@pdgendt pdgendt left a comment

Choose a reason for hiding this comment

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

A nice addition nonetheless, future improvements can be added later.

nashif
nashif previously approved these changes Oct 14, 2024
Now that we have full_name available in board.yml, stop trying
to "guess" full/commercial name of the board based on its
documentation.

Signed-off-by: Benjamin Cabé <[email protected]>
Store soc(s) information for each board in the catalog, as
well as populate a tree structure for the full list of
family->series->soc.

Signed-off-by: Benjamin Cabé <[email protected]>
This introduces the ability to filter boards by soc (family / series /
soc).

Signed-off-by: Benjamin Cabé <[email protected]>
As the search form is becoming richer, provide some guidance on how to
filter the list of supported boards and what to do when no results are
found.

Signed-off-by: Benjamin Cabé <[email protected]>
@kartben kartben force-pushed the board_catalog_with_socs branch from 5cf41a7 to 1ea25f9 Compare October 15, 2024 18:19
@kartben
Copy link
Collaborator Author

kartben commented Oct 15, 2024

rebased to get rid of the commits now merged with #79708

@erwango
Copy link
Member

erwango commented Oct 16, 2024

One comment on testing https://builds.zephyrproject.io/zephyr/pr/79670/docs/boards/index.html#
Selecting a vendor does not filter on family/series/soc columns. Not blocking but feels like an unexpected behavior.

@kartben
Copy link
Collaborator Author

kartben commented Oct 16, 2024

One comment on testing builds.zephyrproject.io/zephyr/pr/79670/docs/boards/index.html Selecting a vendor does not filter on family/series/soc columns. Not blocking but feels like an unexpected behavior.

@erwango
See #79670 (comment) and #79670 (comment)

I understand it can be confusing though so maybe this can be improved over time.
Thanks for the feedback!

@henrikbrixandersen henrikbrixandersen merged commit ede954c into zephyrproject-rtos:main Oct 16, 2024
16 checks passed
@kartben kartben deleted the board_catalog_with_socs branch October 16, 2024 16:02
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.

8 participants