fix in synchronization, add padding frames for JF
This commit is contained in:
@@ -121,7 +121,7 @@ class AppCfg(QSettings):
|
|||||||
if AppCfg.DT_HOST not in keys:
|
if AppCfg.DT_HOST not in keys:
|
||||||
dflt.append((AppCfg.DT_HOST, 'SAR-CPPM-EXPMX1'))
|
dflt.append((AppCfg.DT_HOST, 'SAR-CPPM-EXPMX1'))
|
||||||
if AppCfg.DT_MISC not in keys:
|
if AppCfg.DT_MISC not in keys:
|
||||||
dflt.append((AppCfg.DT_MISC,{'show_plots':True, 'vel_scl':1.0, 'pt2pt_time':10.0, 'sync_mode':1, 'sync_flag':3, 'verbose':0xff}))
|
dflt.append((AppCfg.DT_MISC,{'show_plots':True, 'vel_scl':1.0, 'pt2pt_time':10.0, 'time_ofs':0.0, 'sync_mode':1, 'sync_flag':3, 'verbose':0xff}))
|
||||||
|
|
||||||
if AppCfg.DAQ_DET not in keys:
|
if AppCfg.DAQ_DET not in keys:
|
||||||
dflt.append((AppCfg.DAQ_DET, {
|
dflt.append((AppCfg.DAQ_DET, {
|
||||||
@@ -136,7 +136,7 @@ class AppCfg(QSettings):
|
|||||||
if AppCfg.DAQ_LOC not in keys:
|
if AppCfg.DAQ_LOC not in keys:
|
||||||
dflt.append((AppCfg.DAQ_LOC, {'end_station':"cristallina", 'p_group':"p20516"}))
|
dflt.append((AppCfg.DAQ_LOC, {'end_station':"cristallina", 'p_group':"p20516"}))
|
||||||
if AppCfg.DAQ_RUN not in keys:
|
if AppCfg.DAQ_RUN not in keys:
|
||||||
dflt.append((AppCfg.DAQ_RUN, {'prefix':'', 'id':0}))
|
dflt.append((AppCfg.DAQ_RUN, {'prefix':'jf', 'padding':10}))
|
||||||
if AppCfg.DAQ_BS_CH not in keys:
|
if AppCfg.DAQ_BS_CH not in keys:
|
||||||
dflt.append((AppCfg.DAQ_BS_CH, ("SARES30-LSCP1-CRISTA1:CH0:1",))) #list of BS channels
|
dflt.append((AppCfg.DAQ_BS_CH, ("SARES30-LSCP1-CRISTA1:CH0:1",))) #list of BS channels
|
||||||
if AppCfg.DAQ_PV_CH not in keys:
|
if AppCfg.DAQ_PV_CH not in keys:
|
||||||
@@ -363,6 +363,7 @@ verbose bits:
|
|||||||
{'name':'show_plots', 'value':dt_misc['show_plots'], 'type':'bool', 'title':'show plots after collection'},
|
{'name':'show_plots', 'value':dt_misc['show_plots'], 'type':'bool', 'title':'show plots after collection'},
|
||||||
{'name':'vel_scl', 'value':dt_misc['vel_scl'], 'type':'float', 'limits':(0, 1), 'step':0.1, 'title':'velocity_scale', 'tip':"scale between smooth(1.0) and stop and go(0.0)"},
|
{'name':'vel_scl', 'value':dt_misc['vel_scl'], 'type':'float', 'limits':(0, 1), 'step':0.1, 'title':'velocity_scale', 'tip':"scale between smooth(1.0) and stop and go(0.0)"},
|
||||||
{'name':'pt2pt_time', 'value':dt_misc['pt2pt_time'], 'type':'float', 'step':0.1,'tip':"time in ms from point to point"},
|
{'name':'pt2pt_time', 'value':dt_misc['pt2pt_time'], 'type':'float', 'step':0.1,'tip':"time in ms from point to point"},
|
||||||
|
{'name':'time_ofs', 'value':dt_misc['time_ofs'], 'type':'float', 'step':0.01,'tip':"time osset of trigger to at position ???"},
|
||||||
{'name':'sync_mode', 'value':dt_misc['sync_mode'], 'type':'int', 'tip':tip_sync_mode},
|
{'name':'sync_mode', 'value':dt_misc['sync_mode'], 'type':'int', 'tip':tip_sync_mode},
|
||||||
{'name':'sync_flag', 'value':dt_misc['sync_flag'], 'type':'int', 'tip':tip_sync_flag},
|
{'name':'sync_flag', 'value':dt_misc['sync_flag'], 'type':'int', 'tip':tip_sync_flag},
|
||||||
{'name':'verbose', 'value':dt_misc['verbose'], 'type':'int', 'tip':tip_verbose},
|
{'name':'verbose', 'value':dt_misc['verbose'], 'type':'int', 'tip':tip_verbose},
|
||||||
@@ -385,7 +386,7 @@ verbose bits:
|
|||||||
]},
|
]},
|
||||||
{'name':AppCfg.DAQ_RUN, 'title':'location', 'type':'group', 'children':[
|
{'name':AppCfg.DAQ_RUN, 'title':'location', 'type':'group', 'children':[
|
||||||
{'name':'prefix', 'value':daq_run['prefix'], 'type':'str',},
|
{'name':'prefix', 'value':daq_run['prefix'], 'type':'str',},
|
||||||
{'name':'id', 'value':daq_run['id'], 'type':'int'},
|
{'name':'padding','value':daq_run['padding'], 'type':'int'},
|
||||||
]},
|
]},
|
||||||
{'name':AppCfg.DAQ_BS_CH, 'title':'list of beam-sync channels','value':' '.join(cfg.value(AppCfg.DAQ_BS_CH)), 'type':'str'},
|
{'name':AppCfg.DAQ_BS_CH, 'title':'list of beam-sync channels','value':' '.join(cfg.value(AppCfg.DAQ_BS_CH)), 'type':'str'},
|
||||||
{'name':AppCfg.DAQ_PV_CH, 'title':'list of PV channels','value':' '.join(cfg.value(AppCfg.DAQ_PV_CH)), 'type':'str'},
|
{'name':AppCfg.DAQ_PV_CH, 'title':'list of PV channels','value':' '.join(cfg.value(AppCfg.DAQ_PV_CH)), 'type':'str'},
|
||||||
|
|||||||
@@ -84,9 +84,9 @@ class Jungfrau:
|
|||||||
run=cfg.value(AppCfg.DAQ_RUN)
|
run=cfg.value(AppCfg.DAQ_RUN)
|
||||||
self._pulse_id_start=int(self._pv_pulse_id.value)
|
self._pulse_id_start=int(self._pv_pulse_id.value)
|
||||||
if self._daq is not None:
|
if self._daq is not None:
|
||||||
self._daq.acquire(run['prefix'], n_pulses=n_pulses, wait=False)
|
self._daq.acquire(run['prefix'], n_pulses=n_pulses+run['padding'], wait=False)
|
||||||
pass
|
pass
|
||||||
run['id']+=1
|
#run['id']+=1
|
||||||
cfg.setValue(AppCfg.DAQ_RUN,run)
|
cfg.setValue(AppCfg.DAQ_RUN,run)
|
||||||
|
|
||||||
def gather_upload(self):
|
def gather_upload(self):
|
||||||
|
|||||||
@@ -2114,6 +2114,9 @@ Author Thierry Zamofing (thierry.zamofing@psi.ch)
|
|||||||
sp.verbose=dt_misc['verbose']
|
sp.verbose=dt_misc['verbose']
|
||||||
sp.points=kwargs['points']
|
sp.points=kwargs['points']
|
||||||
sp.meta['pt2pt_time']=dt_misc['pt2pt_time']
|
sp.meta['pt2pt_time']=dt_misc['pt2pt_time']
|
||||||
|
sp.meta['sync_mode']=dt_misc['sync_mode']
|
||||||
|
sp.meta['sync_flag']=dt_misc['sync_flag']
|
||||||
|
|
||||||
with pg.ProgressDialog('Progress', 0, 100) as dlg:
|
with pg.ProgressDialog('Progress', 0, 100) as dlg:
|
||||||
dlg.setWindowModality(Qt.WindowModal)
|
dlg.setWindowModality(Qt.WindowModal)
|
||||||
#dlg.setRange(0, 0)
|
#dlg.setRange(0, 0)
|
||||||
@@ -2124,7 +2127,7 @@ Author Thierry Zamofing (thierry.zamofing@psi.ch)
|
|||||||
|
|
||||||
dlg.setLabelText("Setup Gather/Sync");dlg+=5
|
dlg.setLabelText("Setup Gather/Sync");dlg+=5
|
||||||
sp.setup_gather()
|
sp.setup_gather()
|
||||||
sp.setup_sync(verbose=sp.verbose&0x40, timeOfs=0.05)
|
sp.setup_sync(verbose=sp.verbose&0x40, timeOfs=dt_misc['time_ofs'])
|
||||||
try:
|
try:
|
||||||
p=geo._fitPlane
|
p=geo._fitPlane
|
||||||
#X has inverted sign !
|
#X has inverted sign !
|
||||||
@@ -2151,8 +2154,8 @@ Author Thierry Zamofing (thierry.zamofing@psi.ch)
|
|||||||
sp.run() # start motion program
|
sp.run() # start motion program
|
||||||
sp.wait_armed() # wait until motors are at first position
|
sp.wait_armed() # wait until motors are at first position
|
||||||
|
|
||||||
sp.trigger(0.5) # send a start trigger (if needed) after given time
|
|
||||||
jf.acquire(sp.points.shape[0])
|
jf.acquire(sp.points.shape[0])
|
||||||
|
sp.trigger(0.0) # send a start trigger (if needed) after given time
|
||||||
if not dt._comm is None:
|
if not dt._comm is None:
|
||||||
dlg.setLabelText("run motion/acquisition")
|
dlg.setLabelText("run motion/acquisition")
|
||||||
dlg.setMaximum(sp.points.shape[0])
|
dlg.setMaximum(sp.points.shape[0])
|
||||||
|
|||||||
Reference in New Issue
Block a user