From 21811abd923065d593d70a5695216892a93270cd Mon Sep 17 00:00:00 2001 From: Thierry Zamofing Date: Thu, 18 Jan 2024 16:23:26 +0100 Subject: [PATCH] fixing coordTrf stuff and screen updating - fix sign error in transformation for z - MotorTweak.py rel_move relative to RBV not VAL - SimMotorTweak.py move emits also RBV to update objects in SwissMX - update Readme.md --- Readme.md | 105 ++++++++++++++++----------------- epics_widgets/MotorTweak.py | 13 +++- epics_widgets/SimMotorTweak.py | 2 + swissmx.py | 6 +- 4 files changed, 66 insertions(+), 60 deletions(-) diff --git a/Readme.md b/Readme.md index 25a7b30..e627177 100644 --- a/Readme.md +++ b/Readme.md @@ -1,3 +1,53 @@ +deployment and tests (update: 18.01.24) +--------------------------------------- + +Document to start SwissMX in cristallina environment: +https://docs.google.com/document/d/1yEmV_DbRBKQKVCoovjXriNgSjNEBaz50WA0l3yA5jtg/edit#heading=h.z9io692b8tow + +``` +*************************** +* push local stuff to git * +*************************** +zamofing_t@ganymede: +cd ~/Documents/prj/SwissFEL/epics_ioc_modules/ESB_MX && git commit-amend && git push psigithub +cd ~/Documents/prj/SwissFEL/epics_ioc_modules/ESB_MX/python/SwissMX && git commit-amend && git push psigithub + +************************************* +* switch to latest test environment * +************************************* +ssh zamofing_t@saresc-cons-03 + +#PRELIMINARY: + #cd /sf/cristallina/applications/mx/zamofing_t/ESB_MX + #git remote add psigithub git@git.psi.ch:epics_ioc_modules/ESB_MX.git + #cd /sf/cristallina/applications/mx/zamofing_t/ESB_MX/python/SwissMX + #git remote add psigithub git@git.psi.ch:zamofing_t/SwissMX.git + +cd /sf/cristallina/applications/mx/zamofing_t/ESB_MX/python/SwissMX +git checkout master +git stash push +#git pull psigithub --ff-only master +git reset psigithub/master --hard +git stash pop + +cd /sf/cristallina/applications/mx/zamofing_t/ESB_MX +git checkout master +git stash push +#git pull psigithub --ff-only master +git reset psigithub/master --hard +git stash pop +chmod -R g+w * + +******************* +* run application * +******************* +ssh gac-cristall@saresc-cons-03 (pw:ValToira_2021) +cd /sf/cristallina/applications/mx/zamofing_t/ESB_MX/python/SwissMX/ +# conda env list +conda activate crmx38 +python swissmx.py --sim 0xc0 +``` + pyqtgraph examples ------------------ ``` @@ -144,33 +194,6 @@ git push sf-cristallina ``` -22.6.23 deployment and tests ----------------------------- -``` -ssh zamofing_t@saresc-cons-03 -cd /sf/cristallina/applications/mx/zamofing_t/ESB_MX -git remote add psihttp https://git.psi.ch/epics_ioc_modules/ESB_MX.git - -cd /sf/cristallina/applications/mx/zamofing_t/ESB_MX/python/SwissMX -git remote add psihttp https://git.psi.ch/zamofing_t/SwissMX.git - -cd /sf/cristallina/applications/mx/zamofing_t/ESB_MX -chmod -R g+w * - - -switch to production deployment: -cd /sf/cristallina/applications/mx/zamofing_t/ESB_MX -git checkout prod -cd /sf/cristallina/applications/mx/zamofing_t/ESB_MX/python/SwissMX -git checkout prod - -switch to latest test environment: -cd /sf/cristallina/applications/mx/zamofing_t/ESB_MX -git checkout master -cd /sf/cristallina/applications/mx/zamofing_t/ESB_MX/python/SwissMX -git checkout master -``` - 22.6.23 debug segmentation fault -------------------------------- ``` @@ -327,34 +350,6 @@ constant up-dow motion code -> wait 1h ``` -05.12.23 deployment and tests (update) --------------------------------------- - -Document to start SwissMX in cristallina environment: -https://docs.google.com/document/d/1yEmV_DbRBKQKVCoovjXriNgSjNEBaz50WA0l3yA5jtg/edit#heading=h.z9io692b8tow - -``` -ssh zamofing_t@saresc-cons-03 -cd /sf/cristallina/applications/mx/zamofing_t/ESB_MX -git remote -v -psigithub git@git.psi.ch:epics_ioc_modules/ESB_MX.git -#git remote add psigithub git@git.psi.ch:epics_ioc_modules/ESB_MX.git - -cd /sf/cristallina/applications/mx/zamofing_t/ESB_MX/python/SwissMX -git remote -v -psigithub git@git.psi.ch:zamofing_t/SwissMX.git -#git remote add psigithub git@git.psi.ch:zamofing_t/SwissMX.git - -cd /sf/cristallina/applications/mx/zamofing_t/ESB_MX -chmod -R g+w * - -switch to latest test environment: -cd /sf/cristallina/applications/mx/zamofing_t/ESB_MX -git checkout master -cd /sf/cristallina/applications/mx/zamofing_t/ESB_MX/python/SwissMX -git checkout master -``` - sync and triggering ------------------- ``` diff --git a/epics_widgets/MotorTweak.py b/epics_widgets/MotorTweak.py index 22ff727..2dcaf24 100644 --- a/epics_widgets/MotorTweak.py +++ b/epics_widgets/MotorTweak.py @@ -115,11 +115,20 @@ class MotorTweak(QWidget, Ui_MotorTweak): def move_rel(self, dist): + m=self._motor + rbv=m.get_position(readback=True) try: - self._val+=dist + self._val=rbv+dist except AttributeError: pass - self._motor.move(dist, ignore_limits=True, relative=True) + m.move(self._val, ignore_limits=True, relative=False) + #old code move relative to VAL not relative to RBV + #try: + # self._val+=dist + #except AttributeError: + # pass + #self._motor.move(dist, ignore_limits=True, relative=True) + def is_done(self): m=self._motor diff --git a/epics_widgets/SimMotorTweak.py b/epics_widgets/SimMotorTweak.py index c2460d9..9ae72ca 100644 --- a/epics_widgets/SimMotorTweak.py +++ b/epics_widgets/SimMotorTweak.py @@ -111,6 +111,7 @@ class SimMotorTweak(QWidget, Ui_MotorTweak): _log.debug('{} rel move => {} {:5.4g}'.format(self._label, dist,m._pos)) self.update_label() self.emit_signals(source_field='VAL') + self.emit_signals(source_field='RBV') #force to cal track_objects() in swissmx def get_rbv(self): return self._motor._pos @@ -156,6 +157,7 @@ class SimMotorTweak(QWidget, Ui_MotorTweak): m._pos=drive self.update_label() self.emit_signals(source_field='VAL') + self.emit_signals(source_field='RBV') #force to cal track_objects() in swissmx def emit_signals(self, **kw): m=self._motor diff --git a/swissmx.py b/swissmx.py index 73500b5..07bc442 100755 --- a/swissmx.py +++ b/swissmx.py @@ -2357,8 +2357,8 @@ Author Thierry Zamofing (thierry.zamofing@psi.ch) trf2=np.asmatrix(np.identity(3)) trf2[:, :2]=trf #p1=(0,0,1)*trf2 # =matrix([[-2376.8, 1376.8, 1. ]]) um - trf3=np.matrix( ((-p[0],0,0),(-p[1],0,0),(-1000*p[2],0,1)) ) - #(0, 0, 1)*trf2*trf3 + trf3=np.matrix( ((p[0],0,0),(p[1],0,0),(1000*p[2],0,1)) ) + #(0, 0, 1)*trf2*trf3 -> z in um of gridpos(0,0) t=(trf2*trf3)[:,0].A.ravel() cz=f'{t[0]:+.18g}X{t[1]:+.18g}Y{t[2]:+.18g}' except AttributeError: @@ -2383,7 +2383,7 @@ Author Thierry Zamofing (thierry.zamofing@psi.ch) _log.info('simulated') else: comm.gpascii._cb_func=lambda i, sz:self.cb_progress(i, sz, dlg) - + #_log.critical('TEMPORARY DO NOT EXECUTE PROGRAM !!!');return if dlg.wasCanceled(): # pv-monitor-func: start monitors if not cfg.value(AppCfg.GBL_MISC)['live_on_collect']: