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

Feature: Full-Duplex Wired Split #2766

Draft
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

petejohanson
Copy link
Contributor

@petejohanson petejohanson commented Jan 14, 2025

Opening this as a draft for now, pending more extensive testing, documentation, etc.

I've tested this with a very basic ZMK Uno setup, but nothing extensive dailying on a keyboard, etc.

To use this, you'll need a zmk,split-uart chosen property set to a full-duplex UART that's enabled and connected TX <-> RX across sides.

PR check-list

  • Branch has a clean commit history
  • Additional tests are included, if changing behaviors/core code that is testable.
  • Proper Copyright + License headers added to applicable files (Generally, we stick to "The ZMK Contributors" for copyrights to help avoid churn when files get edited)
  • Pre-commit used to check formatting of files, commit messages, etc.
  • Includes any necessary documentation changes.

@petejohanson petejohanson added enhancement New feature or request split labels Jan 14, 2025
@petejohanson petejohanson self-assigned this Jan 14, 2025
@petejohanson petejohanson force-pushed the split/wired-split-first-pass branch 3 times, most recently from 55a085a to 8bd6c96 Compare January 15, 2025 19:18
Extract central/peripheral code to allow for plugging in alternate
transports, instead of tying all split logic to BT.
@petejohanson petejohanson force-pushed the split/wired-split-first-pass branch from 8bd6c96 to 066daf8 Compare January 15, 2025 22:00
* Depends on full-duplex hardware UART for communication.
* Supports all existing central commands/peripheral events, including
  sensors/inputs from peripherals.
* Only one wired split peripheral supported (for now)
* Relies on chosen `zmk,split-uart` referencing the UART device.
@petejohanson petejohanson force-pushed the split/wired-split-first-pass branch from 066daf8 to 0719620 Compare January 15, 2025 22:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request split
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant