STARBackend: tip-aware 96-head Z with stop-disk / tool reference pair#1086
Merged
Conversation
1f30915 to
02c2efd
Compare
… pair Mirror the single-channel reference-split for the 96-head Z axis: - Add head96_request_stop_disk_z (H0 RZ): the raw z-drive (stop disk) position, the request twin of head96_request_position (tip bottom). - Make head96_move_stop_disk_z the primitive (owns the H0 ZA send + range/speed/accel asserts + firmware acceleration scaling); head96_move_z becomes a deprecating shim that delegates to it, the way move_channel_z points to move_channel_stop_disk_z / move_channel_tool_z. - Add head96_move_tool_z: positions the tip bottom by reading the overhang move-free (head96_request_stop_disk_z vs head96_request_position) and offsetting the stop-disk move; guards tip presence and validates against the tip-space window, mirroring move_channel_tool_z. - head96_move_to_z_safety now retracts to the top of Head96Information.z_range via the primitive, with speed/acceleration parameters forwarded (no hardcoded 342.5). Guard the two new moves with @_requires_head96 (queries stay unguarded, matching the existing convention). Also correct the _head96_request_configuration QU note: index 1 (stop_disc_type) is populated on firmware at least back to 2021; index 2 (instrument_type) reliability across builds is unverified. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
02c2efd to
dd15701
Compare
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.
Mirrors the single-channel Z reference split (
move_channel_stop_disk_z/move_channel_tool_z) for the 96-head, so a Z target can be expressed against either the stop disk or the tip bottom. Builds on #1084.H0 ZA(the move) andC0 QI(the position report) reference different things:head96_move_zcommands the stop disk, buthead96_request_positionreports the tip bottom once a tip is mounted. This PR makes that split explicit.head96_request_stop_disk_z(H0 RZ): the raw z-drive (stop disk) position, the request twin ofhead96_request_position(tip bottom).head96_move_stop_disk_z: the stop-disk move primitive (owns theZAsend and the range / speed / acceleration checks).head96_move_zbecomes a deprecating shim delegating to it, asmove_channel_zpoints to its two replacements.head96_move_tool_z: moves the tip bottom to an absolute Z by reading the overhang (stop disk minus tip bottom) and offsetting the stop-disk move; guards tip presence and range-checks in tip space.head96_move_to_z_safetyretargets to the top ofHead96Information.z_rangevia the primitive,speed/accelerationforwarded, instead of the hardcodedC0 EV.Two behaviours to note:
head96_move_zis deprecated (shim, no break), andhead96_move_to_z_safetynow issues anH0 ZAmove, which writes the z-drive speed/acceleration register that later commands inherit.