Skip to content

Add CALIBRATE: forced end-stop referencing, split from HOME - #34

Open
Jepson2k wants to merge 1 commit into
mainfrom
feat/calibrate
Open

Add CALIBRATE: forced end-stop referencing, split from HOME#34
Jepson2k wants to merge 1 commit into
mainfrom
feat/calibrate

Conversation

@Jepson2k

@Jepson2k Jepson2k commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

Adds a calibrate() command that always runs the firmware's end-stop referencing sequence (each joint seeks its limit switch to re-derive joint zero), even when the robot already reports itself referenced. home() keeps its existing semantics — a planned, collision-checked return to standby, falling back to the referencing sequence only on an uncalibrated robot.

This follows the industrial mastering/calibration-vs-home-pose split and aligns parol6 with par6's calibrate behavior (par6 finds both ends; parol6's firmware seeks one). It also covers the forced-re-reference need behind #33's home(force=True) without overloading home().

Implementation: new CalibrateCmd wire struct (enum tag appended, wire-stable), CalibrateCommand reusing HOME's firmware state machine but never fast-pathed by the planner, queued ack policy (returns a command index; wait_command works), dry-run preview support, and calibrate(wait, timeout) on both clients. Unit test pins the contract (CALIBRATE yields an InlineSegment even when referenced); integration test drives it through the real client/server path.

🤖 Generated with Claude Code

https://claude.ai/code/session_0158QrPR5eVhd31AvFpxJKr6

calibrate() always runs the firmware's referencing sequence (each joint
seeks its limit switch to re-derive joint zero), even when the robot
already reports itself referenced. home() keeps its existing semantics:
a planned, collision-checked return to standby, falling back to the
referencing sequence only on an uncalibrated robot. This matches the
industrial mastering/calibration-vs-home-pose split and aligns parol6
with par6's calibrate behavior.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0158QrPR5eVhd31AvFpxJKr6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant