Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 40 additions & 1 deletion sentio_prober_control/Sentio/Enumerations.py
Original file line number Diff line number Diff line change
Expand Up @@ -2008,4 +2008,43 @@ def toSentioAbbr(self):
ZPositionHint.Lift: "Lift",
ZPositionHint.Transfer: "Transfer",
}
return switcher.get(self, "Invalid ZPositionHint")
return switcher.get(self, "Invalid ZPositionHint")

class SwapBridgeSide(Enum):
"""Control swap bridge move to right or left side.

Attributes:
Right (0): Move swap bridge to right side.
Left (1): Move swap bridge to left side.
Current (2): Keep bridge at current side.
"""

Right = 0
Left = 1
Current = 2

def toSentioAbbr(self):
switcher = {
SwapBridgeSide.Right: "Right",
SwapBridgeSide.Left: "Left",
SwapBridgeSide.Current: "Current",
}
return switcher.get(self, "Invalid swap bridge side.")

class DevicePosition(Enum):
"""Control swap bridge move to up or down side.

Attributes:
Up (0): Move device to up position.
Down (1): Move device to down position.
"""

Up = 0
Down = 1

def toSentioAbbr(self):
switcher = {
DevicePosition.Up: "Up",
DevicePosition.Down: "Down",
}
return switcher.get(self, "Invalid device position.")
11 changes: 7 additions & 4 deletions sentio_prober_control/Sentio/ProberSentio.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,9 @@
VacuumState,
HighPowerAirState,
SoftContactState,
UserCoordState
UserCoordState,
SwapBridgeSide,
DevicePosition
)

from sentio_prober_control.Sentio.ProberBase import ProberBase, ProberException
Expand Down Expand Up @@ -1663,19 +1665,20 @@ def start_move_indexer_pos(self, pos: int) -> None:
self.comm.send(f"start_move_indexer_pos {pos}")
Response.check_resp(self.comm.read_line())

def swap_bridge(self, side: str, device_position: str | None = None) -> None:
"""Control swap bridge side and position.
def swap_bridge(self, side: SwapBridgeSide, device_position: DevicePosition, delaytime: int = 8) -> None:
"""Control swap bridge side,position and delay time.

Args:
side (str): right/left/current
device_position (str, optional): up/down

delaytime (int) : 8
Returns:
None
"""
cmd = f"swap_bridge {side}"
if device_position:
cmd += f",{device_position}"
cmd += f",{delaytime}"
self.comm.send(cmd)
Response.check_resp(self.comm.read_line())

Expand Down