From ca3a5199b6ef73873b556210c0e91b57ccd9b837 Mon Sep 17 00:00:00 2001 From: vonka_j Date: Wed, 16 Apr 2025 14:58:02 +0200 Subject: [PATCH] Added deadbands for diffractometer motors --- crq_exp/diffractometer.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/crq_exp/diffractometer.py b/crq_exp/diffractometer.py index 309069c..569858b 100755 --- a/crq_exp/diffractometer.py +++ b/crq_exp/diffractometer.py @@ -9,11 +9,16 @@ """ -from slic.core.adjustable import Adjustable, Linked - -from slic.core.device import Device, SimpleDevice +from slic.core.adjustable import PVAdjustable, Linked, Adjustable +from slic.core.device import Device from slic.devices.general.motor import Motor +class MotorECMC(Motor): + '''Regular motor class with extra EPICS and ECMC tolerance deadbands for motion.''' + def __init__(self, ID, **kwargs): + super().__init__(ID, **kwargs) + self.deadband_epics = PVAdjustable(self.name+'-SetCtrlDB',units='mm',name='Tolerance deadband for EPICS target reached flag.') + self.deadband_ecmc = PVAdjustable(self.name+'-SetAtTrgtDB',units='mm', name='Tolerance deadband for ECMC servo motor control') class Diffractometer(Device): def __init__(self, ID, **kwargs): @@ -34,8 +39,8 @@ class Diffractometer(Device): if ID == "SARES32-GPS": self.name = "DM2: Cristallina pulsed magnet diffractometer" # This diffractometer also has extra swivel stages - self.rotx = Motor(ID + ":ROTX") - self.rotz = Motor(ID + ":ROTZ") + self.rot_x = Motor(ID + ":ROTX") + self.rot_z = Motor(ID + ":ROTZ") if ID == "SARES31-GPS": self.name = "DM1: Cristallina dilution fridge diffractometer"