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 Component as Cpt
|
||||||
|
from ophyd import FormattedComponent as FCpt
|
||||||
from ophyd import Device, EpicsSignal, EpicsSignalRO
|
from ophyd import Device, EpicsSignal, EpicsSignalRO
|
||||||
|
|
||||||
from ophyd_devices.interfaces.base_classes.psi_detector_base import PSIDetectorBase, CustomDetectorMixin
|
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()
|
done = self.parent.smpl_done.get()
|
||||||
return done
|
return done
|
||||||
|
|
||||||
|
def on_done_cpt(self):
|
||||||
|
done = self.parent.smpl_done_cpt.get()
|
||||||
|
return done
|
||||||
|
|
||||||
def on_dwell(self,t):
|
def on_dwell(self,t):
|
||||||
" calculate cycles from time in sec "
|
" calculate cycles from time in sec "
|
||||||
@ -66,14 +70,29 @@ class PhoenixTriggerSetup(CustomDetectorMixin):
|
|||||||
time.sleep(0.05)
|
time.sleep(0.05)
|
||||||
cycles=self.parent.total_cycles.get()
|
cycles=self.parent.total_cycles.get()
|
||||||
time.sleep(0.05)
|
time.sleep(0.05)
|
||||||
cycles=self.parent.total_cycles.put(0)
|
self.parent.total_cycles.put(0)
|
||||||
time.sleep(0.05)
|
time.sleep(0.05)
|
||||||
cycles=self.parent.smpl.put(1)
|
self.parent.smpl.put(1)
|
||||||
time.sleep(0.5)
|
time.sleep(0.5)
|
||||||
|
print(cycles)
|
||||||
cycles=self.parent.total_cycles.put(cycles)
|
cycles=self.parent.total_cycles.put(cycles)
|
||||||
logger.success('PhoenixTrigger on stage')
|
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_on"
|
||||||
,"a_cont_sample_off"
|
,"a_cont_sample_off"
|
||||||
,"prefix"
|
,"prefix"
|
||||||
,"a_done"]
|
,"a_done"
|
||||||
|
,"a_done_cpt"
|
||||||
|
,"SMPL"]
|
||||||
|
|
||||||
#####################################################################
|
#####################################################################
|
||||||
# specify Setup class into variable custom_prepare_cls
|
# specify Setup class into variable custom_prepare_cls
|
||||||
@ -222,9 +243,15 @@ class PhoenixTrigger(PSIDetectorBase):
|
|||||||
intr_count = Cpt(EpicsSignal,'INTR-COUNT') # conter run up
|
intr_count = Cpt(EpicsSignal,'INTR-COUNT') # conter run up
|
||||||
total_cycles = Cpt(EpicsSignal,'TOTAL-CYCLES') # cycles set
|
total_cycles = Cpt(EpicsSignal,'TOTAL-CYCLES') # cycles set
|
||||||
smpl = Cpt(EpicsSignal,'SMPL') # start sampling --> aquire
|
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
|
# link to reasonable names
|
||||||
# start with a_ to see functions quicklz in listing
|
# start with a_ to see functions quicklz in listing
|
||||||
#
|
#
|
||||||
@ -242,5 +269,9 @@ class PhoenixTrigger(PSIDetectorBase):
|
|||||||
done=self.custom_prepare.on_done()
|
done=self.custom_prepare.on_done()
|
||||||
return done
|
return done
|
||||||
|
|
||||||
|
def a_done_cpt(self):
|
||||||
|
done=self.custom_prepare.on_done_cpt()
|
||||||
|
return done
|
||||||
|
|
||||||
def a_dwell(self):
|
def a_dwell(self):
|
||||||
self.custom_prepare.on_dwell()
|
self.custom_prepare.on_dwell()
|
Reference in New Issue
Block a user