The current state of the state machine is reflected by the ControlState PV. this PV is at all times writable by the user. Under certain circumstances, the state machine performs state transitions itself. The following states are defined:
|HALT||all processing is halted. New setpoint table can be written. The state machine must be explicitely brought out of HALT state by the user.|
|ARM||processing is halted. New setpoint table can be written but this automatically triggers a transition into `RUN'|
|REMOTE||setpoint table is ignored. Setpoints are accepted from the dedicated fast ethernet (fast orbit feedback).|
|RUN||the state machine is processing the tables. No new setpoints can
be written in this state. The only PVs that can be modified in
`RUN' state are ControlState, CurrInterSteps and
CurrScale. LoopIter can be changed but this only will
take effect on the next run.
After processing the setpoint table, the state machine returns to `ARM'. Processing may be aborted at any time by changing 'ControlState'.
|EVENTx||Similar to `RUN'. Processing is not started immediately, however, but only at the arrival of a synchronization event (Spear Event).|