The controller spends virtually all of its time in the observation state. During the observation state, status_observation is TRUE and the controller observes the FPGA configuration system for indication of error conditions. If no error exists, and the controller receives a command (from either the Error Injection Interface or the Monitor Interface), then the controller processes the received command. Only two commands are supported in the observation state, the “enter idle” and “status report” commands. The controller ignores all other commands.
The “enter idle” command can be applied through either the Error Injection Interface or the Monitor Interface, and is used to idle the controller so that other commands can be performed. This command causes the controller to transition to the idle state.
The “status report” command provides some diagnostic information, and can be helpful as a mechanism to “ping” the controller. This command is only supported on the Monitor Interface.
In the event an error is detected, the controller reads additional information from the hardware in preparation for a correction attempt. After the controller has gathered the available information, it transitions to the correction state.