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.
I wanted to mention a couple more changes that Arnaud and I made to the main SUS guardian module:
Arnaud will write another follow-up comment once these changes are all committed.
The changes were commited under the svn. Details can be found under the OpsManual