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

Compare with Current View Page History

« Previous Version 31 Next »

Immediate Release
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:841)
at java.util.HashMap$KeyIterator.next(HashMap.java:877)
at edu.stanford.slac.mpsgui.jdbc.logic.LogicDB.filterAlwaysEvaluatedStates(LogicDB.java:114)
at edu.stanford.slac.mpsgui.jdbc.logic.LogicDB.getCurrentStates(LogicDB.java:275)
at edu.stanford.slac.mpsgui.controller.logic.MPSLogicViewer.checkCurrentStates(MPSLogicViewer.java:161)
at edu.stanford.slac.mpsgui.controller.logic.MPSLogicViewer$1.run(MPSLogicViewer.java:38)
at java.lang.Thread.run(Thread.java:595)

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."

Faults

  • Remove the 2nd splitpane (Area/PV); have either 2 or 3 panes visible
  • Show hidden faults
    Link fault description strings to the PV names that generate them. In other words, if an item latches in the MPS, the MPS GUI and CUD display its description string, but neither one displays the name of the actual PV that is causing the fault. In order to find it, we have to guess what it might be called, and go hunting for it in the list of PVs. This is very important when we want to bypass a fault that is holding off the beam, and it is hard to figure out which obscure PV name(s) is/are causing it! This especially comes into play when doing things such as initial beam checkouts for the BAS, when we often have to bypass a large list of PICs or similar things. But it can be a problem at other times too. It should be an easy fix, but it's a critical feauture in my opinion and I would give it high priority.
    

Bypass Dialog

  • Change on both, Faults and Ignore Logic tabs
  • Allow to select any state
  • Let's drop the calendar view and simplify the interface.
  • Default to 0 for all duration values
    • If bypass time is 0, don't send any messages to MPS
  • Show truth table name in the window's title bar
  • Read-only values in table
  • Allow tabbing between duration values
    • Tab order: days -> hours -> minutes -> seconds -> days
  • Initialize window with days field selected
  • Add bypass messages to cmlog (hostname, time)

Mockup

Bypass Dialog Mockup

Interactive View

  • Use progress bar instead of spinning wheel (misinterpreted as "can't do anything")
  • Figure out why loading is slow (if database a problem, do partial loading)

Stuff

  • Convert all JTables to MpsGuiTables
  • Monitor Logic/Config changes (add refresh button)
  • MpsLe to remember previous directory
  • No labels