diff --git a/app_config.py b/app_config.py index e11bef1..51e2bd6 100644 --- a/app_config.py +++ b/app_config.py @@ -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'}, diff --git a/psi_device.py b/psi_device.py index fbba378..e9ba8e2 100644 --- a/psi_device.py +++ b/psi_device.py @@ -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): diff --git a/swissmx.py b/swissmx.py index df163d6..bd16d3b 100755 --- a/swissmx.py +++ b/swissmx.py @@ -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])