next version phoenix trigger
This commit is contained in:
@ -7,6 +7,7 @@ from ophyd import (
|
||||
)
|
||||
|
||||
from ophyd import Component as Cpt
|
||||
from ophyd import FormattedComponent as FCpt
|
||||
from ophyd import Device, EpicsSignal, EpicsSignalRO
|
||||
|
||||
from ophyd_devices.interfaces.base_classes.psi_detector_base import PSIDetectorBase, CustomDetectorMixin
|
||||
@ -54,6 +55,9 @@ class PhoenixTriggerSetup(CustomDetectorMixin):
|
||||
done = self.parent.smpl_done.get()
|
||||
return done
|
||||
|
||||
def on_done_cpt(self):
|
||||
done = self.parent.smpl_done_cpt.get()
|
||||
return done
|
||||
|
||||
def on_dwell(self,t):
|
||||
" calculate cycles from time in sec "
|
||||
@ -66,14 +70,29 @@ class PhoenixTriggerSetup(CustomDetectorMixin):
|
||||
time.sleep(0.05)
|
||||
cycles=self.parent.total_cycles.get()
|
||||
time.sleep(0.05)
|
||||
cycles=self.parent.total_cycles.put(0)
|
||||
self.parent.total_cycles.put(0)
|
||||
time.sleep(0.05)
|
||||
cycles=self.parent.smpl.put(1)
|
||||
self.parent.smpl.put(1)
|
||||
time.sleep(0.5)
|
||||
print(cycles)
|
||||
cycles=self.parent.total_cycles.put(cycles)
|
||||
logger.success('PhoenixTrigger on stage')
|
||||
|
||||
|
||||
def on_unstage(self):
|
||||
# is this called on each point in scan or just before scan ???
|
||||
print('on unstage')
|
||||
#while self.parent.smpl_done.get()
|
||||
self.parent.total_cycles.put(5)
|
||||
time.sleep(0.3)
|
||||
self.parent.start_csmpl.put(1)
|
||||
time.sleep(0.3)
|
||||
self.parent.smpl.put(1)
|
||||
time.sleep(2)
|
||||
|
||||
self.parent.smpl.put(1)
|
||||
time.sleep(.5)
|
||||
logger.success('PhoenixTrigger.on_unstage')
|
||||
|
||||
|
||||
|
||||
@ -196,7 +215,9 @@ class PhoenixTrigger(PSIDetectorBase):
|
||||
,"a_cont_sample_on"
|
||||
,"a_cont_sample_off"
|
||||
,"prefix"
|
||||
,"a_done"]
|
||||
,"a_done"
|
||||
,"a_done_cpt"
|
||||
,"SMPL"]
|
||||
|
||||
#####################################################################
|
||||
# specify Setup class into variable custom_prepare_cls
|
||||
@ -222,9 +243,15 @@ class PhoenixTrigger(PSIDetectorBase):
|
||||
intr_count = Cpt(EpicsSignal,'INTR-COUNT') # conter run up
|
||||
total_cycles = Cpt(EpicsSignal,'TOTAL-CYCLES') # cycles set
|
||||
smpl = Cpt(EpicsSignal,'SMPL') # start sampling --> aquire
|
||||
smpl_done = Cpt(EpicsSignal,'SMPL-DONE') # show trigger is done
|
||||
# Done field is of type bi
|
||||
smpl_done_cpt = Cpt(EpicsSignal,'SMPL-DONE') # show trigger is done
|
||||
smpl_done = EpicsSignal(name='SMPL-DONE',read_pv='X07MB-OP2:SMPL')
|
||||
|
||||
|
||||
def SMPL():
|
||||
s= EpicsSignal(name='SMPL-DONE',read_pv='X07MB-OP2:SMPL')
|
||||
return s
|
||||
|
||||
# link to reasonable names
|
||||
# start with a_ to see functions quicklz in listing
|
||||
#
|
||||
@ -242,5 +269,9 @@ class PhoenixTrigger(PSIDetectorBase):
|
||||
done=self.custom_prepare.on_done()
|
||||
return done
|
||||
|
||||
def a_done_cpt(self):
|
||||
done=self.custom_prepare.on_done_cpt()
|
||||
return done
|
||||
|
||||
def a_dwell(self):
|
||||
self.custom_prepare.on_dwell()
|
Reference in New Issue
Block a user