diff --git a/daq_macros.py b/daq_macros.py index 9f2e3870..e43f2394 100644 --- a/daq_macros.py +++ b/daq_macros.py @@ -86,6 +86,14 @@ def abortBS(): except super_state_machine.errors.TransitionError: logger.error("caught BS") +def move_omega(omega, relative=True): + """Moves omega by a certain amount""" + if gov_robot.state.get() == "SA": + if relative: + RE(bps.mvr(samplexyz.omega, omega)) + else: + RE(bps.mv(samplexyz.omega, omega)) + def changeImageCenterLowMag(x,y,czoom): zoom = int(czoom) zoomMinXRBV = getPvDesc("lowMagZoomMinXRBV") diff --git a/daq_main_common.py b/daq_main_common.py index 77fe3115..1160cb36 100755 --- a/daq_main_common.py +++ b/daq_main_common.py @@ -75,7 +75,8 @@ def setGovState(state): setSlit1X, setSlit1Y, testRobot, - setGovState] + setGovState, + move_omega] whitelisted_functions: "Dict[str, Callable]" = { func.__name__: func for func in functions diff --git a/gui/control_main.py b/gui/control_main.py index cf767d91..cf49b7e0 100644 --- a/gui/control_main.py +++ b/gui/control_main.py @@ -2688,8 +2688,9 @@ def dewarViewToggleCheckCB(self): def moveOmegaCB(self): self.send_to_server( - "mvaDescriptor", - ["omega", float(self.sampleOmegaMoveLedit.getEntry().text())], + "move_omega", + [float(self.sampleOmegaMoveLedit.getEntry().text())], + {"relative": False} ) def moveEnergyCB(self): @@ -2780,16 +2781,15 @@ def moveDetDistCB(self): def omegaTweakNegCB(self): tv = float(self.omegaTweakVal_ledit.text()) - tweakVal = 0.0 - tv if self.controlEnabled(): - self.omegaTweak_pv.put(tweakVal) + self.send_to_server("move_omega", [-tv]) else: self.popupServerMessage("You don't have control") def omegaTweakPosCB(self): tv = float(self.omegaTweakVal_ledit.text()) if self.controlEnabled(): - self.omegaTweak_pv.put(tv) + self.send_to_server("move_omega", [tv]) else: self.popupServerMessage("You don't have control") @@ -2824,9 +2824,8 @@ def focusTweakCB(self, tv): self.popupServerMessage("You don't have control") def omegaTweakCB(self, tv): - tvf = float(tv) if self.controlEnabled(): - self.omegaTweak_pv.put(tvf) + self.send_to_server("move_omega", [float(tv)]) time.sleep(0.05) else: self.popupServerMessage("You don't have control")