pylabrobot.liquid_handling.backends.hamilton.STAR_backend.STAR.request_iswap_wrist_drive_orientation#
- async STAR.request_iswap_wrist_drive_orientation() WristDriveOrientation#
Request the iSWAP wrist drive orientation (relative to the rotation drive).
e.g.:
RotationDriveOrientation.FRONT + WristDriveOrientation.STRAIGHT => wrist also points to the front of the machine.
RotationDriveOrientation.LEFT + WristDriveOrientation.STRAIGHT => wrist also points to the left of the machine.
RotationDriveOrientation.FRONT + WristDriveOrientation.RIGHT => wrist points to the left of the machine.
Uses nearest-neighbour classification against the per-machine EEPROM
ptvalues populated at setup. An earlier implementation used +/-50 windows around the Hamilton factory defaults and faulted on machines calibrated outside that band; we now pick whichever predefined stop is closest and only raise if the wrist is more than 5 deg from any predefined stop.Hamilton factory-default values shown below for reference only; the per-machine EEPROM table is queried at setup and used at runtime in place of these (T-drive resolution = 0.00508 deg/incr):
RIGHT T1 -26577 incr (-135 deg) STRAIGHT T2 -8859 incr ( -45 deg) LEFT T3 +8859 incr ( +45 deg) REVERSE T4 +26577 incr (+135 deg)
- Returns:
WristDriveOrientation –
- The interpreted wrist orientation
(RIGHT, STRAIGHT, LEFT, or REVERSE).
- Raises:
RuntimeError – if
setup()has not populated the predefined positions.ValueError – if the measured position is more than 5 deg from any predefined stop (drive is in transit or drifted).
- Return type:
WristDriveOrientation