wip
This commit is contained in:
@@ -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()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user