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:
|
||||
dflt.append((AppCfg.DT_HOST, 'SAR-CPPM-EXPMX1'))
|
||||
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:
|
||||
dflt.append((AppCfg.DAQ_DET, {
|
||||
@@ -136,7 +136,7 @@ class AppCfg(QSettings):
|
||||
if AppCfg.DAQ_LOC not in keys:
|
||||
dflt.append((AppCfg.DAQ_LOC, {'end_station':"cristallina", 'p_group':"p20516"}))
|
||||
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:
|
||||
dflt.append((AppCfg.DAQ_BS_CH, ("SARES30-LSCP1-CRISTA1:CH0:1",))) #list of BS channels
|
||||
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':'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':'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_flag', 'value':dt_misc['sync_flag'], 'type':'int', 'tip':tip_sync_flag},
|
||||
{'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':'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_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)
|
||||
self._pulse_id_start=int(self._pv_pulse_id.value)
|
||||
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
|
||||
run['id']+=1
|
||||
#run['id']+=1
|
||||
cfg.setValue(AppCfg.DAQ_RUN,run)
|
||||
|
||||
def gather_upload(self):
|
||||
|
||||
@@ -2114,6 +2114,9 @@ Author Thierry Zamofing (thierry.zamofing@psi.ch)
|
||||
sp.verbose=dt_misc['verbose']
|
||||
sp.points=kwargs['points']
|
||||
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:
|
||||
dlg.setWindowModality(Qt.WindowModal)
|
||||
#dlg.setRange(0, 0)
|
||||
@@ -2124,7 +2127,7 @@ Author Thierry Zamofing (thierry.zamofing@psi.ch)
|
||||
|
||||
dlg.setLabelText("Setup Gather/Sync");dlg+=5
|
||||
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:
|
||||
p=geo._fitPlane
|
||||
#X has inverted sign !
|
||||
@@ -2151,8 +2154,8 @@ Author Thierry Zamofing (thierry.zamofing@psi.ch)
|
||||
sp.run() # start motion program
|
||||
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])
|
||||
sp.trigger(0.0) # send a start trigger (if needed) after given time
|
||||
if not dt._comm is None:
|
||||
dlg.setLabelText("run motion/acquisition")
|
||||
dlg.setMaximum(sp.points.shape[0])
|
||||
|
||||
Reference in New Issue
Block a user