I spent some time working on the ISC guardians today, in the hope that we could save ourselves alot of mindless clicking in the coming week. The users guide:
Now there is a generator for states where we sweep some channel and search for the transmitted light, which is used by both COMM and DIFF for a coarse then a fine sweep. This is slow but does work, and will be faster than doing it by hand. After COMM finds the resonance, it is now resetting the VCO set frequency, so that when the set frequency offset is 0, the arms are on resonance. However, there is some kind of a bug in the beckhoff that causes an error in the VCO after this. I will look into it tomorrow, since I try not to work on beckhoff on the weekends.
There is another bug, either in the IMC_LOCK guardian, the node manager, or the way that I am trying to use the node manager. When the IMC goes to its fault state (which usually happens because the FSS has dropped lock) it gets stuck there and won't move on. Dan pointed out that one difference between this and other transitions that seem to be working fine, is that the arrow goes from the fault state to INIT. We tried having it return 'INIT' instead of return True with an edge to INIT, this didn't work either (It got to down and just didn't move on from there).
I've added a goto state called bring_down_nicely to the DIFF guardian. The current DIFF down state gives the suspensions a terrible kick, I think this is not necessary.
The issue you're seeing with the managed IMC_LOCK node is the intended behavior of "MANAGED" nodes. When a managed node undergoes a jump transition, it goes into a "stalled" state whereby it waits for a new request from before proceeding along it's path. This gives the manager a chance to react and coordinate the actions of the subordinate with other subrodinates.
There are two solutions:
I've thought about this before, and I think there is a definite need to have a "watching only" manager mode that doesn't put the subordinate into MANAGED mode, but allows the manager to monitor it's progress with the same NodeManager interface. I'll work on adding that to the next guardian release.