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
This commit is contained in:
2024-01-18 16:23:26 +01:00
parent 681d42dc2e
commit 21811abd92
4 changed files with 66 additions and 60 deletions

105
Readme.md
View File

@@ -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
-------------------
```

View File

@@ -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

View File

@@ -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

View File

@@ -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']: