DAQ/GUI: Add relative omega movement - to be tested

This commit is contained in:
2026-01-15 12:57:36 +01:00
parent e62cd5277e
commit 18014e2d7c
5 changed files with 24 additions and 4 deletions
+11 -3
View File
@@ -198,9 +198,7 @@ class AareDAQ:
def omega(self) -> float:
return self.__devs.aerotech.omega
@omega.setter
def omega(self, val: float):
self.__cfg.set_busy(BeamlineStateEnum.SampleAlignment)
def __omega(self, val: float):
self.__saved_box = None
if -2000 < val < 2000:
try:
@@ -215,6 +213,16 @@ class AareDAQ:
logger.error("Omega has to be between -2000 and 2000 degrees")
raise ValueError("Omega has to be between -2000 and 2000 degrees (for now)")
@omega.setter
def omega(self, val: float):
self.__cfg.set_busy(BeamlineStateEnum.SampleAlignment)
self.__omega(val)
def omega_rel(self, val: float):
self.__cfg.set_busy(BeamlineStateEnum.SampleAlignment)
curr_omega = self.__devs.aerotech.omega
self.__omega(curr_omega + val)
@property
def zoom(self) -> float:
return self.__devs.zoom
+6
View File
@@ -96,6 +96,12 @@ async def omega(val: float, token: str = Depends(oauth2_scheme)):
daq.omega = val
return "OK"
@app.put("/beamline/omega_rel")
async def omega(val: float, token: str = Depends(oauth2_scheme)):
logger.debug(f"Moving omega by {val}")
auth.check_jwt_rw(cfg, auth.parse_token(token))
daq.omega_rel(val)
return "OK"
@app.put("/beamline/light")
async def light(val: float, token: str = Depends(oauth2_scheme)):
+1
View File
@@ -229,6 +229,7 @@ class MainWindow(QMainWindow):
self.raster.omega.connect(self.daq.set_omega)
self.raster.smargon.connect(self.daq.move_smargon)
self.beamline.omega_panel.set_omega_rel.connect(self.daq.set_omega_rel)
self.beamline.omega_panel.set_omega.connect(self.daq.set_omega)
self.sample_camera.set_omega.connect(self.daq.set_omega)
self.beamline.zoom_panel.zoom.connect(self.daq.zoom)
+2 -1
View File
@@ -21,6 +21,7 @@ class OmegaEntryWidget(QWidget):
class OmegaPanel(QWidget):
set_omega = Signal(float)
set_omega_rel = Signal(float)
def __init__(self, parent=None):
super().__init__(parent)
@@ -57,7 +58,7 @@ class OmegaPanel(QWidget):
@Slot(dict)
def omega_button_pressed(self, payload: dict):
if "rel" in payload:
self.set_omega.emit(self.__omega + payload["rel"])
self.set_omega_rel.emit(payload["rel"])
elif "abs" in payload:
self.set_omega.emit(payload["abs"])
+4
View File
@@ -186,6 +186,10 @@ class DAQWorker(QObject):
def set_omega(self, f: float):
self.generic_put(f"beamline/omega?val={f:.3f}")
@Slot(float)
def set_omega_rel(self, f: float):
self.generic_put(f"beamline/omega_rel?val={f:.3f}")
@Slot(float)
def zoom(self, f: float):
self.generic_put(f"beamline/zoom?val={f:.3f}")