Draft
Conversation
Signed-off-by: Haobo Gu <haobogu@outlook.com>
…ypes Signed-off-by: Haobo Gu <haobogu@outlook.com>
… topics Add the complete Interface Control Document (ICD) for the RMK protocol in rmk-types/src/protocol/rmk.rs. This defines the shared type contract between firmware and host for the new postcard-rpc based communication protocol. - Add heapless v0.9 dependency with serde support and postcard-schema heapless-v0_9 feature for schema derives on Vec-containing types - Define 30+ protocol types: ProtocolVersion, DeviceCapabilities, RmkError, LockStatus, UnlockChallenge, KeyPosition, BulkRequest, StorageResetMode, ConnectionType, BatteryStatus, MacroInfo/Data, ComboConfig, MorseConfig, ForkConfig, BehaviorConfig, topic payloads, and request wrappers - Declare 41 endpoints across System, Keymap, Encoder, Macro, Combo, Morse, Fork, Behavior, Connection, and Status categories - Declare 8 topics for layer, WPM, battery, BLE, connection, sleep, and LED - Add 29 tests: postcard serde round-trips and key hash collision detection - Add PartialEq/Eq derives to EncoderAction for protocol type compatibility - Mark Phase 1 complete in ROADMAP.md
Signed-off-by: Haobo Gu <haobogu@outlook.com>
Signed-off-by: Haobo Gu <haobogu@outlook.com>
Signed-off-by: Haobo Gu <haobogu@outlook.com>
Signed-off-by: Haobo Gu <haobogu@outlook.com>
Signed-off-by: Haobo Gu <haobogu@outlook.com>
Signed-off-by: Haobo Gu <haobogu@outlook.com>
Add postcard-rpc types
…yload conversions Signed-off-by: Haobo Gu <haobogu@outlook.com>
Binary Size Reportuse_config/stm32f1Diffuse_config/stm32f4Diff |
…tus usage, fix wrong naming Signed-off-by: Haobo Gu <haobogu@outlook.com>
…tatus struct Signed-off-by: Haobo Gu <haobogu@outlook.com>
Signed-off-by: Haobo Gu <haobogu@outlook.com>
refactor(event): move shared types out from protocol
Deploying rmk-rs with
|
| Latest commit: |
5ab2b9a
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://8c3e92c9.rmk-4a2.pages.dev |
| Branch Preview URL: | https://feat-protocol.rmk-4a2.pages.dev |
Signed-off-by: Haobo Gu <haobogu@outlook.com>
Signed-off-by: Haobo Gu <haobogu@outlook.com>
Signed-off-by: Haobo Gu <haobogu@outlook.com>
Signed-off-by: Haobo Gu <haobogu@outlook.com>
* feat: Add `rmk_protocol` and `host_security` features Signed-off-by: Haobo Gu <haobogu@outlook.com> * feat: basic `ProtocolService` impl Signed-off-by: Haobo Gu <haobogu@outlook.com> * feat(protocol): first try of USB bulk transport Signed-off-by: Haobo Gu <haobogu@outlook.com> * feat: update plan, fix feature gates Signed-off-by: Haobo Gu <haobogu@outlook.com> * feat: add more commands Signed-off-by: Haobo Gu <haobogu@outlook.com> * fix Signed-off-by: Haobo Gu <haobogu@outlook.com> * feat(protocol): implement core endpoints and host CLI tool Signed-off-by: Haobo Gu <haobogu@outlook.com> * feat(protocol): add generated dispatch and schema tooling Signed-off-by: Haobo Gu <haobogu@outlook.com> * fix: fix build after merging Signed-off-by: Haobo Gu <haobogu@outlook.com> * feat(protocol): make bulk keymap transfer faster Signed-off-by: Haobo Gu <haobogu@outlook.com> * refactor(host): move BLE vial handling behind host transports - rename the BLE host service module to host_gatt and centralize host GATT writes - reuse ViaHostService across USB and BLE transports with simpler feature gating - add a bootloader-jump command to rmk-host-tool - fix dispatch alias generation for bounded generic parameters Signed-off-by: Haobo Gu <haobogu@outlook.com> * refactor(protocol): add `check_unlocked` and `check_bounds` helper functions Signed-off-by: Haobo Gu <haobogu@outlook.com> --------- Signed-off-by: Haobo Gu <haobogu@outlook.com>
Signed-off-by: Haobo Gu <haobogu@outlook.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR contains RMK's new host communication protocol.
UPDATE: Now the PR becomes quite large, I'll split it to several smaller parts.
Phase 1: ICD Types and postcard-rpc Integration
Phase 2: Feature Gate and ProtocolService Skeleton
Phase 3: Support USB Raw Bulk Transport
Phase 4: Implement core Endpoints, make the basic protocol work
Phase 5: Security (Lock/Unlock) feature
Phase 6: Implement all remaining endpoints
Phase 7: Topic(Notification from keyboard to host)
Phase 8: Support BLE Serial
Phase 9: Host Tool