Skip to content

Expose iSWAP predefined Y/Z queries and drive-conversion helpers#1023

Merged
BioCam merged 24 commits intoPyLabRobot:mainfrom
BioCam:expose-iswap_rotation_drive_request_predefined_z_positions
May 1, 2026
Merged

Expose iSWAP predefined Y/Z queries and drive-conversion helpers#1023
BioCam merged 24 commits intoPyLabRobot:mainfrom
BioCam:expose-iswap_rotation_drive_request_predefined_z_positions

Conversation

@BioCam
Copy link
Copy Markdown
Collaborator

@BioCam BioCam commented May 1, 2026

Tame the iSWAP - Part 9

BioCam and others added 11 commits April 30, 2026 19:37
Adds the absolute Z-axis sibling to `iswap_rotation_drive_move_x` (PyLabRobot#1018)
and `iswap_rotation_drive_move_y` (PyLabRobot#1020). Wraps `R0 ZA` and accepts the
rotation-drive plane Z (matching `iswap_rotation_drive_request_z`); the
13 mm offset to the gripper finger plane is applied internally.
`acceleration` is exposed in mm/sec^2.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PLR users expect left-front-bottom referencing;

for channels this changes to center-center in x-y but in z people still expect bottom;

since we are referencing the actual rotation drive here and its bottom is 13 mm above the finger_z_plane I have added a short comment to make this clearer
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Exposes additional iSWAP rotation-drive capabilities in the Hamilton STAR backend by adding predefined-position table queries for the Y/Z axes and adding/adjusting drive conversion constants/helpers to support iSWAP positioning.

Changes:

  • Added iSWAP Y/Z drive conversion constants and helper conversion functions.
  • Added EEPROM predefined-position table readers for iSWAP rotation-drive Y (py) and Z (pz).
  • Added an absolute iSWAP rotation-drive Z move helper with bounds and parameter validation; updated y_drive_mm_per_increment precision.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread pylabrobot/liquid_handling/backends/hamilton/STAR_backend.py
Comment thread pylabrobot/liquid_handling/backends/hamilton/STAR_backend.py Outdated
Comment thread pylabrobot/liquid_handling/backends/hamilton/STAR_backend.py Outdated
Comment on lines +10196 to +10197
offset = STARBackend.iswap_rotation_drive_z_offset_above_finger_mm
to_mm = STARBackend.iswap_z_drive_increment_to_mm
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if we are gonna "define" a function, why not make it also add the offset

def to_rotation_drive_z(z_incr):
  return STARBackend.iswap_z_drive_increment_to_mm(z_incr) + offset

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agreed with Claude on this one, because it made it easier to read - but I think you are right, and there are plenty of other easy to read solutions; changing now

@BioCam BioCam merged commit 6b746ef into PyLabRobot:main May 1, 2026
21 checks passed
@BioCam BioCam deleted the expose-iswap_rotation_drive_request_predefined_z_positions branch May 1, 2026 20:55
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.

3 participants