-
-
Notifications
You must be signed in to change notification settings - Fork 216
Rynk Protocol #962
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
Merged
Rynk Protocol #962
Changes from all commits
Commits
Show all changes
25 commits
Select commit
Hold shift + click to select a range
6d2302c
feat(rmk-types): add Rynk protocol wire types and command tables
HaoboGu d90bf13
feat(rmk-config): rework keyboard.toml layout into [layout].map and […
HaoboGu 7178a13
refactor(rmk): unify Vial and Rynk host handling behind a shared GATT…
HaoboGu 1b06773
feat(rmk): add Rynk USB and BLE transports with split glue
HaoboGu f109a06
feat(rmk): add Rynk command handlers, dispatch, and bulk streaming
HaoboGu 65f55e0
test(rmk): add Rynk loopback and HID-loopback integration tests
HaoboGu e86e888
feat(rynk): add host client core (api, driver, device, layout)
HaoboGu fde7f14
feat(rynk): add serial and BLE host transports
HaoboGu c597d79
feat(rynk): add wasm bridge and WebHID transport
HaoboGu 2612448
feat(rynk): add KLE layout conversion
HaoboGu 9aed01c
feat(examples): migrate configs to the new layout schema and add Rynk…
HaoboGu 4e3c594
docs: add Rynk protocol reference and v0.9 migration guide
HaoboGu 5d269f3
ci: build and test the Rynk host workspace
HaoboGu b8c8da7
perf(keymap): index tap-hold profiles instead of inlining MorseProfile
HaoboGu 6ac7e8a
Full-duplex rynk communication (#969)
HaoboGu 9e9a728
refactor: improve the rynk firmware design
HaoboGu 684a35c
chore: restore changes carried by the dropped 'chore' merge commit
HaoboGu c860967
fix: make tx loop have higher priority
HaoboGu cbbef3f
docs: correct Rynk bulk/layout errors and fill changelog/migration gaps
HaoboGu 37abf73
fix(rynk): terminate a packet-aligned USB CDC frame with a ZLP
HaoboGu 6a35ac1
fix: send topics after handshaked
HaoboGu 749e82d
test(rynk): complete the handshake before expecting topic pushes
HaoboGu 17c867c
fix: fix windows serial connection error, clean a little bit
HaoboGu cfab724
feat(rynk): use cobs encoding in rynk protocol (#994)
HaoboGu d2c97ab
refactor: clean code
HaoboGu File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,40 @@ | ||
| #!/bin/bash | ||
| set -euo pipefail | ||
| # shellcheck source=_lib.sh | ||
| source "$(dirname "${BASH_SOURCE[0]}")/_lib.sh" | ||
|
|
||
| # The host tooling is its own cargo workspace. | ||
| cd "$repo_root/rynk" | ||
|
|
||
| export CARGO_TERM_COLOR=always | ||
| export CARGO_TARGET_DIR="${CARGO_TARGET_DIR:-$target_root/host}" | ||
|
|
||
| log_section "Tests" | ||
| cargo +stable test --workspace --lib --tests | ||
|
|
||
| log_section "Doctests" | ||
| cargo +stable test -p rynk --doc | ||
|
|
||
| log_section "No-alloc smoke check" | ||
| # The dongle build: every other job runs `rynk` with default features (std ⇒ | ||
| # alloc), so without this its `#[cfg(not(feature = "alloc"))]` half is never | ||
| # compiled. | ||
| cargo +stable clippy -p rynk --lib --no-default-features -- -D warnings | ||
|
|
||
| log_section "Wasm smoke check" | ||
| cargo +stable check -p rynk --lib --target wasm32-unknown-unknown | ||
| cargo +stable check -p rynk-wasm --target wasm32-unknown-unknown | ||
|
|
||
| log_section "Wasm package build" | ||
| # wasm-pack emits the JS package + generated .d.ts under rynk-wasm/pkg/ (ignored, not checked in). | ||
| # --dev keeps wasm-bindgen's type descriptors un-optimized, so a malformed one surfaces as invalid TS below. | ||
| (cd rynk-wasm && wasm-pack build --dev --target web >/dev/null) | ||
| # Typecheck the whole generated .d.ts: a broken descriptor for any exported type fails CI. | ||
| npx --yes --package typescript@5.9.3 tsc \ | ||
| --noEmit --strict --target ES2022 --lib ES2022,DOM,ESNext.Disposable \ | ||
| --module ES2022 --moduleResolution bundler \ | ||
| rynk-wasm/pkg/rynk_wasm.d.ts | ||
|
|
||
| log_section "Clippy" | ||
| cargo +stable clippy --workspace --lib --tests --examples -- -D warnings | ||
| cargo +stable clippy -p rynk-wasm --target wasm32-unknown-unknown -- -D warnings |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.