fix(controller): add controller.on to wait_for_connection for devices with socket controllers

This commit is contained in:
2025-11-25 14:04:55 +01:00
parent 36e8d87411
commit ac8177a132
8 changed files with 36 additions and 4 deletions
@@ -212,6 +212,10 @@ class FlomniGalilMotor(Device, PositionerBase):
self.low_limit_travel.put(limits[0])
self.high_limit_travel.put(limits[1])
def wait_for_connection(self, timeout: int = 10, **kwargs) -> None:
"""Wait for the device to be connected."""
self.controller.on(timeout=timeout)
@property
def limits(self):
return (self.low_limit_travel.get(), self.high_limit_travel.get())
@@ -185,6 +185,10 @@ class FuprGalilMotor(Device, PositionerBase):
self.low_limit_travel.put(limits[0])
self.high_limit_travel.put(limits[1])
def wait_for_connection(self, timeout: int = 10, **kwargs) -> None:
"""Wait for the device to be connected."""
self.controller.on(timeout=timeout)
@property
def limits(self):
return (self.low_limit_travel.get(), self.high_limit_travel.get())
@@ -170,6 +170,10 @@ class LamniGalilMotor(Device, PositionerBase):
self.low_limit_travel.put(limits[0])
self.high_limit_travel.put(limits[1])
def wait_for_connection(self, timeout: int = 10, **kwargs) -> None:
"""Wait for the device to be connected."""
self.controller.on(timeout=timeout)
@property
def limits(self):
return (self.low_limit_travel.get(), self.high_limit_travel.get())
+6 -2
View File
@@ -144,11 +144,11 @@ class OMNYGalilController(GalilController):
FAIL = "\033[91m"
ENDC = "\033[0m"
def on(self) -> None:
def on(self, timeout: int = 10) -> None:
"""Open a new socket connection to the controller"""
self._ogalil_switchsocket_switch_all_on()
time.sleep(0.3)
super().on()
super().on(timeout=timeout)
def _ogalil_switchsocket(self, number: int, switch: bool):
# number is socket number ranging from 1 to 4
@@ -324,6 +324,10 @@ class OMNYGalilMotor(Device, PositionerBase):
self.low_limit_travel.put(limits[0])
self.high_limit_travel.put(limits[1])
def wait_for_connection(self, timeout: int = 10, **kwargs) -> None:
"""Wait for the device to be connected."""
self.controller.on(timeout=timeout)
@property
def limits(self):
return (self.low_limit_travel.get(), self.high_limit_travel.get())
+6 -2
View File
@@ -54,10 +54,10 @@ class GalilController(Controller):
]
_axes_per_controller = 8
def on(self, controller_num=0) -> None:
def on(self, timeout: int = 10) -> None:
"""Open a new socket connection to the controller"""
if not self.connected:
self.sock.open()
self.sock.open(timeout=timeout)
self.connected = True
else:
logger.info("The connection has already been established.")
@@ -530,6 +530,10 @@ class SGalilMotor(Device, PositionerBase):
self.low_limit_travel.put(limits[0])
self.high_limit_travel.put(limits[1])
def wait_for_connection(self, timeout: int = 10, **kwargs) -> None:
"""Wait for the device to be connected."""
self.controller.on(timeout=timeout)
@property
def limits(self):
return (self.low_limit_travel.get(), self.high_limit_travel.get())
@@ -688,6 +688,10 @@ class RtFlomniMotor(Device, PositionerBase):
self.low_limit_travel.put(limits[0])
self.high_limit_travel.put(limits[1])
def wait_for_connection(self, timeout: int = 10, **kwargs) -> None:
"""Wait for the device to be connected."""
self.controller.on(timeout=timeout)
@property
def limits(self):
return (self.low_limit_travel.get(), self.high_limit_travel.get())
@@ -588,6 +588,10 @@ class RtLamniMotor(Device, PositionerBase):
self.low_limit_travel.put(limits[0])
self.high_limit_travel.put(limits[1])
def wait_for_connection(self, timeout: int = 10, **kwargs) -> None:
"""Wait for the device to be connected."""
self.controller.on(timeout=timeout)
@property
def limits(self):
return (self.low_limit_travel.get(), self.high_limit_travel.get())
@@ -1129,6 +1129,10 @@ class RtOMNYMotor(Device, PositionerBase):
self.low_limit_travel.put(limits[0])
self.high_limit_travel.put(limits[1])
def wait_for_connection(self, timeout: int = 10, **kwargs) -> None:
"""Wait for the device to be connected."""
self.controller.on(timeout=timeout)
@property
def limits(self):
return (self.low_limit_travel.get(), self.high_limit_travel.get())