Revert "Revert "diverse""

This reverts commit 41bf08598b.
This commit is contained in:
2018-06-12 10:27:09 +02:00
committed by Chris Milne
parent 8d70442edb
commit b22e1f7987
4 changed files with 53 additions and 4 deletions
+2 -2
View File
@@ -150,11 +150,11 @@ class Scans:
print('Warning: dscan will be deprecated for rscan unless someone explains what it stands for in spec!')
return self.rscan(*args,**kwargs)
def ascanList(self,adjustable,posList,N_pulses,file_name=None,start_immediately=True):
def ascanList(self,adjustable,posList,N_pulses,file_name=None,start_immediately=True, step_info = None):
positions = posList
values = [[tp] for tp in positions]
s = ScanSimple([adjustable],values,self._default_counters,file_name,Npulses=N_pulses,basepath=self.data_base_dir,scan_info_dir=self.scan_info_dir,checker=self.checker,scan_directories=self._scan_directories)
if start_immediately:
s.scanAll()
s.scanAll(step_info=step_info)
return s
+25
View File
@@ -32,6 +32,31 @@ class EnumWrapper:
class MonitorAccumulator:
def __init__(self,pv,attr=None,keywords=['value','timestamp']):
self.pv = pv
self.attr = attr
self.values = []
self.keywords = keywords
def _accumulate(self,**kwargs):
self.values.append([kwargs[kw] for kw in self.keywords])
def accumulate(self):
self.pv.add_callback(self._accumulate,self.attr)
def stop(self):
self.pv.remove_callbacks(self.attr)
def cycle(self):
self.stop()
d = self.values.copy()
self.values = []
self.accumulate()
return d
class Positioner:
def __init__(self,list_of_name_func_tuples):
+14 -1
View File
@@ -15,11 +15,24 @@ class KBhor:
self.mode = PV(Id[:11]+':MODE').enum_strs[PV(Id[:11]+':MODE').value]
#### actual motors ###
self._Y1 = MotorRecord(Id+':TY1')
self._Y2 = MotorRecord(Id+':TY2')
self._Y3 = MotorRecord(Id+':TY3')
self._X1 = MotorRecord(Id+':TX1')
self._X2 = MotorRecord(Id+':TX2')
def __str__(self):
s = "**Horizontal KB mirror**\n\n"
s = "**Horizontal KB mirror**\n"
motors = "bend1 bend2 pitch roll yaw x y".split()
for motor in motors:
s+= " - %s = %.4f\n" %(motor, getattr(self,motor).wm())
s += "\n**Stages**\n"
stages = "_Y1 _Y2 _Y3 _X1 _X2".split()
for stage in stages:
s+= " - %s = %.4f\n" %(stage, getattr(self,stage).wm())
return s
def __repr__(self):
+12 -1
View File
@@ -15,11 +15,22 @@ class KBver:
self.mode = PV(Id[:11]+':MODE').enum_strs[PV(Id[:11]+':MODE').value]
#### actual motors ###
self._Y1 = MotorRecord(Id+':TY1')
self._Y2 = MotorRecord(Id+':TY2')
self._Y3 = MotorRecord(Id+':TY3')
self._X1 = MotorRecord(Id+':TX1')
self._X2 = MotorRecord(Id+':TX2')
def __str__(self):
s = "**Vertical KB mirror**\n\n"
s = "**Vertical KB mirror**\n"
motors = "bend1 bend2 pitch roll yaw x y".split()
for motor in motors:
s+= " - %s = %.4f\n" %(motor, getattr(self,motor).wm())
s += "\n**Stages**\n"
stages = "_Y1 _Y2 _Y3 _X1 _X2".split()
for stage in stages:
s+= " - %s = %.4f\n" %(stage, getattr(self,stage).wm())
return s
def __repr__(self):