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

Added support for the Keebio Levinson Rev 3 Shield. #566

Closed
wants to merge 6 commits into from

Conversation

blistergeist
Copy link

Added support for the Keebio Levinson Rev 3 shield. Tested locally on nRFMicro revision 1.3.

@innovaker innovaker added enhancement New feature or request shields PRs and issues related to shields labels Jan 2, 2021
@innovaker innovaker requested a review from Nicell January 2, 2021 14:45
Copy link
Member

@Nicell Nicell left a comment

Choose a reason for hiding this comment

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

Great work on this shield. Super tiny comment and then just these files to update:

.github/workflows/build.yml: Add your board to the shield list.

docs/docs/hardware.md: You should add the Levinson to this list

docs/static/setup.ps1 and docs/static/setup.sh: Levinson should be added as a split option for both files.

Comment on lines 1 to 2
#Copyright (c) 2021 The ZMK Contributors
#SPDX-License-Identifier: MIT
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
#Copyright (c) 2021 The ZMK Contributors
#SPDX-License-Identifier: MIT
# Copyright (c) 2021 The ZMK Contributors
# SPDX-License-Identifier: MIT

Copy link
Author

Choose a reason for hiding this comment

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

@Nicell thanks for the further instructions, I have added the Levinson as an option in the files you mentioned following the formatting of all the other shields. I hope this was correct. I also added in those spaces in the copyright lines. Not sure how that one got missed ;)

…l. Changed spacing in the copyright line of Kconfig.defconfig to match other files.
Copy link
Member

@Nicell Nicell left a comment

Choose a reason for hiding this comment

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

I missed this on my first go around! We've changed how split roles are defined, and I've added comments on the files that need to change. Thanks!

Comment on lines 5 to 17
if SHIELD_LEVINSON_LEFT

config ZMK_KEYBOARD_NAME
default "Levinson Left"

endif

if SHIELD_LEVINSON_RIGHT

config ZMK_KEYBOARD_NAME
default "Levinson Right"

endif
Copy link
Member

Choose a reason for hiding this comment

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

A recent change was made to how we define the central and peripheral for splits, which can be seen here: https://zmkfirmware.dev/docs/development/new-shield#kconfigdefconfig. Could you update this file to match the docs? Along with this you'll need to clear out the left and right .conf files.

Copy link
Author

Choose a reason for hiding this comment

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

Changes made and pushed.

Comment on lines 1 to 2
CONFIG_ZMK_SPLIT=y
CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL=y
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
CONFIG_ZMK_SPLIT=y
CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL=y

@@ -0,0 +1 @@
CONFIG_ZMK_SPLIT=y
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
CONFIG_ZMK_SPLIT=y

…ntral and peripheral definitions. Cleared contents of the .conf files for both halves. Fixed layout comment where the pipe character was shown as a backslash.
@Nicell Nicell self-requested a review January 6, 2021 17:56
Copy link
Member

@Nicell Nicell left a comment

Choose a reason for hiding this comment

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

@blistergeist The changes look good! We're getting #546 merged in first, then once that's merged I'll ask you to rebase this PR hopefully one last time. Then it should be ready for a final review and merge 👍

I can notify you here when we're ready for you to rebase.

@blistergeist
Copy link
Author

Great! Looking forward to it.

@blistergeist
Copy link
Author

@Nicell, status check on this? Looks like #546 is ready pending review.

@Nicell
Copy link
Member

Nicell commented Jan 30, 2022

@blistergeist Sorry about the huge delay here, for some reason our update message didn't get put on this PR, here's a copy of it:

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!

  1. Hardware Metadata
  2. Pro Micro shield DT naming changes
  3. 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:

  1. If comfortable with git rebase, perform an interactive rebase and revert any changes to build.yml, hardware.md, or the setup scripts setup.sh/setup.ps1, and then add the new metadata YAML file. Then force push your branch. Or,
  2. 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.

@Nicell
Copy link
Member

Nicell commented Jun 26, 2022

@blistergeist I'll be closing this PR as we haven't heard anything in 6 months. Please feel free to reopen this if you ever come back to it.

@Nicell Nicell closed this Jun 26, 2022
@ghost ghost mentioned this pull request Feb 4, 2023
11 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request shields PRs and issues related to shields
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants