-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
docs: Add a few well known interconnects to the Hardware Metadata File page #2563
base: main
Are you sure you want to change the base?
docs: Add a few well known interconnects to the Hardware Metadata File page #2563
Conversation
@@ -75,7 +75,7 @@ url: https://github.com/foostan/crkbd/ | |||
|
|||
### Interconnect Requires/Exposes | |||
|
|||
For boards and shields, one of the key pieces of high level information is compatibility between the two items. In particular, a board usually exposes one ore more "interconnects", the physical location/type of connections available, and their assigned possible uses (e.g. GPIO, power, ground, i2c, etc). Similarly, a shield is usually designed around one (or sometimes more) "interconnects" that allow it to connect to one of those boards. | |||
For boards and shields, one of the key pieces of high level information is compatibility between the two items. In particular, a board usually exposes one ore more "interconnects", the physical location/type of connections available, and their assigned possible uses (e.g. GPIO, power, ground, i2c, etc). Similarly, a shield is usually designed around one (or sometimes more) "interconnects" that allow it to connect to one of those boards. Common "interconnects" available in ZMK include (but are not limited to) `arduino_uno`, `blackpill`, `pro_micro`, and `seeed_xiao`. The names of "interconnects" may be found in the `app/boards/interconnects/` directory of ZMK source. |
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.
Some changes I considered but was not sure of:
- should the mention of the interconnects directory include a hyperlink to https://github.com/amacleod/zmk/tree/main/app/boards/interconnects ?
- where can other interconnects come from? presumably modules can define them? should this description mention that?
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.
I am not 100% sure that the Hardware Metadata File page is the proper place for this information, but it felt a little more right than the New Keyboard Shields page when I was writing it. Then again, the itch that led to this PR in the first place occurred when I was reading the new shields guide 🤷
Thanks for the PR! The interconnects can be found in multiple locations, having hardware metadata be another one seems like a good addition to me. I don't think plaintext is the way to go, though; I'd say we want something along the lines of hardware list where it uses some typescript to pull the information from the metadata directly. |
For a more limited dynamic use of metadata, you can also check out the shield overlays section which gets the interconnect metadata: https://github.com/zmkfirmware/zmk/blob/main/docs/docs/development/hardware-integration/new-shield.mdx?plain=1#L269 This is essentially reading from these files https://github.com/zmkfirmware/zmk/tree/main/app/boards/interconnects and you'd only need to get the |
Fixes #2562
Added two sentences to list the same set of interconnects that have pinouts shown in the New Keyboard Shield guide and point readers at the interconnects directory in source for more.