24 lines
832 B
Python
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()])
|