Skip to content

Commit a03b418

Browse files
committed
Reset state on ti filters and objective wheels if they're in an invalid state.
1 parent 9a6e293 commit a03b418

3 files changed

Lines changed: 35 additions & 19 deletions

File tree

src/prismo/devices/ti.py

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,14 @@ def wait(self):
3232

3333
@property
3434
def state(self) -> int | str:
35-
if isinstance(self.states[0], int):
36-
return self._core.getState(self.name)
37-
else:
38-
return self._core.getStateLabel(self.name)
35+
try:
36+
if isinstance(self.states[0], int):
37+
return self._core.getState(self.name)
38+
else:
39+
return self._core.getStateLabel(self.name)
40+
except Exception:
41+
self.state = self.states[0]
42+
return self.states[0]
3943

4044
@state.setter
4145
def state(self, new_state: int | str):
@@ -116,10 +120,14 @@ def wait(self):
116120

117121
@property
118122
def state(self) -> int | str:
119-
if isinstance(self.states[0], int):
120-
return self._core.getState(self.name)
121-
else:
122-
return self._core.getStateLabel(self.name)
123+
try:
124+
if isinstance(self.states[0], int):
125+
return self._core.getState(self.name)
126+
else:
127+
return self._core.getStateLabel(self.name)
128+
except Exception:
129+
self.state = self.states[0]
130+
return self.states[0]
123131

124132
@state.setter
125133
def state(self, new_state: int | str):

src/prismo/devices/ti2.py

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,14 @@ def wait(self):
3434

3535
@property
3636
def state(self) -> int | str:
37-
if isinstance(self.states[0], int):
38-
return self._core.getState(self.name)
39-
else:
40-
return self._core.getStateLabel(self.name)
37+
try:
38+
if isinstance(self.states[0], int):
39+
return self._core.getState(self.name)
40+
else:
41+
return self._core.getStateLabel(self.name)
42+
except Exception:
43+
self.state = self.states[0]
44+
return self.states[0]
4145

4246
@state.setter
4347
def state(self, new_state: int | str):
@@ -119,10 +123,14 @@ def wait(self):
119123

120124
@property
121125
def state(self) -> int | str:
122-
if isinstance(self.states[0], int):
123-
return self._core.getState(self.name)
124-
else:
125-
return self._core.getStateLabel(self.name)
126+
try:
127+
if isinstance(self.states[0], int):
128+
return self._core.getState(self.name)
129+
else:
130+
return self._core.getStateLabel(self.name)
131+
except Exception:
132+
self.state = self.states[0]
133+
return self.states[0]
126134

127135
@state.setter
128136
def state(self, new_state: int | str):

src/prismo/widgets.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ def __init__(self, relay: "Relay"):
211211
layout = QVBoxLayout(self)
212212
self._timer = QTimer()
213213
self._timer.timeout.connect(self.update_states)
214-
self._timer.start(100)
214+
self._timer.start(10)
215215

216216
for name, state in self._states.items():
217217
row = QHBoxLayout()
@@ -268,11 +268,11 @@ def __init__(self, relay: "Relay"):
268268
self._valve_states: dict[str, list[str | int]] = self._relay.get("valve_states")
269269
self._valve_widgets: dict[str, QPushButton | QComboBox] = {}
270270
self._btns: list[QPushButton] = []
271-
self.setMaximumHeight(150)
271+
self.setMaximumHeight(300)
272272
outer = QVBoxLayout(self)
273273
self._timer = QTimer()
274274
self._timer.timeout.connect(self.update_valves)
275-
self._timer.start(100)
275+
self._timer.start(10)
276276

277277
self._btn_grid = QGridLayout()
278278
self._btn_grid.setHorizontalSpacing(0)

0 commit comments

Comments
 (0)