The guardian core has been upgraded to new release 1.3.1. OS updates were applied on the h1guardian1 machine as well, and the machine was rebooted. All nodes but one came up fine after the reboot. The LASER_PWR node experienced an unexplained crash during startup, but was then restarted without issue. Other than some minor bug fixes, there are two main changes in this release:
The "same-state redirect", which is a feature that allows for re-executing the current state from the top if it is re-requested, is now an "opt-in", instead of enabled by default. LHO in particular was experiencing regular lock losses because of the unintuitive nature of this behavior. LLO on the other hand does use this feature in some specific instances, so we did want to keep it available in some form. So the function is still available if an edge exists from a state to itself. For example, if it was desired that STATE_A be allowed to undergo a same-state redirect, then the following could be added to the bottom of the system module, below the normal "edges" definition:
edges += [('STATE_A'), ('STATE_A')]
The will produce an edge between STATE_A and itself, which will indicate that a same-state redirect is allowed for that state.
Every guardian node now has three new status summary channels which should be useful for overall system monitoring. These channels are similar to the "OK" status summary channel in that they gather info from multiple other status channels (OP, MODE, ERROR conditions, etc.) and can be used in a "stand alone" manner. They are all binary values that are either 0=False or 1=True. The channels are:
And as a reminder, OK is the overall status bit of the node, and is expected to be True for all nodes in OBSERVING mode. It is now defined more simply as:
All of these channels are archived in the frames.
I suspect that the ACTIVE channel will be the most useful for downstream consumers, like detchar, since now if you are interested if knowing if a system is in a particular state (say 'STATE_A' with index 10) you just need to look at:
whereas previously you would need to look at:
The additional channels were necessary to verify that the node was operating normally and that therefore the state declaration was actually accurate.