feat: new openarm adapter#2382
Draft
TomCC7 wants to merge 12 commits into
Draft
Conversation
❌ 1 Tests Failed:
View the top 1 failed test(s) by shortest run time
To view more test analytics, go to the Test Analytics Dashboard |
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.
Solution
Adds an opt-in
openarm_rsmanipulator adapter for OpenArm hardware using the Rust-backedcan-motor-controlPython binding.The existing
openarmadapter remains the default production path.openarm_rsis selected explicitly through hardware config or the new OpenArm RS blueprints, and is intended for binding-backed bring-up, state monitoring, MIT command validation, gravity compensation, and trajectory-control validation.This also updates manipulator adapter discovery to use lightweight
__registry__.pymanifests, so listing available adapters does not import unselected hardware SDKs or optional bindings.User-facing behavior
adapter_type="openarm"continues to use the existing in-tree SocketCAN OpenArm adapter.adapter_type="openarm_rs"selects the Rust-backed OpenArm adapter.can_motor_controlnow fails only whenopenarm_rsis selected/connected, with a clear install hint.How to Test