Files
SwissMX/Readme.md

105 lines
3.7 KiB
Markdown

SwissMX
=======
SwissMX is a python application to operate the SwissMX system at cristallina:<br/>
![alt text](SwissMX.jpg "Title")
Repositories and dependencies (update:23.09.24)
-----------------------------------------------
|repo |`https://git.psi.ch/`|`~/Documents/prj/SwissFEL/`|description|
|:- |:- |:- |:- |
|SwissMX |[grp-sf_cristallina/SwissMX.git](https://git.psi.ch/grp-sf_cristallina/SwissMX) |apps/SwissMX |Main python user interface fro SwissMX|
|PBSwissMX|[grp-sf_cristallina/PBSwissMX.git](https://git.psi.ch/grp-sf_cristallina/PBSwissMX) |apps/PBSwissMX |PowerBrick documents and tool to generate trajectories and motion programs for SwissMX|
|PBTools |[epics_support_apps/PBTools.git](https://git.psi.ch/epics_support_apps/PBTools) |PBTools |packages needed by PBSwissMX for low level communication to PowerBrick|
|ppmac |[epics_support_apps/ppmac.git](https://git.psi.ch/epics_support_apps/ppmac) |PBTools/ppmac |packages needed by PBTools for lowest level communication to PowerBrick|
|SW_MX |[epics_ioc_modules/SW_MX.git](https://git.psi.ch/epics_ioc_modules/SW_MX) |epics_ioc_modules/SW_MX |IOC modules and `generate.py` for all SwissMX motors|
```mermaid
flowchart BT
PBSwissMX --> SwissMX
PBTools --> PBSwissMX
ppmac --> PBTools
SW_MX-->PBSwissMX
```
<!--
```mermaid
%% info
%%``` -->
#### installation location
|repo | installed at
|:- |:-
|SwissMX | /sf/cristallina/applications/SwissMX/
|PBSwissMX| /sf/cristallina/applications/SwissMX/PBSwissMX/
|PBTools | /sf/cristallina/applications/SwissMX/PBTools/
|ppmac | /sf/cristallina/applications/SwissMX/PBTools/ppmac/
|SW_MX | /ioc/modules/SW_MX/ and ioc directories
#### related documentation
- additional module `slic` is needed, which is provided by Sven and covers the JungFrau acquisition framefork
- For **motion/frame synchronization** read: [grp-sf_cristallina/PBSwissMX.git:Readme.md](https://git.psi.ch/grp-sf_cristallina/PBSwissMX/-/blob/master/Readme.md)
- For old but still usefull information read the [Log.md](Log.md) file
- [SFELPHOTON-1337](https://jira.psi.ch/browse/SFELPHOTON-1337): ticket about restructuing repositories
---
deployment and tests (update: 31.10.24)
---------------------------------------
#### push local stuff to git
```
zamofing_t@ganymede:
cd ~/Documents/prj/SwissFEL/apps/SwissMX &&\
git commit-amend &&\
git push psigithub -f
cd ~/Documents/prj/SwissFEL/apps/PBSwissMX &&\
git commit-amend &&\
git push psigithub -f
```
#### switch to latest test environment
```
ssh saresc-cons-03
cd /sf/cristallina/applications/SwissMX &&\
git checkout master &&\
git stash push &&\
git fetch psigithub master &&\
git reset psigithub/master --hard &&\
git stash pop
#git pull psigithub --ff-only master
cd /sf/cristallina/applications/SwissMX/PBSwissMX &&\
git checkout master &&\
git stash push &&\
git fetch psigithub master &&\
git reset psigithub/master --hard &&\
git stash pop
#git pull psigithub --ff-only master
chmod -R g+w /sf/cristallina/applications/SwissMX
```
#### run application
```
*** with official python ***
additionally needed packages:
RH7:
[saresc-vcons-01 ~]$ /opt/gfa/python-3.8/latest/bin/pip install --user qtawesome
RH8:
[saresc-cons-03 ~]$ pip install --user qtawesome
swissmx
*** with conda environment ***
ssh gac-cristall@saresc-cons-03 (pw:ValToira_2021)
cd /sf/cristallina/applications/SwissMX/
# conda env list
conda activate crmx38
python swissmx.py --sim 0xc0
```
Document to start SwissMX in cristallina environment (maintained by John):
https://docs.google.com/document/d/1yEmV_DbRBKQKVCoovjXriNgSjNEBaz50WA0l3yA5jtg/edit#heading=h.z9io692b8tow