-
-
Notifications
You must be signed in to change notification settings - Fork 1
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
ROADMAP #1
Comments
Could you clarify what you mean by a "Raspberry Pi compatible board" and a "Non-Pi compatible board" ? 😕 Will this new repo also include add-on boards (i.e. HAT / pHAT / HAT+) or is this repo just concerned with the "main boards" ? You may be interested to hear that a big comparison table recently got added to https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#introduction 🙂 I just had a quick look at https://github.com/pinout-xyz/pinout-2024/blob/main/schema/__init__.py (and the files in https://github.com/pinout-xyz/pinout-2024/tree/main/boards )
|
P.S. Is "pinout-2024" just a temporary name? Or will this repo "look old" nest year? 👴 P.P.S. Can I assume that you won't be including WiringPi numbers? 🤣 |
It’s a temporary name, I’ll probably rename and archive pinout.xyz when it comes time to swap over. Unsure about WiringPi- the project is still crawling along. They won’t be included in the board definitions in any case, it would be the static HTML manglers responsibility to handle those… somehow… The splitting up suggestion is interesting. I, too, found the order of pins to be… confusing. Having a full document of chip signals and then mapping those to headers would also allow chip sharing between boards- IE: CM4 vs Pi4. Such complete underlying Pinout documentation is a little ambitious for me alone (I’m not known for my focus and precision) but I could probably add the signals we’re using so far and hope they get fleshed out. Splitting out could make “canonical” more of a presentation layer thing too. It’s just the “default” (except it’s not really a default) mode which is presented on the Pinout diagram presently. Canonical was the best alternative to default I could think up 🤣 But we probably need another json that sits between the board/chip data and supplements it for presentation… friendly names, icons, etc. Alternating - the pins alternate from left to right of the header |
Okay I have split boards into "chips" and "boards", though I still have "canonical_mode" for now 😆 It's a lot cleaner and more rational, and a lot more expressive, though it's an extra level of indirection when generating visualisations from the data- the point of the data is not to make visualisation easy, it's to make it correct. |
You seem to have missed the comments I placed above the horizontal-divider 😉 (I was attempting to separate general-project comments from schema-specific comments) |
Oh sorry, standard ADHD "only read the last part of any wall of text" problems 😆
I guess the more apt term is "clone." Let's go with "clone." If it's like- to pick a totally random example- the BeagleY-AI and intends to be pin-compatible then I don't super mind hosting documentation for it. It's useful for me to have some of these boards on-hand so I don't footgun myself into another non-standard GPIO mess.
Yes. Migrating add-ons over is essential before the new site can replace the old. It needs to be 1:1 feature compatible, basically. But better, better where it can be better.
I find Pi's documentation borderline unusable because everything is on one long, long, long page and my brain just checks right out. But actually, yes, the table up top is very useful! |
Pinout 2024
The scope of this project is simple: rewrite Pinout from the ground up, while trying to avoid all the pitfalls I fell into while organically growing the original site.
I aim to achieve this by:
Scope
This project will include
This project will not include
Chip & Board Definitions
A "board" is understood to mean a single-board computer, such as the Raspberry Pi 5.
Board definitions now live in https://github.com/pinout-xyz/pinout-2024/tree/main/boards and aim to paint a complete picture of the technical specifications of each board respectively. A board is a collection of chip signals routed to a header. At time of writing they also include some data about the type and orientation of headers in an effort to aid visual presentation. Whether they should be concerned with this is debatable!
Chip definitions live at https://github.com/pinout-xyz/pinout-2024/tree/main/chips and aim to document the signals available on a chip, independent of any board-specific implementation.
Board and Chip definitions are validated against the JSON Schema documented and stored in https://github.com/pinout-xyz/pinout-2024/tree/main/schema. This validation happens via GitHub CI Workflows but you can run it locally:
Add-on Definitions
An "add-on" is considered to be a HAT or pHAT or Mini HAT or any add-on that uses one of the documented headers in some fashion. Traditionally Pinout would only document boards that used the 40-pin header, but this requirement has been relaxed on a case-by-case basis. We may consider removing these, since they do not adhere to the central premise of the website (pinout documentation, not marketing...)
Website(s)
The intention of this project is to generate one or more websites from the board definition files.
Whether or not that will happen in this repository is debatable. It might serve us better to collect board and add-on definitions here, and leave visual presentation to other projects. This would help keep concerns rigorously separated.
See #2 for progress on the website visual design.
How You Can Help
make pytest
to validate against the scemaReferences
The text was updated successfully, but these errors were encountered: