- Requirements
- Schedule
Ignore Logic
New States
- Truth table is an ignoring table
- Truth table is ignoring state = MPSTruthTableIgnoreIgnoring = 201 = -55
- Truth table is not ignoring state = MPSTruthTableIgnoreNotIgnoring = 200 = -56
- Truth table has an invalid state
- state = MPSTruthTableStateInvalid = 203 = -53
- Truth table is not ignored
- state = truth table's state
- Truth table is ignored
- state = 0x80 | (truth table's state)
Therefore, if the truth table's state is not 200, 201, or 203 (-56, -55, -53) the truth table's state is 0x7F & (truth table state) and whether or not it is ignored is 0x80 & (truth table state).
- 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."
- Documentation
- Highlight new truth table state when selected
Mockup
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 "--"
Faults
- Remove the 2nd splitpane (Area/PV); have either 2 or 3 panes visible
Logic
- Add rate to ignored states
- Say "Ignored/State" for ignore states
Bypass Dialog
- Let's drop the calendar view and simplify the interface.
- Default to 0 for all duration values.
- 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 hours field selected
- Add bypass messages to cmlog (hostname, time)
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)