Displaying report 1-1 of 1.
Reports until 10:53, Tuesday 20 May 2014
H1 SUS
jameson.rollins@LIGO.ORG - posted 10:53, Tuesday 20 May 2014 - last comment - 18:26, Tuesday 20 May 2014(11982)
changes to SUS guardian

Arnaud and I have made some changes to the SUS guardian.  We broke up the graph such that the requestable states are now idle states that don't actually change the state of the suspension:

The dark blue states, which are the requestable states, now only check the alignment and watchdog status.  The reason for this change is so that guardian being in e.g. the ALIGNED state actually indicates that suspension is fully aligned.  Previously guardian would enter the ALIGNED state, even before the offsets had fully wrapped to their alignment values.  Other guardian nodes that might be watching the SUS guardians for optic alignment would therefore be misled.  This just makes the state more explict.

I also removed the goto flag from the RESET (was SAFE) state due to a bug I discovered in guardian.  The bug is that if there is a goto on the graph, then the INIT state will not be executed.  This is something I need to fix in guardian.  In the mean time, I just made all the desired transitions explicit.

Images attached to this report
Non-image files attached to this report
Comments related to this report
jameson.rollins@LIGO.ORG - 16:24, Tuesday 20 May 2014 (11996)

I wanted to mention a couple more changes that Arnaud and I made to the main SUS guardian module:

  • Added some decorator objects for wrapping functions with common checker code.  In this case we added "watchdog_check" and "alignment_check" GuardStateDecorators.  These are now used instead of explicitly making those checks in the body of the state methods.  This makes the primary logic of the methods clearer.
  • We made "state generator functions" for states having to do with optic alignment.  These functions spit out "ALIGNING" and "ALIGNED" states for various alignment settings.  We now use these functions for creating the ALIGNING, ALIGNED, and MISALIGNING, MISALIGNED states.
  • Using the above we created a SUS_TMS.py module specifically for the somewhat odd TMS suspensions that have additional alignment states: ALIGN*_TO_PD1 and ALIGN_TO_PD4.  SUS_TMS.py inherits everything from SUS.py, creates the additional alignment states, and adds
     new edges for getting to/from those states to the reset of the graph:

Arnaud will write another follow-up comment once these changes are all committed.

Images attached to this comment
Non-image files attached to this comment
arnaud.pele@LIGO.ORG - 18:26, Tuesday 20 May 2014 (11999)

The changes were commited under the svn. Details can be found under the OpsManual

Displaying report 1-1 of 1.