/* APXS CWA EDR HEADER OBJECT */ OBJECT = COLUMN NAME = CONTACT_SWITCH DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 1 BYTES = 4 OBJECT = BIT_COLUMN NAME = UNUSED BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 1 BITS = 28 DESCRIPTION = "These bits are undefined." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = CONTACT_SWITCH_2_TRIGGERED BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 29 BITS = 1 DESCRIPTION = "Indicates if contact switch 2 was triggered." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = CONTACT_SWITCH_1_TRIGGERED BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 30 BITS = 1 DESCRIPTION = "Indicates if contact switch 1 was triggered." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = CONTACT_SWITCH_2_ENABLED BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 31 BITS = 1 DESCRIPTION = "Indicates if contact switch 2 was enabled." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = CONTACT_SWITCH_1_ENABLED BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 32 BITS = 1 DESCRIPTION = "Indicates if contact switch 1 was enabled." END_OBJECT = BIT_COLUMN END_OBJECT = COLUMN OBJECT = COLUMN NAME = DP_TURRET_TEMP DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 5 BYTES = 4 DESCRIPTION = "Temperature of the turret at data product creation. (Raw counts (need conversion) or deg C)" END_OBJECT = COLUMN OBJECT = COLUMN NAME = GROUP_ID DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 9 BYTES = 2 DESCRIPTION = "Identification number of the CYCLE_START data product containing rover state information." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CMD_REPLY_FRAME_LENGTH DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 11 BYTES = 4 DESCRIPTION = "APXS instrument Command Reply Frame length in bytes." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CMD_REPLY_CONTROL_AND_STATUS DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 15 BYTES = 4 OBJECT = BIT_COLUMN NAME = OPCODE BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 1 BITS = 8 DESCRIPTION = "Opcode." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = ERROR_CONTROL_TYPE BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 9 BITS = 2 DESCRIPTION = "The type of error control algorithm applied by the Instrument Transfer Frame. Valid: 0=reserved. 1=The CRC error control algorithm was applied and placed in the error control field at the. end of the frame. 2= The fletcher checksum error control algorithm was applied and placed in the error control field at the end of the frame. 3=No error control algorithm was applied and no error control field is included." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = DATA_PRESENT_FLAG BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 11 BITS = 1 DESCRIPTION = "Indicate the presence or absence of both the Header Field Data Length and the Instrument Transfer Frame Data Field. A value of '0' indicates the Header Field Data Length and the Instrument Transfer Frame Data Field are not present; a value of '1' indicates the Header Field Data Length and Instrument Transfer Frame Data Field are present." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = FRAME_TYPE BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 12 BITS = 1 DESCRIPTION = "Frame type. 0=Science Data Frame 1=Command Reply Frame" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = AVERAGE_X_RAY_RATE BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 13 BITS = 3 DESCRIPTION = "Indicates the average X-Ray Rate. Valid in Acquisition mode or thereafter: Valid: 0: no X-Ray data detected 1: 1<=rate<10, sensor not properly deployed (atmospheric rate 3) 2: 10<=rate<50, Sensor head far from sample 3: 50<=rate<120, large offset, similar to MER 4: 120<=rate<300,likely nominal measurements 5: 300<=rate<600, Sensor head very close to sample 6: 600<=rate<1500, very close or strange sample 7: rate>= 1500, very likely noisy detector" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = HEALTH_CHECK_FLAG BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 16 BITS = 1 DESCRIPTION = "Indicates if the instrument has failed its self test. Updated every 30 seconds. Valid: 0=OK, 1=FAILED" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = POST_EEPROM_FAIL_FLAG BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 17 BITS = 1 DESCRIPTION = "Indicates if the instrument has failed the post EEPROM check. The default upload parameter or the Software-computed checksum differs from the embedded checksum. 0=successful, 1=failed (default on power up)." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = POST_RAM_FAIL_FLAG BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 18 BITS = 1 DESCRIPTION = "Indicates if the instrument has failed the post RAM check. 0=successful, 1=Failed" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = COOLER_COMMAND_MODE BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 19 BITS = 2 DESCRIPTION = "Indicates that mode of the cooler command. Valid: 0 = Off, 1 = Manual on 2 = auto mode" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = TIME_SYNC_FLAG BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 21 BITS = 1 DESCRIPTION = "Indicates the Time Sync command status. Valid: 0=received, 1=Not received since power up, send time sync command." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = WATCHDOG_RESET BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 22 BITS = 1 DESCRIPTION = "Identifies whether any un-commanded reboot happened in the last instrument power cycle. Information updated only after each RCE communication with the instrument. Valid: 0=none, 1=yes." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = X_RAY_COUNT_FLAG BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 23 BITS = 1 DESCRIPTION = "Status flag indicating whether any X-Ray signal were detected in the last acquisition. Information updated only after each RCE communication with the instrument. Valid: 0=none, 1=present" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = ACQUISITION_STATE BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 24 BITS = 1 DESCRIPTION = "Indicates the state of the instrument. Valid: 0 = Idle 1 = Acquiring" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = COOLER_STATE BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 25 BITS = 1 DESCRIPTION = "Indicates the state of the APXS cooler. Updated every 30 seconds. Valid: 0=off, 1=On" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = BOOT_STATE BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 26 BITS = 2 DESCRIPTION = "Indicates which software bank the instrument is running from. Valid: 0=Gold Image 1 1=Gold Image 2 2=Silver Image 1 3=Silver Image 1" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = COMMAND_CONDITION_CODE BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 28 BITS = 5 DESCRIPTION = "Frame command condition code. Valid: 0=reserved; 1=nominal execution; 2=Indicates a framing error in the received command. For a UART port, this indicates that a byte was received without a valid stop bit. For HSS instruments, this indicates that a frame signal was removed and a non-integer number of bytes was received. 3=unused. 4=For UART port only, indicates that the recipient detected bad parity on a received byte in a command.5=unused; 6=Op code not defined for this instrument; 7=Instrument does not support specified error control type; 8=unused; 9='Reserved' Status Flags are unexpected. 10=condition code is not meaningful; 11=Data present was set, but data length was missing or zero, or the frame length was inconsistent with the data length field. 12=checksum or CRC failed; 13=instrument in the wrong state or mode to process this command. 14=Invalid, inconsistent or unexpected data for this opcode; 15=unused; 16=Embedded and calculated checksums don't match in the science data of UPLOAD_SOFTWARE cmd. 17=Embedded and calculated checksums don't match in the science data of UPLOAD_PARAMS command. 18-20=unused. 21=Unexpected value. 22=unused. 23=A command and/or argument is invalid for the software image currently running." END_OBJECT = BIT_COLUMN END_OBJECT = COLUMN OBJECT = COLUMN NAME = CMD_REPLY_DATA_LENGTH DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 19 BYTES = 4 DESCRIPTION = "APXS instrument Command Reply frame data length in bytes." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SCIENCE_FRAME_LENGTH DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 23 BYTES = 4 DESCRIPTION = "APXS instrument Science Frame data length in bytes." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SCI_FRM_CONTROL_AND_STATUS DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 27 BYTES = 4 OBJECT = BIT_COLUMN NAME = OPCODE BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 1 BITS = 8 DESCRIPTION = "Opcode." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = ERROR_CONTROL_TYPE BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 9 BITS = 2 DESCRIPTION = "The type of error control algorithm applied by the Instrument Transfer Frame. Valid: 0=reserved. 1=The CRC error control algorithm was applied and placed in the error control field at the. end of the frame. 2= The fletcher checksum error control algorithm was applied and placed in the error control field at the end of the frame. 3=No error control algorithm was applied and no error control field is included." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = DATA_PRESENT_FLAG BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 11 BITS = 1 DESCRIPTION = "Indicate the presence or absence of both the Header Field Data Length and the Instrument Transfer Frame Data Field. A value of '0' indicates the Header Field Data Length and the Instrument Transfer Frame Data Field are not present; a value of '1' indicates the Header Field Data Length and Instrument Transfer Frame Data Field are present." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = FRAME_TYPE BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 12 BITS = 1 DESCRIPTION = "Frame type. 0=Science Data Frame 1=Command Reply Frame" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = AVERAGE_X_RAY_RATE BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 13 BITS = 3 DESCRIPTION = "Indicates the average X-Ray Rate. Valid in Acquisition mode or thereafter: Valid: 0: no X-Ray data detected 1: 1<=rate<10, sensor not properly deployed (atmospheric rate 3) 2: 10<=rate<50, Sensor head far from sample 3: 50<=rate<120, large offset, similar to MER 4: 120<=rate<300,likely nominal measurements 5: 300<=rate<600, Sensor head very close to sample 6: 600<=rate<1500, very close or strange sample 7: rate>= 1500, very likely noisy detector" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = HEALTH_CHECK_FLAG BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 16 BITS = 1 DESCRIPTION = "Indicates if the instrument has failed its self test. Updated every 30 seconds. Valid: 0=OK, 1=FAILED" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = POST_EEPROM_FAIL_FLAG BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 17 BITS = 1 DESCRIPTION = "Indicates if the instrument has failed the post EEPROM check. The default upload parameter or the Software-computed checksum differs from the embedded checksum. 0=successful, 1=failed (default on power up." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = POST_RAM_FAIL_FLAG BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 18 BITS = 1 DESCRIPTION = "Indicates if the instrument has failed the post RAM check. 0=successful, 1=Failed" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = COOLER_COMMAND_MODE BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 19 BITS = 2 DESCRIPTION = "Indicates that mode of the cooler command. Valid: 0 = Off, 1 = Manual on 2 = auto mode" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = TIME_SYNC_FLAG BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 21 BITS = 1 DESCRIPTION = "Indicates the Time Sync command status. Valid: 0=received, 1=Not received since power up, send time sync command." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = WATCHDOG_RESET BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 22 BITS = 1 DESCRIPTION = "Identifies whether any un-commanded reboot happened in the last instrument power cycle. Information updated only after each RCE communication with the instrument. Valid: 0=none, 1=yes." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = X_RAY_COUNT_FLAG BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 23 BITS = 1 DESCRIPTION = "Status flag indicating whether any X-Ray signal were detected in the last acquisition. Information updated only after each RCE communication with the instrument. Valid: 0=none, 1=present" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = ACQUISITION_STATE BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 24 BITS = 1 DESCRIPTION = "Indicates the state of the instrument. Valid: 0 = Idle 1 = Acquiring" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = COOLER_STATE BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 25 BITS = 1 DESCRIPTION = "Indicates the state of the APXS cooler. Updated every 30 seconds. Valid: 0=off, 1=On" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = BOOT_STATE BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 26 BITS = 2 DESCRIPTION = "Indicates which software bank the instrument is running from. Valid: 0=Gold Image 1 1=Gold Image 2 2=Silver Image 1 3=Silver Image 1" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = COMMAND_CONDITION_CODE BIT_DATA_TYPE = UNSIGNED_INTEGER START_BIT = 28 BITS = 5 DESCRIPTION = "Frame command condition code. Valid: 0=reserved; 1=nominal execution; 2=Indicates a framing error in the received command. For a UART port, this indicates that a byte was received without a valid stop bit. For HSS instruments, this indicates that a frame signal was removed and a non-integer number of bytes was received. 3=unused. 4=For UART port only, indicates that the recipient detected bad parity on a received byte in a command.5=unused; 6=Op code not defined for this instrument; 7=Instrument does not support specified error control type; 8=unused; 9='Reserved' Status Flags are unexpected. 10=condition code is not meaningful; 11=Data present was set, but data length was missing or zero, or the frame length was inconsistent with the data length field. 12=checksum or CRC failed; 13=instrument in the wrong state or mode to process this command. 14=Invalid, inconsistent or unexpected data for this opcode; 15=unused; 16=Embedded and calculated checksums don't match in the science data of UPLOAD_SOFTWARE cmd. 17=Embedded and calculated checksums don't match in the science data of UPLOAD_PARAMS command. 18-20=unused. 21=Unexpected value. 22=unused. 23=A command and/or argument is invalid for the software image currently running." END_OBJECT = BIT_COLUMN END_OBJECT = COLUMN OBJECT = COLUMN NAME = SCIENCE_FRAME_DATA_LEN DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 31 BYTES = 4 DESCRIPTION = "Science frame data length in bytes." END_OBJECT = COLUMN