You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 65 Next »

  1. #Development
    1. #Environment
    2. #Dependencies
    3. #Run inside Eclipse
    4. #Release from Eclipse

Development

Environment

  • Effectively, you can only develop MPSGui inside Eclipse on lcls-builder.
  • Check out the CVS module physics/mps/mpsgui into your workspace
    • From now on, the root of project is referred to as $MPSGUI_ROOT

Dependencies

For library paths, see the scripts $MPSGUI_ROOT/mpsgui or $MPSGUI_ROOT/mpscud

  • ezJCA (version R0-0-10)
  • javainterfaces (current version)
  • MPS Config (current version)
    • Oracle JDBC driver
    • Sqlite JDBC driver
  • SwingUtil (current version)
    • jgoodies.jar can be added at runtime for the Matlab look & feel
  • xal4lcls
    • ext.jar (current version)
    • xal.jar (current version)

Run inside Eclipse

  • Select $MPSGUI_ROOT/src/edu.stanford.slac.mpsgui/MpsGuiLauncher
  • Right-click => select Run As... => Java Application
  • If you run the app for the first time, it should fail
    • Go to Run in the Window menu
    • Select "Open Run Dialog..."
    • Select "MpsGuiLauncher" in the window on the left
    • Select the "Arguments" tab
    • Enter

      jdbc:sqlite:/usr/local/lcls/epics/iocTop/MachineProtection/mpsConfiguration/database/
      jdbc:sqlite:/usr/local/lcls/epics/iocTop/MachineProtection/mpsConfiguration/algorithm/
      jdbc:oracle:thin:MPS_HISTORY/current_password@mccqa.slac.stanford.edu:1521:MCCQA

      in the "Program arguments" area.
    • Replace current_password with the current password (can be found in the $MPSGUI_ROOT/mpsgui script)
    • Press "Run"

Release from Eclipse

  • Update the application version in $MPSGUI_ROOT/src/edu.stanford.slac.mpsgui.MpsGuiProperties
  • Add a note in $MPSGUI_ROOT/RELEASE_NOTES
    • Increment the tag version accordingly
  • Commit to CVS
  • Tag with mpsgui-R###
  • Check out the tagged version into production

    cd $PHYSICS_TOP/release
    cvs co -r mpsgui-R### -d mpsgui-R### physics/mps/mpsgui

  • Select File => New Java project => Create project from existing source
  • Select $PHYSICS_TOP/release/mpsgui-R###
  • Name the project mpsgui-R###
  • Press "Finish"
  • Right-click on the new project mpsgui-R#-#-# => Export...
  • Select Java => JAR file
  • Check mpsgui-R### in "Resources to export"
  • Check "Export generated class files and resources"
  • As the export destination, select and/or type

    $PHYSICS_TOP/release/mpsgui-R###/jar/mpsgui.jar

Immediate Release
java.lang.NullPointerException
at edu.stanford.slac.mpsgui.controller.ignorelogic.IgnoreLogicViewer.checkCurrentIgnoreLogic(IgnoreLogicViewer.java:80)
at edu.stanford.slac.mpsgui.controller.ignorelogic.IgnoreLogicViewer$1.run(IgnoreLogicViewer.java:44)
at java.lang.Thread.run(Thread.java:595)

  • Pick up the new config/logic databases automatically

Test on lcls-dev2

mpsgui \
jdbc:sqlite:/afs/slac.stanford.edu/u/xr/snorum/ioc/mpsConfiguration/database/ \
jdbc:sqlite:/afs/slac.stanford.edu/u/xr/snorum/ioc/mpsConfiguration/algorithm/ \
jdbc:oracle:thin:MPS_HISTORY/Neutrin0!@slac-oracle02.slac.stanford.edu:1521:SLACDEV \
&
  • Ignore/unignore truth tables by writing 0 or 1 to YAGS:IN20:211:IN_LMTSW_BYPV
    caput YAGS:IN20:211:IN_LMTSW_BYPV 1 to ignore
    caput YAGS:IN20:211:IN_LMTSW_BYPV 0 to unignore
    
  • Default solution etc. is "--"

New States

  • If the truth table's state can't be found in the Logic DB, make an alert panel that shows the truth table's name, the raw state value from the IOC:BSY0:MP01:TTBLST array, and a message saying "Send the above information to the controls group."

Stuff

  • Convert all JTables to MpsGuiTables
  • MpsLe to remember previous directory
  • Make A, B, and potentially C flexible
  • No labels