@@ -3113,7 +3113,7 @@ async def move_channel_y(self, channel: int, y: float):
31133113 )
31143114 else :
31153115 if self .iswap_installed :
3116- max_y_pos = await self .iswap_request_module_y ()
3116+ max_y_pos = await self .iswap_rotation_drive_request_y ()
31173117 limit = "iswap module y-position"
31183118 else :
31193119 # STAR machines do not allow channels y > 635 mm
@@ -6472,7 +6472,7 @@ async def move_iswap_y_relative(self, step_size: float, allow_splitting: bool =
64726472 # we only need to check for positive step sizes because the iswap is always behind the first channel
64736473 if step_size < 0 :
64746474 y_pos_channel_0 = await self .request_y_pos_channel_n (0 )
6475- current_y_pos_iswap = await self .iswap_request_module_y ()
6475+ current_y_pos_iswap = await self .iswap_rotation_drive_request_y ()
64766476 if current_y_pos_iswap + step_size < y_pos_channel_0 :
64776477 raise ValueError (
64786478 f"iSWAP will hit the first (backmost) channel. Current iSWAP Y position: { current_y_pos_iswap } mm, "
@@ -7216,8 +7216,10 @@ async def request_iswap_position(self) -> Coordinate:
72167216 z = (resp ["zj" ] / 10 ) * (1 if resp ["zd" ] == 0 else - 1 ),
72177217 )
72187218
7219- async def iswap_request_module_y (self ) -> float :
7220- """Request iSWAP module (not gripper) Y position in mm"""
7219+ async def iswap_rotation_drive_request_y (self ) -> float :
7220+ """Request iSWAP rotation drive Y position (center) in mm. This is equivalent to the y location of the iSWAP module."""
7221+ if not self .iswap_installed :
7222+ raise RuntimeError ("iSWAP is not installed" )
72217223 resp = await self .send_command (module = "R0" , command = "RY" , fmt = "ry##### (n)" )
72227224 iswap_y_pos = resp ["ry" ][1 ] # 0 = FW counter, 1 = HW counter
72237225 return round (STARBackend .y_drive_increment_to_mm (iswap_y_pos ), 1 )
0 commit comments