zmk
zmk copied to clipboard
Add support for Nucleo WB55CG board & Zephirum shield
Hello ZMK maintainers!
Could you please merge these two commits? See committed README.md files or http://zephirum.tuxfamily.org/ for details.
Support for Nucleo WB55CG board is based on the initial work made by Pete Johanson; I updated it for Zephyr OS v2.5.
Thanks in advance, Cedric.
Thank you, contributor, for your patience with how long review and merge of boards/shields has taken!
There are three recent refactors/changes to boards and shields that require some attention, and then we can finally get this PR merged!
- Hardware Metadata
- Pro Micro shield DT naming changes
- Split changes for BLE advertising
Hardware Metadata
The Problem
When first developing the process around contributing new shields/boards to ZMK, we failed to recognize that several key files (setup scripts, documentation page of supported hardware, and GH Action build.yml
file) required changes, often in the same spot, for every PR. This resulted in immediate merge conflicts for every other PR after one was merged, which is a headache for contributors.
The Fix
By adding discrete metadata files that are located with the boards/shields in question, and using that metadata to generate setup scripts, website hardware list, etc., users can contributing new hardware descriptions without the need to change the same files that other contributors are changing.
Next Steps
First, refer to https://zmk.dev/docs/development/hardware-metadata-files to familiarize yourself with the new metadata file format.
Next, you have two options for fixing up your PR:
- If comfortable with
git rebase
, perform an interactive rebase and revert any changes tobuild.yml
,hardware.md
, or the setup scriptssetup.sh
/setup.ps1
, and then add the new metadata YAML file. Then force push your branch. Or, - Create a new branch from an up-to-date
main
, copy in the files for your new hardware, add the metadata file, then commit and push the new branch. Then, edit your open PR to point to your new branch.
Pro Micro shield DT naming changes
In #876, we have simplified the DT naming for the "nexus node" we expose for pro-micro compatible boards, deprecating the use of pro_micro_a
, and renaming pro_micro_d
node to simply pro_micro
. For pro-micro boards and shields, you'll need to adjust your DT to use the proper names.
Please see https://zmk.dev/docs/development/new-shield#shield-overlays for the updated docs on this.
Split Shield Advertising Changes
In addition, if this is a split PR, please see #658 where we have changed our conventions to remove the the name from the right sides, to prevent users attempting to pair with them and causing split sync issues. This also includes removing the " Left" suffix from the naming on the left side. See the changes in that PR for examples of what to change with your split shield.
Getting Help
If you have any questions about any of these changes, please comment here and tag @zmkfirmware/boards-shields or ask in the #boards-shields
Discord channel.
This pull request has been updated.
Board/Shield Check-list
- [X] This board/shield is tested working on real hardware
- [X] Definitions follow the general style of other shields/boards upstream (Reference)
- [X]
.zmk.yml
metadata file added - [X] Proper Copyright + License headers added to applicable files
- [X] General consistent formatting of DeviceTree files
- [X] Keymaps do not use deprecated key defines (Check using the upgrader tool)
- [ ]
&pro_micro
used in favor of&pro_micro_d/a
if applicable (not applicable) - [ ] If split, no name added for the right/peripheral half (not applicable)
- [X]
.conf
file has optional extra features commented out
Rebased onto github.com/zmkfirmware/zmk.git:main + Stick to "The ZMK Contributors" for copyrights.
Rebased onto github.com/zmkfirmware/zmk.git:main