This commit is contained in:
2022-09-08 15:55:14 +02:00
parent 1d26a309e7
commit 0a15899ee6
3 changed files with 84 additions and 12 deletions

View File

@@ -272,15 +272,19 @@ bit 1=2 : simulated frame trigger
{'name':'in Y downstream' ,'value':dft_pos_pst.get('y_in_ds' ,0),'type':'float','limits':(-45,15),'step':0.1,'decimals':5,'suffix':' mm'},
{'name':'out X delta' ,'value':dft_pos_pst.get('x_out_delta',0),'type':'float','limits':(-32,32),'step':0.1,'decimals':5,'suffix':' mm'},
{'name':'out Y delta' ,'value':dft_pos_pst.get('y_out_delta',0),'type':'float','limits':(-32,32),'step':0.1,'decimals':5,'suffix':' mm'},
{'name':'in Z' ,'value':dft_pos_pst.get('z_in' ,0),'type':'float','limits':(-8 ,1 ),'step':0.1,'decimals':5,'suffix':' mm'},
{'name':'out Z' ,'value':dft_pos_pst.get('z_out' ,0),'type':'float','limits':(-8 ,1 ),'step':0.1,'decimals':5,'suffix':' mm'},
]},
{'name':'in Z' ,'value':dft_pos_pst.get('z_in' ,0),'type':'float','limits':(-8 ,5 ),'step':0.1,'decimals':5,'suffix':' mm'},
{'name':'out Z' ,'value':dft_pos_pst.get('z_out' ,0),'type':'float','limits':(-8 ,5 ),'step':0.1,'decimals':5,'suffix':' mm'},
{'name':'set_in', 'title':'use current position as "in"', 'type':'action'},
{'name':'set_out', 'title':'use current position as "out"', 'type':'action'},
]},
{'name': AppCfg.DFT_POS_COL, 'title':'collimator reference positions', 'type':'group','expanded':False, 'children':[
{'name':'in X', 'value':dft_pos_col.get('x_in',0), 'type':'float', 'limits':(-15.9, 15.9 ),'step':0.1, 'decimals':5, 'suffix':' mm'},
{'name':'in Y', 'value':dft_pos_col.get('y_in',0), 'type':'float', 'limits':(-15.9, 15.9 ),'step':0.1, 'decimals':5, 'suffix':' mm'},
{'name':'out X', 'value':dft_pos_col.get('x_out',0),'type':'float', 'limits':(-15.9, 15.9 ),'step':0.1, 'decimals':5, 'suffix':' mm'},
{'name':'out Y', 'value':dft_pos_col.get('y_out',0),'type':'float', 'limits':(-15.9, 15.9 ),'step':0.1, 'decimals':5, 'suffix':' mm'},
]},
{'name':'set_in', 'title':'use current position as "in"', 'type':'action'},
{'name':'set_out', 'title':'use current position as "out"', 'type':'action'},
]},
{'name': AppCfg.DFT_POS_BKLGT, 'title':'Back Light reference positions', 'type':'group','expanded':False, 'children':[
{'name':'In position', 'value':dft_pos_bklgt.get('pos_in',0), 'type':'float', 'limits':(-30000, 10 ),'step':10, 'decimals':5, 'suffix':'ustep'},
{'name':'Out position', 'value':dft_pos_bklgt.get('pos_out',0), 'type':'float', 'limits':(-1000, 10 ),'step':10, 'decimals':5, 'suffix':'ustep'},
@@ -288,6 +292,8 @@ bit 1=2 : simulated frame trigger
{'name': AppCfg.DFT_POS_DET, 'title':'detector reference positions', 'type':'group','expanded':False, 'children':[
{'name':'In position', 'value':dft_pos_det.get('pos_in',0), 'type':'float', 'limits':(-20, 20 ),'step':0.1, 'decimals':5, 'suffix':' mm'},
{'name':'Out position', 'value':dft_pos_det.get('pos_out',0), 'type':'float', 'limits':(-20, 20 ),'step':0.1, 'decimals':5, 'suffix':' mm'},
{'name':'set_in', 'title':'use current position as "in"', 'type':'action'},
{'name':'set_out', 'title':'use current position as "out"', 'type':'action'},
]},
{'name': AppCfg.GBL_DEV_PREFIX, 'title':'device prefix', 'type':'group','expanded':False, 'children':[
{'name':'deltatau motors', 'value':gbl_dev_prefix[0],'type':'str' },
@@ -329,6 +335,12 @@ bit 1=2 : simulated frame trigger
child.sigValueChanging.connect(lambda a,b: self.cb_valueChanging(a,b))
for ch2 in child.children():
ch2.sigValueChanging.connect(lambda a,b: self.cb_valueChanging(a,b))
p.param(AppCfg.DFT_POS_PST, 'set_in' ).sigActivated.connect(lambda x: self.cb_use_cur_pos_as(AppCfg.DFT_POS_PST, 'in'))
p.param(AppCfg.DFT_POS_PST, 'set_out').sigActivated.connect(lambda x: self.cb_use_cur_pos_as(AppCfg.DFT_POS_PST, 'out'))
p.param(AppCfg.DFT_POS_COL, 'set_in' ).sigActivated.connect(lambda x: self.cb_use_cur_pos_as(AppCfg.DFT_POS_COL, 'in'))
p.param(AppCfg.DFT_POS_COL, 'set_out').sigActivated.connect(lambda x: self.cb_use_cur_pos_as(AppCfg.DFT_POS_COL, 'out'))
p.param(AppCfg.DFT_POS_DET, 'set_in' ).sigActivated.connect(lambda x: self.cb_use_cur_pos_as(AppCfg.DFT_POS_DET, 'in'))
p.param(AppCfg.DFT_POS_DET, 'set_out').sigActivated.connect(lambda x: self.cb_use_cur_pos_as(AppCfg.DFT_POS_DET, 'out'))
#p.param('Save/Restore functionality', 'Save State').sigActivated.connect(self.cb_save)
#p.param('Save/Restore functionality', 'Restore State').sigActivated.connect(self.cb_restore)
@@ -404,6 +416,48 @@ bit 1=2 : simulated frame trigger
def cb_valueChanging(self,param, value):
_log.debug(f'Value changing (not finalized): {param}, {value}')
def cb_use_cur_pos_as(self,dev,pos):
_log.debug(f'HERE {dev}:{pos}')
p=self._p.param(dev)
try:
twk=self.parent().tweakers
except AttributeError as e:
_log.warning('can not access tweakers to read values')
if pos=='in': #sample: just to test
p.children()[0].setValue(12.4)
elif pos=='out':
p.children()[0].setValue(14.1)
return
#['fast_y', 'fast_x', 'omega', 'base_x', 'base_z',
# 'det_z',
# 'colli_x', 'colli_y',
# 'tube_usx', 'tube_usy', 'tube_dsx', 'tube_dsy', 'tube_z',
# 'xeye_x', 'xeye_y'])
#p.children()
cld=p.children()
if dev==AppCfg.DFT_POS_PST:
# k=('x_in_us','y_in_us','x_in_ds','y_in_ds','x_out_delta','y_out_delta','z_in','z_out',)
if pos=='in':
lut=((0,'tube_usx'),(1,'tube_usy'),(2,'tube_dsx'),(3,'tube_dsy'),(6,'tube_z'))
elif pos=='out':
cld[4].setValue(cld[0].value()-twk['tube_usx'].get_val()) #x_in_us-x_us
cld[5].setValue(cld[1].value()-twk['tube_usy'].get_val()) #y_in_us-y_us
lut=((7,'tube_z'),)
elif dev==AppCfg.DFT_POS_COL:
# k=('x_in', 'y_in', 'x_out', 'y_out')
if pos=='in':
lut=((0,'colli_x'),(1,'colli_y'),)
elif pos=='out':
lut=((2,'colli_x'),(3,'colli_y'),)
elif dev==AppCfg.DFT_POS_DET:
if pos=='in':
lut=((0,'det_z'),)
elif pos=='out':
lut=((1,'det_z'),)
for i,k in lut:
cld[i].setValue(twk[k].get_val())
#def cb_save(self):
# self._state=p.saveState()