fix in synchronization, add padding frames for JF

This commit is contained in:
2022-09-28 16:56:32 +02:00
parent a186d256d3
commit 7a67889992
3 changed files with 11 additions and 7 deletions

View File

@@ -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'},

View File

@@ -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):

View File

@@ -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])