Files
sfbd/ext/counteradjustable.py

24 lines
832 B
Python

from slic.core.adjustable import Adjustable
class CounterAdjustable(Adjustable):
def __init__(self, adjustable1, adjustable2):
self.adj1=adjustable1
self.adj2=adjustable2
self.ref_values() # implementation needs reference values to convert absolute scan to relative scan
def ref_value(self):
self.val1 = self.adj1.get_current_value(readback = False)
self.val2 = self.adj2.get_current_value(readback = False)
def set_target_value(self, value):
t1 = self.adj1.set_target_value(self.val1 + value)
t2 = self.adj2.set_target_value(self.val2 - value)
t1.wait()
t2.wait()
def get_current_value(self):
return self.adj1.get_current_value()
def is_moving(self):
return any([self.adj1.is_moving(),self.adj2.is_moving()])