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