Mods for July beamtime
This commit is contained in:
57
tth.py
Normal file
57
tth.py
Normal file
@ -0,0 +1,57 @@
|
||||
from time import sleep
|
||||
import numpy as np
|
||||
from epics import PV
|
||||
|
||||
from logzero import logger as log
|
||||
|
||||
from slic.core.adjustable import Adjustable
|
||||
from slic.core.adjustable import PVAdjustable
|
||||
from slic.core.scanner.scanbackend import wait_for_all #, stop_all
|
||||
from slic.devices.general.motor import Motor
|
||||
|
||||
|
||||
class LakeShore(Adjustable):
|
||||
|
||||
def __init__(self, ID="Temp", units="T", accuracy=0, name="" ):
|
||||
super().__init__(ID, name=name, units=units)
|
||||
self.SP_RBV_T=PVAdjustable("SATES30-LS336:LOOP1_SP", "SATES30-LS336:A_RBV", name = "Temp")
|
||||
self.accuracy=accuracy
|
||||
|
||||
def set_target_value(self, value):
|
||||
t_T= self.SP_RBV_T.set_target_value(value)
|
||||
t_T.wait()
|
||||
|
||||
def get_current_value(self):
|
||||
return self.SP_RBV_T.get_current_value()
|
||||
|
||||
def is_moving(self):
|
||||
delta = abs(self.SP_RBV_T.pvs.setvalue.get() - self.SP_RBV_T.pvs.readback.get() )
|
||||
return (delta > self.accuracy)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class Coupled_tth(Adjustable):
|
||||
|
||||
|
||||
def __init__(self, ID="tth", units="deg", delta=0, name="" ):
|
||||
super().__init__(ID, name=name, units=units)
|
||||
self.SRY = Motor("SATES30-RIXS:MOT_SRY.VAL")
|
||||
self.DRY = Motor("SATES30-RIXS:MOT_DRY.VAL")
|
||||
self.delta = delta
|
||||
|
||||
def set_target_value(self, value):
|
||||
s_SRY = 90 - value + self.delta
|
||||
s_DRY = -2*value
|
||||
t_SRY = self.SRY.set_target_value(s_SRY)
|
||||
t_DRY = self.DRY.set_target_value(s_DRY)
|
||||
t_SRY.wait()
|
||||
t_DRY.wait()
|
||||
def get_current_value(self):
|
||||
return self.DRY.get_current_value()*(-.5)
|
||||
def is_moving(self):
|
||||
return any([self.SRY.is_moving(),self.DRY.is_moving()])
|
Reference in New Issue
Block a user