Sheila, Camilla, follow on from 82640.
We made some more changes to SQZ_MANGER to hopefully simplify it:
- Added state SQZ_ANG_SERVO (number 69) and it's edges that requests guardian SQZ_ANG_ADJUST to turn on if flag is set and waits for it tuo turn on. Note that this could take some time as SQZ_ANG_ADJUST will not turn on until OMC_WHITENIONG is on so waits for ISC_LOCK to be at or past state 600. Now this isn't continually reset by FREQ_DEP_SQZ.
- FREQ_DEP_SQZ will always return true but will notify if:
- ASC flag is true but ASC not on
- SQZ ANG servo is true but servo not on
- SQZ ang is outside of 150-250deg range: this normally means sqz is bad and has ran away
- These notifications will knock us out of observing but will only come on when SQZ is in a non-nominal state
- Changed FC_locked() checker to only return True if FC fully locked at IR_LOCKED, also edited BEAMDIV_OPEN_FDS to not use the checker.
- FREQ_DEP_SQZ has the FC_checker in it rather than explicitly checking that the FC is in IR_LCOKED, if it isn't it will go back to FC_WAIT_FDS, not all the way down.
- Removed SQZ_checker() as it wasn't used and is mostly a duplicate of OPO_checker()
- Added OPO_checker to SQZ_ASC states
- Added a checker to SQZ_ASC states that will not return True unless the ASC is on
- Simplified MISALIGN_FC
- Also removed some commented out lines and changed some lines from ezca.read('GRD-SQZ_FC_STATE_S', as_string=True) == 'FC_MISALIGNED' to nodes['SQZ_FC'] == 'FC_MISALIGNED' or nodes['SQZ_FC'].arrived and nodes['SQZ_FC'].done
- Added weighted edge between FREQ_INDEP_SQZ and FC_WAIT_FDS: now we should be able to request backwards and forwards between FIS and FDS.
Saved and added to svn but not loaded.
Once reloaded, as states have been changed, any open SQZ_MANAGER medm's should be closed and reopened.
I did load this today, there don't seem to have been any issues in this lock.