-
Notifications
You must be signed in to change notification settings - Fork 2k
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
tools: Export RDF data about features and boards #20395
base: master
Are you sure you want to change the base?
Conversation
286fbca
to
9bb352d
Compare
21274ec
to
a5be350
Compare
a5be350
to
2f75d5b
Compare
ecfab61
to
2e08c46
Compare
… if packaging is not installed We can't 'just' install it -- the whole point of the script is to not start running in isolated venvs.
…endency information
370b62f
to
4bb03f3
Compare
3094897
to
2ea9b3e
Compare
1c453a5
to
119cafb
Compare
119cafb
to
d6e9c9f
Compare
For a general overview, I don't think we will get rid of any huge table, maybe it could, however, be rendered as an SVG, heatmap style? For details, I'd say a simple “portfolio” (not sure this is how you would translate “Steckbrief” from German in this case) for each board as a bullet point or description list that we can add to the doc of each board would already be a step up from the current approach. |
Hovering over a cell could then summarize the row & column indices (which then also of course would be shown at the axes) |
I'd love to have the portfolio. Do you happen to know an algorithm that, given a tree of identifiers and boolean properties at the leaves, finds the shortest (or a short) boolean expression that makes use of the node? For example, for board XY it should say that it supports "all Arduino features except arduino_pwm and arduino_form_factor_foo, cortexm_svc, cortexm_check_addrs, all flash features except rwee, and these individual peripherals features". (Sure needs some natural language generation to turn the boolean expression tree into readable, and add some collapsing, but that's more straightforward). I can sure code something up, but that sounds like a problem that has been solved over and over already (and is easy once you know the name). This portfolio thing would work on both axes: Likewise, the portfolio of feature periph_pwm would say "All Atmel boards, all NXP except this-and-that" etc (but would be more sensitive to providing the right tree(s?) to group the boards by). I can play around with the heatmap idea, but that'll either become a huge SVG thing (essentially every pixel spelled out as a rect with its own tool tip) or will be more on the JS heavy side. Maybe that can be combined with collapsing and expanding the table -- I originally had in mind that when you collapse (say) a group of boards, the cell would give a yellow "~" if it contains both yes and no cells, but maybe it can also just show a small heat map of its own, with the full heat map just being the result of collapsing the table into a 1x1 table. |
This sounds way more complicated than what I had in mind. I was thinking something like this
|
Shortly thinking a bit more about the “shortest boolean expression” thing a bit more: I don't think I like it... It assumes that a user knows what, e.g., “all arduino” features are, while a list would explicitly spell out what is supported. |
Ping? |
Contribution description
Building on #20366, this generates two RDF data sets:
Testing procedure
TBD. So far, this is experimental only.
Once this builds successfully (tooling updates required so we can install Python dependencies), the produced documentation will contain a page that shows the large feature matrix. On the long run, I think we'll need to slim that down, or provide a more interactive tool for it. (Anyone with web development skills around?)
Issues/PRs references
Builds on #20366
Next steps
To be useful, the two RDF outputs should be combined into an HTML table before this can be considered for inclusion properly.