SERIAL INTERFACE DEVELOPERS GUIDE
opportunity. In other words if the host intends on changing the current AGC mode and have that
mode restored on subsequent boots – then two writes are required. The first to change the global
data structure and then a second to force an update of the nonvolatile RAM.
6.4 Process Code Detection (CAMERA_STATUS)
During various routines, during normal operation, the embedded software will set a process codes.
This code can be read by the host application to indicate why a camera may not be responding as
desired. For example when the host requests a change in operational modes that triggers a change in
the TEC setting, the camera may delay (freeze) for a minute or two while the TEC is allowed to
stabilize. The code is located in the ‘ProcessCode’ member of the CAMERA_STATUS data structure.
The current process codes are listed below.
/* Process Code Enumerations */
enum
{
PRC_UNDETERMINED = 0,
PRC_FPGA_TESTS,
PRC_OP_TESTS,
PRC_MEM_TESTS,
PRC_VIDENC_TESTS,
PRC_TEC_STABILIZING,
PRC_CAM_READY
};
6.5 Progress Code Detection (CAMERA_STATUS)
As the embedded software initializes hardware, performs built-in tests, and then enters the main
operational loop, it sets progress codes. Reading the codes allows the host to detect the software’s
progress towards start of normal operation. The code is located in the ‘ProgressCode’ member of the
CAMERA_STATUS data structure.
The current progress codes are listed below.
/* Progress Code Enumerations */
enum
{
UNDETERMINED = 0,
UNCONFIGURED_CONTROLLER,
FAULT_DETECTED,
MAIN_START,
DRIVERS_INITIALIZED,
GLOBALS_INITIALIZED,
SYSTEM_RESET,
BOARD_ID_CONFIRM,
FPGA_PROGRAMMED,
FPGA_REGISTER_TEST,
CAMERA_OP_TEST_SETUP,
INIT_FPA_SUPPORT_PWR,
TEC_DRIVE_INITIALIZED,
SYSTEM_TESTS_COMPLETE,
CAL_FLAG_INITIALIZED,
ENTERING_MAIN_LOOP,
PALETTES_LOADED,
OP_MODE_LOADED,
OVERLAY_INITIALIZED,
TEC_STABILIZED,
CAMERA_READY
};
It is not required to take any action when reading these values but the host should not begin intensive
communications with the camera until it has detected the CAMERA_READY progress code. This
code is set just before entering the main processing loop (normal operation).
30