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:
105
Readme.md
105
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
|
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
|
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
|
sync and triggering
|
||||||
-------------------
|
-------------------
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -115,11 +115,20 @@ class MotorTweak(QWidget, Ui_MotorTweak):
|
|||||||
|
|
||||||
|
|
||||||
def move_rel(self, dist):
|
def move_rel(self, dist):
|
||||||
|
m=self._motor
|
||||||
|
rbv=m.get_position(readback=True)
|
||||||
try:
|
try:
|
||||||
self._val+=dist
|
self._val=rbv+dist
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
pass
|
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):
|
def is_done(self):
|
||||||
m=self._motor
|
m=self._motor
|
||||||
|
|||||||
@@ -111,6 +111,7 @@ class SimMotorTweak(QWidget, Ui_MotorTweak):
|
|||||||
_log.debug('{} rel move => {} {:5.4g}'.format(self._label, dist,m._pos))
|
_log.debug('{} rel move => {} {:5.4g}'.format(self._label, dist,m._pos))
|
||||||
self.update_label()
|
self.update_label()
|
||||||
self.emit_signals(source_field='VAL')
|
self.emit_signals(source_field='VAL')
|
||||||
|
self.emit_signals(source_field='RBV') #force to cal track_objects() in swissmx
|
||||||
|
|
||||||
def get_rbv(self):
|
def get_rbv(self):
|
||||||
return self._motor._pos
|
return self._motor._pos
|
||||||
@@ -156,6 +157,7 @@ class SimMotorTweak(QWidget, Ui_MotorTweak):
|
|||||||
m._pos=drive
|
m._pos=drive
|
||||||
self.update_label()
|
self.update_label()
|
||||||
self.emit_signals(source_field='VAL')
|
self.emit_signals(source_field='VAL')
|
||||||
|
self.emit_signals(source_field='RBV') #force to cal track_objects() in swissmx
|
||||||
|
|
||||||
def emit_signals(self, **kw):
|
def emit_signals(self, **kw):
|
||||||
m=self._motor
|
m=self._motor
|
||||||
|
|||||||
@@ -2357,8 +2357,8 @@ Author Thierry Zamofing (thierry.zamofing@psi.ch)
|
|||||||
trf2=np.asmatrix(np.identity(3))
|
trf2=np.asmatrix(np.identity(3))
|
||||||
trf2[:, :2]=trf
|
trf2[:, :2]=trf
|
||||||
#p1=(0,0,1)*trf2 # =matrix([[-2376.8, 1376.8, 1. ]]) um
|
#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)) )
|
trf3=np.matrix( ((p[0],0,0),(p[1],0,0),(1000*p[2],0,1)) )
|
||||||
#(0, 0, 1)*trf2*trf3
|
#(0, 0, 1)*trf2*trf3 -> z in um of gridpos(0,0)
|
||||||
t=(trf2*trf3)[:,0].A.ravel()
|
t=(trf2*trf3)[:,0].A.ravel()
|
||||||
cz=f'{t[0]:+.18g}X{t[1]:+.18g}Y{t[2]:+.18g}'
|
cz=f'{t[0]:+.18g}X{t[1]:+.18g}Y{t[2]:+.18g}'
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
@@ -2383,7 +2383,7 @@ Author Thierry Zamofing (thierry.zamofing@psi.ch)
|
|||||||
_log.info('simulated')
|
_log.info('simulated')
|
||||||
else:
|
else:
|
||||||
comm.gpascii._cb_func=lambda i, sz:self.cb_progress(i, sz, dlg)
|
comm.gpascii._cb_func=lambda i, sz:self.cb_progress(i, sz, dlg)
|
||||||
|
#_log.critical('TEMPORARY DO NOT EXECUTE PROGRAM !!!');return
|
||||||
if dlg.wasCanceled():
|
if dlg.wasCanceled():
|
||||||
# pv-monitor-func: start monitors
|
# pv-monitor-func: start monitors
|
||||||
if not cfg.value(AppCfg.GBL_MISC)['live_on_collect']:
|
if not cfg.value(AppCfg.GBL_MISC)['live_on_collect']:
|
||||||
|
|||||||
Reference in New Issue
Block a user