fix tracking object bugs after collection

This commit is contained in:
2022-09-19 09:22:28 +02:00
parent a1ceef7de9
commit 21afed9739
5 changed files with 54 additions and 15 deletions

View File

@@ -742,8 +742,8 @@ class WndSwissMx(QMainWindow, Ui_MainWindow):
#self.tweakers["fast_x"].event_readback.connect(lambda alias, value, kw: self.fast_x_position.emit(value))
#self.tweakers["fast_y"].event_readback.connect(lambda alias, value, kw: self.fast_y_position.emit(value))
self.tweakers["fast_x"].event_val.connect(lambda rec_name, kw: self.track_objects())
self.tweakers["fast_y"].event_val.connect(lambda rec_name, kw: self.track_objects())
self.tweakers["fast_x"].event_rbv.connect(lambda rec_name, kw: self.track_objects())
self.tweakers["fast_y"].event_rbv.connect(lambda rec_name, kw: self.track_objects())
# layout.addStretch()
def cb_marker_moved(self,obj,*args,**kwargs):
@@ -1277,8 +1277,8 @@ class WndSwissMx(QMainWindow, Ui_MainWindow):
twk_fx=self.tweakers["fast_x"];twk_fy=self.tweakers["fast_y"]
# TODO: get_position() is delayed as it is the RBV. do same as for the zoom
# TODO: and return the last set_point
fx=twk_fx.get_val()
fy=twk_fy.get_val()
fx=twk_fx.get_rbv()
fy=twk_fy.get_rbv()
try:
grp=self._goTracked
grpTrc=self._goTrace
@@ -1295,7 +1295,10 @@ class WndSwissMx(QMainWindow, Ui_MainWindow):
grpTrc.setZValue(-20) #lower than other objects
self.vb.addItem(grpTrc)
_log.debug(f"zoom:{zoom_old}->{zoom} fx:{fx_old}->{fx} fy:{fy_old}->{fy}")
try:
_log.debug(f"zoom:{zoom_old}->{zoom:d} fx:{fx_old:.3f}->{fx:.3f} fy:{fy_old:.3f}->{fy:.3f}")
except TypeError:
_log.debug(f"zoom:{zoom_old}->{zoom} fx:{fx_old}->{fx:.3f} fy:{fy_old}->{fy:.3f}")
if zoom_old!=zoom:
geo.interp_zoom(zoom)
@@ -1993,13 +1996,13 @@ Author Thierry Zamofing (thierry.zamofing@psi.ch)
v=geo.pos2pix((23, 0))
l=np.linalg.norm(v)
l=23
go=UsrGO.FixTargetFrame((fx-l/2,fx-l/2), (l, l), tpl='23.0x23.0')
go=UsrGO.FixTargetFrame((fx-l/2,fy-l/2), (l, l), tpl='23.0x23.0')
elif idx==3:
w,h=(.120*12, .120*8)
go=UsrGO.FixTargetFrame((fx-w/2,fx-h/2), (w, h), tpl='test')
go=UsrGO.FixTargetFrame((fx-w/2,fy-h/2), (w, h), tpl='test')
elif idx==4:
w,h=(30, 22)
go=UsrGO.Grid((fx-w/2,fx-h/2), (w, h), (30, 22), .1)
go=UsrGO.Grid((fx-w/2,fy-h/2), (w, h), (30, 22), .1)
else:
_log.error('index not handeled')
@@ -2064,6 +2067,7 @@ Author Thierry Zamofing (thierry.zamofing@psi.ch)
cfg = app._cfg
dt_misc = cfg.value(AppCfg.DT_MISC)
#_log.critical('abort for test');return # RET
geo = app._geometry
fn='/tmp/shapepath'
try: