Merge branch 'master' into online_changes
This commit is contained in:
commit
ca5a03b2f1
@ -1,6 +1,6 @@
|
||||
from .galil.galil_ophyd import GalilMotor
|
||||
from .npoint.npoint import NPointAxis
|
||||
from .rt_lamni import RtLamniMotor
|
||||
from .sim.sim import SynAxisMonitor, SynAxisOPAAS, SynFlyer, SynSLSDetector
|
||||
from .sim.sim import SynAxisMonitor, SynAxisOPAAS, SynFlyer, SynSignalRO, SynSLSDetector
|
||||
from .sls_devices.sls_devices import SLSOperatorMessages
|
||||
from .smaract.smaract_ophyd import SmaractMotor
|
||||
|
@ -160,11 +160,11 @@ class RtLamniController(Controller):
|
||||
def feedback_disable(self):
|
||||
self.socket_put("J0")
|
||||
logger.info("LamNI Feedback disabled.")
|
||||
self.get_device_manager().devices.lsamx.enabled = True
|
||||
self.get_device_manager().devices.lsamy.enabled = True
|
||||
self.get_device_manager().devices.loptx.enabled = True
|
||||
self.get_device_manager().devices.lopty.enabled = True
|
||||
self.get_device_manager().devices.loptz.enabled = True
|
||||
self.set_device_enabled("lsamx", True)
|
||||
self.set_device_enabled("lsamy", True)
|
||||
self.set_device_enabled("loptx", True)
|
||||
self.set_device_enabled("lopty", True)
|
||||
self.set_device_enabled("loptz", True)
|
||||
|
||||
@threadlocked
|
||||
def _set_axis_velocity(self, um_per_s):
|
||||
@ -205,25 +205,25 @@ class RtLamniController(Controller):
|
||||
# set these as closed loop target position
|
||||
self.socket_put(f"pa0,{x_curr:.4f}")
|
||||
self.socket_put(f"pa1,{y_curr:.4f}")
|
||||
self.get_device_manager().devices.rtx.setpoint.set_with_feedback_disabled(x_curr)
|
||||
self.get_device_manager().devices.rty.setpoint.set_with_feedback_disabled(y_curr)
|
||||
self.get_device_manager().devices.rtx.obj.user_setpoint.set_with_feedback_disabled(x_curr)
|
||||
self.get_device_manager().devices.rty.obj.user_setpoint.set_with_feedback_disabled(y_curr)
|
||||
self.socket_put("J5")
|
||||
logger.info("LamNI Feedback enabled (without reset).")
|
||||
self.get_device_manager().devices.lsamx.enabled = False
|
||||
self.get_device_manager().devices.lsamy.enabled = False
|
||||
self.get_device_manager().devices.loptx.enabled = False
|
||||
self.get_device_manager().devices.lopty.enabled = False
|
||||
self.get_device_manager().devices.loptz.enabled = False
|
||||
self.set_device_enabled("lsamx", False)
|
||||
self.set_device_enabled("lsamy", False)
|
||||
self.set_device_enabled("loptx", False)
|
||||
self.set_device_enabled("lopty", False)
|
||||
self.set_device_enabled("loptz", False)
|
||||
|
||||
@threadlocked
|
||||
def feedback_disable_and_even_reset_lamni_angle_interferometer(self):
|
||||
self.socket_put("J6")
|
||||
logger.info("LamNI Feedback disabled including the angular interferometer.")
|
||||
self.get_device_manager().devices.lsamx.enabled = True
|
||||
self.get_device_manager().devices.lsamy.enabled = True
|
||||
self.get_device_manager().devices.loptx.enabled = True
|
||||
self.get_device_manager().devices.lopty.enabled = True
|
||||
self.get_device_manager().devices.loptz.enabled = True
|
||||
self.set_device_enabled("lsamx", True)
|
||||
self.set_device_enabled("lsamy", True)
|
||||
self.set_device_enabled("loptx", True)
|
||||
self.set_device_enabled("lopty", True)
|
||||
self.set_device_enabled("loptz", True)
|
||||
|
||||
def get_device_manager(self):
|
||||
for axis in self._axis:
|
||||
@ -474,11 +474,11 @@ class RtLamniController(Controller):
|
||||
(self.socket_put_and_receive("J2")).split(",")[0]
|
||||
)
|
||||
|
||||
self.get_device_manager().devices.lsamx.enabled = False
|
||||
self.get_device_manager().devices.lsamy.enabled = False
|
||||
self.get_device_manager().devices.loptx.enabled = False
|
||||
self.get_device_manager().devices.lopty.enabled = False
|
||||
self.get_device_manager().devices.loptz.enabled = False
|
||||
self.set_device_enabled("lsamx", False)
|
||||
self.set_device_enabled("lsamy", False)
|
||||
self.set_device_enabled("loptx", False)
|
||||
self.set_device_enabled("lopty", False)
|
||||
self.set_device_enabled("loptz", False)
|
||||
|
||||
if interferometer_feedback_not_running == 1:
|
||||
logger.error(
|
||||
@ -492,6 +492,15 @@ class RtLamniController(Controller):
|
||||
|
||||
# ptychography_alignment_done = 0
|
||||
|
||||
def set_device_enabled(self, device_name: str, enabled: bool) -> None:
|
||||
"""enable / disable a device"""
|
||||
if device_name not in self.get_device_manager().devices:
|
||||
logger.warning(
|
||||
f"Device {device_name} is not configured and cannot be enabled/disabled."
|
||||
)
|
||||
return
|
||||
self.get_device_manager().devices[device_name].enabled_set = enabled
|
||||
|
||||
|
||||
class RtLamniSignalBase(SocketSignal):
|
||||
def __init__(self, signal_name, **kwargs):
|
||||
|
@ -1 +1 @@
|
||||
from .sim import SynAxisMonitor, SynAxisOPAAS, SynFlyer, SynSLSDetector
|
||||
from .sim import SynAxisMonitor, SynAxisOPAAS, SynFlyer, SynSignalRO, SynSLSDetector
|
||||
|
@ -2,7 +2,6 @@ import os
|
||||
import threading
|
||||
import time as ttime
|
||||
import warnings
|
||||
from email.message import Message
|
||||
from typing import List
|
||||
|
||||
import numpy as np
|
||||
@ -19,6 +18,22 @@ class DeviceStop(Exception):
|
||||
pass
|
||||
|
||||
|
||||
class SynSignalRO(Signal):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
self._metadata.update(
|
||||
write_access=False,
|
||||
)
|
||||
|
||||
def wait_for_connection(self, timeout=0):
|
||||
super().wait_for_connection(timeout)
|
||||
self._metadata.update(connected=True)
|
||||
|
||||
def get(self, **kwargs):
|
||||
self._readback = np.random.rand()
|
||||
return self._readback
|
||||
|
||||
|
||||
class _ReadbackSignal(Signal):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
@ -284,6 +299,12 @@ class DummyController:
|
||||
some_var = 10
|
||||
another_var = 20
|
||||
|
||||
def on(self):
|
||||
self._connected = True
|
||||
|
||||
def off(self):
|
||||
self._connected = False
|
||||
|
||||
def controller_show_all(self):
|
||||
"""dummy controller show all
|
||||
|
||||
@ -297,6 +318,10 @@ class DummyController:
|
||||
print(self.some_var)
|
||||
|
||||
|
||||
class DummyControllerDevice(Device):
|
||||
USER_ACCESS = ["controller"]
|
||||
|
||||
|
||||
class SynFlyer(Device, PositionerBase):
|
||||
def __init__(
|
||||
self,
|
||||
|
Loading…
x
Reference in New Issue
Block a user