#define PRINTF_ERR 0x8001 // a printf in code #define MARGIN_VIOLATION_ERR 0x0002 // margin zone got zapped #define FG_LOCK_ERR 0x0101 // couldn't lock the FG devices #define FG_UNLOCK_ERR 0x0102 // couldn't unlock the FG devices #define FG_NO_SUCH_FDB_ERR 0x0103 // error in finding FDB #define FG_BAD_SYCN_OBS_ID_ERR 0x0104 // bad synch in FG table #define FG_NO_SUCH_OBS_ID_ERR 0x0105 // failure finding FG obs table for ID #define FG_ILLEGAL_MASK_ERR 0x0106 // out of range mask position #define FG_NO_SUCH_GENFUNC_ERR 0x0107 // no such gen function supported #define FG_BAD_OFFSET_OBS_ERR 0x0108 // offset and nsize disagree in obs table #define FG_SHUTTER_START_ERR 0x0109 // timed out on shutter start semaphore #define FG_INTEG_START_ERR 0x0110 // timed out on integrate start semaphore #define FG_SHUTTER_CLOSE_ERR 0x0111 // timed out on shutter close semaphore #define FG_TRANSFER_TOUT_ERR 0x0112 // timed out waiting for transfer permission #define FG_EXPOSE_TOUT_ERR 0x0113 // timed out waiting for expose semaphore #define FG_LAST_READ_TOUT_ERR 0x8114 // waiting for previous FG to output #define FG_TUNABLE_FLT_ERR 0x0115 // no message #define FG_BAD_IMAGE_NUM_ERR 0x0116 // inappropiate # of images for a FG #define FG_PMU_START_STATE_ERR 0x0117 // new set but PMU state still active #define FG_B_FILTER_TOUT_ERR 0x0118 // a timeout on BFI filter wheel #define FG_N_FILTER_TOUT_ERR 0x0119 // a timeout on NFI filter wheel #define FG_FILTER_NUM_ERR 0x0120 // an illegal filter wheel position requested #define FG_SM_ZERO_ERR 0x0121 // zero words in smart memory #define FG_SM_IMPOSSIBLE_ERR 0x0122 // impossible error involving SM, see code #define FG_LOST_PENDING_ERR 0x0124 // a pending FG macro was replaced by new one #define FG_BUFFER_TOUT_ERR 0x8125 // timeout in check_fg_buf #define FG_BAD_FRAME_CNT_ERR 0x0126 // sequence frame count out of range #define FG_BAD_PACKET_CNT_ERR 0x0127 // sequence packet count out of range #define FG_RAW_FG_BUSY_ERR 0x0128 // can't rawFGpacket because output is busy #define FG_RAW_SM_READ_ERR 0x0129 // smemsize <= 1 for raw FG packet #define FG_RAW_SM_SIZE_ERR 0x0130 // raw FG packet has 0 or illegal size #define FG_TOO_MANY_PACKETS_ERR 0x0131 // error in output packet count #define FG_RAW_SM_BAD_DATA_ERR 0x0132 // raw FG packet, bad status from getData #define FG_RAW_EMIT_PACKET_ERR 0x0133 // raw FG packet, bad status from emitPacket_SP #define FG_ILLEGAL_COMP_ERR 0x0134 // illegal compression choice #define FG_BAD_NPAGES_ERR 0x0135 // pages not 1 for full readout #define FG_SHORT_NPAGES_ERR 0x0136 // readout short for full camera #define FG_PMU_SANITY_ERR 0x0137 // FG PMU obs failed sanity count #define FG_SHUTTERLESS_ERR 0x0138 // error in FG shutterless observation #define FG_MASK_TOUT_ERR 0x0139 // timeout for mask motion #define FG_BAD_FOCUS_SCAN_RANGE 0x0140 // bad focus range would hit stop #define FG_FOCUS_SCAN_TOUT 0x0141 // timeout for focus motor #define FG_TF_MOTOR_TOUT 0x0142 // timeout for TF motor #define FG_WAVE_CNT_ERR 0x0143 // wave scan count too high #define FG_NOT_NARROWBAND_ERR 0x0144 // wave scan received a broad band #define FG_LINE_NOT_UPDATABLE 0x0145 // illegal attempt to update a line #define FG_SM_READ_ERR 0x0146 // smart memory read error #define FG_SM_SHORT_ERR 0x0147 // smart memory shortfall #define FG_SM_LONG_ERR 0x0148 // smart memory length exceeds limit #define FG_BAD_TABLE_ERR 0x0149 // bad table for a shutterless FG #define FG_RATIO_MISMATCH_ERR 0x0150 // mismatched reads for ratio #define FG_BUGINRHS_ERR 0x0151 // bug in sub-image RHS #define FG_BUGINLHS_ERR 0x0152 // bug in sub-image LHS #define FG_SHUTTERLESS_TOUT_ERR 0x0153 // timeout waiting for PMU state machine #define FG_SIDE_ERR 0x0154 // side consistency error in sendFGhkPacket #define FG_HK_TOUT_ERR 0x8155 // waiting for last HK Packet #define FG_SIDE_CONFIG_ERR 0x0156 // side consistency error from smem config #define FG_EMI_ERR 0x0157 // attempt to run obsolete EMI macro command #define FG_PMU_BUF_OVRF_ERR 0x0158 // overflow in the PMU image header buffer #define FG_EXP_BUF_OVRF_ERR 0x0158 // overflow in the shuttered header buffer #define FG_BAD_MC 0x0159 // bad macro command detected #define FG_BAD_FRAME_CNT_ERR 0x0160 // sequence frame count out of range #define FG_GEN_FUNC_ERR 0x0161 // generating function returned with an error #define FG_GEN_STOP_ERR 0x8162 // generating function returned because of STOP #define FG_BAD_CUTOUT_ERR 0x0163 // bad image cutout, should not happen #define FG_BAD_4BUF_CUTOUT_ERR 0x0164 // bad image cutout for 4 buffer mode #define SP_LOCK_ERR 0x0201 // couldn't lock the SP devices #define SP_UNLOCK_ERR 0x0202 // couldn't unlock the SP devices #define SP_EXTRACT_SIZE_ERR 0x0203 // bad extract table #define SP_PMU_START_STATE_ERR 0x0204 // new set but PMU state still active #define SP_FRAME_SYNCH_ERR 0x0205 // problem with first camera reads #define SP_ACCUM_TOUT_ERR 0x0206 // no message #define SP_SLIT_TOUT_ERR 0x0207 // slit timed out #define SP_TOO_MANY_PACKETS_ERR 0x0208 // error in output packet count #define SP_SIDE_ERR 0x0209 // side consistency error in outputSP #define SP_HK_ERR 0x0210 // problem with HK packet in outputSP #define SP_MEM_SIZE_ERR 0x0211 // not expected amount of smart memory #define SP_I_BUG_ERR 0x0212 // bug in SP I image #define SP_SM_SHORT_ERR 0x0213 // smart memory shortfall #define SP_SM_READ_ERR 0x0214 // smart memory read error #define SP_SM_COLUMN_ERR 0x0215 // smart memory column is too small #define SP_EMIT_PACKET_ERR 0x0216 // error in emitPacket_SP #define SP_RAW_SP_BUSY_ERR 0x0217 // can't rawSPpacket because outputSP_busy is on #define SP_RAW_SM_READ_ERR 0x0218 // smemsize <= 1 for raw SP packet #define SP_RAW_SM_SIZE_ERR 0x0219 // raw SP packet has 0 or illegal size #define SP_RAW_SM_BAD_DATA_ERR 0x0220 // raw SP packet, bad status from getData #define SP_RAW_EMIT_PACKET_ERR 0x0221 // raw SP packet, bad status from emitPacket_SP #define SP_OUTPUT_TOUT_ERR 0x8222 // waiting for previous SP output #define SP_LOST_PENDING_ERR 0x0223 // a pending SP macro was replaced by new one #define SP_BAD_FRAME_CNT_ERR 0x0224 // sequence frame count out of range #define SP_BAD_PACKET_CNT_ERR 0x0225 // sequence packet count out of range #define SP_SLIT_SETUP_ERR 0x0226 // slit problem in setup #define SP_SLIT_WAIT_ERR 0x0227 // slit problem in SLITWAIT state #define SP_REF_UPDATE_ERR 0x0228 // timeout getting ref update semaphore #define SP_IMAGE_BUF_OVRF_ERR 0x0229 // overflow in the image header buffer #define SP_SLIT_LOST_ERR 0x0230 // expected and encoder position differ > 5 #define SP_BAD_FRAME_CNT_ERR 0x0231 // mismatch with expected frame count #define SP_SPCRASH_ERR 0x0232 // SPcrash recovery called #define SP_BADSCALE_ERR 0x0233 // bad smart memory table (used for scaling) #define SP_OUTPUT_TOUT2_ERR 0x8234 // timeout while in SLITWAIT but slit OK #define CM_INV_OPCODE_ERR 0x0302 // invalid opcode #define CM_CMD_LEN_ERR 0x0303 // inconsistent command length #define CM_INV_LEN_ERR 0x0304 // invalid command length (doesn't match data base) #define CM_CR_CMD_DIS_ERR 0x0305 // error in critical command enable #define CM_DUMP_BUSY_ERR 0x8306 // IDLE != DumpBlk.dumpStatus() #define CM_DIAG_CMD_ERR 0x8307 // not used? #define CM_MEMLD_ADR_ERR 0x0308 // FPP_UPLOAD_EEPROM, bad address #define CM_TOO_MANY_CHANS_ERR 0x8309 // too many diagnostic channels #define CM_TIMEOUT_ERR 0x8310 // no command for 6 seconds (FEP down?) #define CM_HRDUMP_ERR 0x0311 // Error in dumping data via high rate #define CM_CMDLEN_GT_133 0x0312 // command received length is greater than 133 bytes #define CM_HRDUMP_NOT_DONE 0x0313 // previous memory dump packet still pending, this one skipped #define CT_NO_JITTER_BUF_ERR 0x0601 // no buffer available for jitter output #define CT_NO_AUGJITTER_BUF_ERR 0x0602 // no buffer available for augmented jitter output #define CT_ALIVE_ERR 0xA603 // not really an error, CT just came alive #define CT_DIED_ERR 0x0604 // watcher noticed that CT is dead #define CT_REF_NOTSENT_ERR 0x8606 // a ready ref CT image not sent #define CT_REF_REJECT_ERR 0x0607 // a ref CT image had bad line count #define CT_LIVE_REJECT_ERR 0x0608 // a live CT image had bad line count #define CT_FRAME_CNT_ERR 0x0609 // bad CT frame counts, DMA mismatch? #define CT_SHORT_INTERVAL_ERR 0x610 // a short interval since last CT interrupt #define CT_LONG_INTERVAL_ERR 0x0611 // a very long interval since last CT interrupt #define CT_PMU_SYNCH_ERR 0x0612 // a PMU isr request not processed in time #define CT_NOT_ALIVE_ERR 0x0613 // a CT cmd refused because CT is not running #define CT_NOT_ON_ERR 0x0614 // a CT cmd refused because CT is not even on #define MC_PMU_PHASE_ERR 0x0801 // PMU phase does not match expected phase #define MC_INV_DEVNUM_ERR 0x0802 // Invalid device number (> 16) #define MC_INV_CMD_ERR 0x0803 // Unrecognized motor command, p1=opcode,p2=motor type #define MC_INV_DEVTYP_ERR 0x0804 // Invalid device type #define MC_INV_PRM_ERR 0x0805 // Invalid parameter,p1=devtype,p2=prm#,p3,p4=inv prms #define MC_DEV_ERR 0x0806 // device error (locked ?) #define MC_BAD_SLIT_ERR 0x0807 // bad state when entering move method #define MC_PTR_CORRUPTED 0x0808 // Linear motor pointer corrupted #define MC_LINMTR_TOUT_ERR 0x0809 // timeout while stepping linear motor #define MC_SSC_TIMOUT 0x080A // timeout during slit centering operation #define MC_SS_CENTERED 0x8801 // Slit Scan Mechanism Centered #define DI_NO_DIAG_BUF_ERR 0x2001 // no buffer available for diagnostics output #define DI_ALREADY_ON_ERR 0xA002 // a diagnostic mode already in progress #define DI_NO_VALID_CHAN_ERR 0xA003 // no valid channel #define CA_DOEXP_BLOCKED_ERR 0x9001 // doExp blocked by a running macro command #define CA_DOEXP_FG_TOUT_ERR 0x1002 // FG doExp timed out on expose semaphore #define CA_DOEXP_SP_TOUT_ERR 0x1003 // SP doExp timed out on expose semaphore #define CA_FG_NOFFLAG_ERR 0x1004 // FG doExp timed out on frame flag #define CA_SP_NOFFLAG_ERR 0x1005 // SP doExp timed out on frame flag #define CA_BAD_CAMERA_ERR 0x9006 // the camera # is out of range #define CA_NO_SUCH_CMD_ERR 0x1007 // an invalid command #define CA_CAM_WAS_LOCKED_ERR 0x9008 // the requested camera was locked #define CA_ILLEGAL_CT_ERR 0x1009 // an illegal command for CT #define CA_ILLEGAL_CNFG_ERR 0x1010 // an illegal camera configuration #define CA_ILLEGAL_ROI_ERR 0x9011 // bad ROI start/stop combination #define CA_SHUTTER_CLOSE_ERR 0x1012 // timed out on shutter close semaphore #define CA_FG_PENDING_ERR 0x9013 // already a FG camera read pending? #define CA_SP_PENDING_ERR 0x9014 // already a SP camera read pending? #define CA_LOCK_ERR 0x9015 // camera command rejected because locked #define CA_FG_MACRO_LOCK_ERR 0x9016 // FG macro running #define CA_SP_MACRO_LOCK_ERR 0x9017 // SP macro running #define OS_MACRO_SIZE_ERR 0x0A01 // unexpected macro command size #define RF_FRM_COUNT1_ERR 0x0b01 // Frame count did not change after 1000 checks #define RF_FRM_COUNT2_ERR 0x0b02 // Frame count did not change after 1000 checks #define RF_DN_LOW_ERR 0x0b03 // Possible causes: 1. CT operation during night or SAA ==> sloppy but harmless #define RF_OVERFLOW_ERR 0x0b04 // Sums Overflow error #define RF_SRU_TIMEOUT_ERR 0x0b05 // Possible causes: 1. CT ref frame time out due to insuffucient wait after prior sequence ==> sloppy but harmless #define SMART_MEM_READ_ERR 0x2101 // smart memory read error #define SMART_MEM_ALIGN_ERR 0x2102 // smart memory alignment error #define SMART_MEM_DEST_ERR 0x2103 // smart memory destination error #define SMART_MEM_COUNT_ERR 0x2104 // smart memory count error #define SMART_MEM_ALIGN2_ERR 0x2105 // smart memory alignment 2 error #define SMART_MEM_UNKNOWN_ERR 0x2106 // smart memory unknown error #define SMART_MEM_SIDE_ERR 0x2107 // smart memory unknown error #define SMART_MEM_RETRY_LMT_ERR 0x2108 // DMA could not be started after 5 tries #define SMART_MEM_BUSY_ERR 0x2109 // DMA still active, retrying #define SMART_MEM_INC_ERR 0x2110 // DMA incomplete or aborted #define SMART_TOOLONG_ERR 0x2111 // not enough time for DMA #define SMART_CMD_OVRFLW_ERR 0x2112 // too many command requests #define SMART_CONFIG_ERR 0x2113 // config not successful #define SMART_MEM_SYNCH_ERR 0x2114 // command count changed in queue #define SMART_MEM_CMD_ERR 0x2115 // timeout for a queued command #define SMART_MEM_DEAD_DMA_ERR 0x2116 // timeout on Smart Memory DMA #define SMART_MEM_ILLEGAL_ERR 0x2117 // illegal command in queue #define BAD_DEADBAND_ERR 0x1401 // bad deadbands, lo > hi #define THERM_READ_ERR 0x1402 // Bad thermister reading (0) #define THERM_INDX_ERR 0x1403 // Bad thermister in alogMon #define DMA_RETRY_LMT_ERR 0x1901 // DMA could not be started after 10 tries #define DMA_SRC_ADR_ERR 0x1902 // DMA source address error #define DMA_DEST_ADR_ERR 0x1903 // DMA destination address error #define DMA_MEMBASE_ERR 0x1904 // DMA base address error #define DMA_BUSY_ERR 0x1905 // DMA still active, retrying #define DMA_INCOMPLETE 0x1906 // DMA incomplete or aborted #define DMA_REQ_TIMEOUT 0x1907 // Timed out waiting for semaphore from dmaMg #define DMA_CNT_ERR 0x1908 // Timed out waiting for semaphore from dmaMg #define DMA_SRC_RANGE_ERR 0x1909 // bad address in SCIF buffer #define DMA_SRC_ALIGN_ERR 0x1910 // bad alignment in SCIF buffer #define DMA_TOOLONG_ERR 0x1911 // not enough time for scif dma #define DMA_STATE_ERR 0x1912 // mdState error, an internal error #define SCIF_PREP_FILL_ERR 0x1913 // not enough time for scif dma #define SCIF_DEAD_DMA_ERR 0x1914 // timeout on SCIF DMA #define SCIF_SEND_SYNCH_ERR 0x1915 // Sendflag was never cleared before next #define SCIF_DEAD_SEND_ERR 0x9916 // timeout on SCIF Send #define SCIF_HK_SIZE_ERR 0x1917 // bad size for HK packet #define SCIF_HK_TIMEOUT_ERR 0x1918 // timeout for HK packet #define SCIF_HK_ALIGN_ERR 0x1919 // buffer alignment error #define SCIF_HK_STATUS_ERR 0x1920 // HK SCIF status error #define SCIF_SEND_LOCK_ERR 0x1921 // HK SCIF send lock error #define HK_ANALOG_TIMEOUT_ERR 0x1922 // timeout in getAnalog #define HK_SEMAPH_TIMEOUT_ERR 0x1923 // timeout in getAnalog semaphore #define HK_BAD_RDYBIT_ERR 0x1924 // bit didn't zero in getAnalog #define SCIF_PCK_SIZE_ERR 0x1925 // packet size mismatch #define CTL_INV_ACTIVE_TASKS 0x1701 // The number of active tasks is < 21 #define CTL_TASK_SUSPENDED 0x1702 // Task has become suspended #define EXC_ERROR 0x1721 // Exception error #define DMAMG_BEHIND_ERR 0xA201 // dmaMg counter lagging CT_Counter #define DMAMG_AHEAD_ERR 0xA202 // dmaMg counter ahead of CT_Counter #define DMAMG_MSG_ERR 0x2203 // dmaMg error with message receive #define DMAMG_SEMAPHORE_ERR 0x2204 // dmaMg bad semaphore given or ? #define DMAMG_TOOLONG_ERR 0xA205 // dmaMg delayed too long, skip this one #define EEPROM_OP_OK 0x8000 // EEPROM operation completed OK #define EEPROM_OP_ERR 0x8FFF // EEPROM operation error