Setup
Environment
- Effectively, you can only develop MPSConfig inside Eclipse on lcls-builder.
- Check out the CVS module physics/mps/mpsconfig into your workspace
- From now on, the root of project is referred to as $MPSCONFIG_ROOT
Dependencies
- ezJCA (version R0-0-10)
- javainterfaces (current version)
- Oracle JDBC driver (under $MPSCONFIG_ROOT/lib/)
- Sqlite JDBC driver (under $MPSCONFIG_ROOT/lib/)
- xal4lcls
- ext.jar (current version)
- xal.jar (current version)
Test inside Eclipse
- To test your changes, you can run the MPS GUI
- Check out the MPSGui project
- Add the MPSConfig project to MPSGui's build path
- Remove the library mpsconfig.jar from MPSGui's build path
- Run MPS GUI inside Eclipse
Development
Design
Features
- Loads all data from Config/Logic DB
-
- JDBC url for Config DB: jdbc:sqlite:/usr/local/lcls/epics/iocTop/MachineProtection/mpsConfiguration/database/current_version/mpsdb.sqlite3
- current_version is stored in PV IOC:BSY0:MP01:DBVERS
- JDBC url for Logic DB: jdbc:sqlite:/usr/local/lcls/epics/iocTop/MachineProtection/mpsConfiguration/database/current_version/mpsdb.sqlite3
- current_version is stored in PV IOC:BSY0:MP01:ALGRNAME
- Checks periodically for new versions
- JDBC url for Config DB: jdbc:sqlite:/usr/local/lcls/epics/iocTop/MachineProtection/mpsConfiguration/database/current_version/mpsdb.sqlite3
- Monitors current Macro states
- Bypasses faults to a value for a time duration
- Monitors bypassed faults and end times
- Given a fault name, gets current state, type, and timestamp
of the fault - Gets beam rates (MPS and actual)
- Translates between EPICS and Java time
Config/Logic DB versions
Release with Eclipse
- Add a note in $MPSGUI_ROOT/RELEASE_NOTES
- Increment the tag version accordingly
- Commit to CVS
- Tag with mpsconfig-R#-#-#
- Check out the tagged version into production
cd $PHYSICS_TOP/release cvs co -r mpsconfig-R#-#-# -d mpsconfig-R#-#-# physics/mps/mpsconfig
- Select File => New Java project => Create project from existing source
- Select $PHYSICS_TOP/release/mpsconfig-R#-#-#
- Name the project mpsconfig-R#-#-#
- Press "Finish"
- Right-click on the new project mpsconfig-R#-#-# => Export...
- Select Java => JAR file
- Check mpsconfig-R#-#-# in "Resources to export"
- Check "Export generated class files and resources"
- As the export destination, type (and/or select)
$PHYSICS_TOP/release/mpsconfig-R#-#-#/jar/mpsconfig.jar
- Press "Finish"
- Move the symbolic link
cd $PHYSICS_TOP/ rm -rf mpsconfig; ln -s release/mpsconfig-R#-#-# mpsconfig
- Launch MPS GUI from lclshome
- MPS Global => MPS GUI...
- MPS Global => MPS CUD...