OBJECT = COLUMN NAME = SCLK COLUMN_NUMBER = 1 BYTES = 4 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 1 DESCRIPTION = "The Rover Compute Element (RCR) clock in seconds." END_OBJECT = COLUMN OBJECT = COLUMN NAME = AUTOBYTE_CNT COLUMN_NUMBER = 2 BYTES = 4 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 5 DESCRIPTION = "The number of bytes in the data packet. This includes FRAME_HDR through DAN_CHECKSUM" END_OBJECT = COLUMN OBJECT = COLUMN NAME = FRAME_HDR COLUMN_NUMBER = 3 BYTES = 4 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 9 DESCRIPTION = "The data frame header. This is broken down into the following bits: bits 1 - 8 is opcode which specifies an instrument activity, bits 9 - 10 specifies error control algorithm, DAN uses the checksum error control, bit 11 indicates the presence (1) or absense (0) of both DATA_LEN and DATA. bit 12 command reply flag bits 13 - 32 are a status flag defined as follows: bit 13 is on if instrument in standby mode, bit 14 is on if instrument in passive mode bit 15 is on if instrument in active mode bits 16 - 27 are unused bits 28 - 32 condition code, 1 - Nominal, 2 - Frame_err, 3 - Overrun, 4 - Parity Error, 6 - Bad_Opcode, 7 - Bad_Err Control type, 10 - Bad_condition code, 11 - Bad_Data length, 12 - Bad_checksum, 13 - Wrond_mode, 14 - Bad Data." END_OBJECT = COLUMN OBJECT = COLUMN NAME = DATA_LEN COLUMN_NUMBER = 4 BYTES = 4 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 13 DESCRIPTION = "The length of the data packet from the instrument in bytes. This includes column SYNCRO through HV_VALUES." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SYNCRO COLUMN_NUMBER = 5 BYTES = 4 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 17 DESCRIPTION = "The synchronization bytes at the beginning of each record." END_OBJECT = COLUMN OBJECT = COLUMN NAME = DATA_FRAME_NUMBER COLUMN_NUMBER = 6 BYTES = 2 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 21 DESCRIPTION = "Incrementing counter for data packets." END_OBJECT = COLUMN OBJECT = COLUMN NAME = DAN_TIME COLUMN_NUMBER = 7 BYTES = 4 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 23 DESCRIPTION = "DAN instrument time in milliseconds since last power up." END_OBJECT = COLUMN OBJECT = CONTAINER NAME = CMDS_ARRAY BYTES = 8 START_BYTE = 27 REPETITIONS = 8 DESCRIPTION = "The last 8 commands sent to the instrument." OBJECT = COLUMN COLUMN_NUMBER = 8 NAME = COMMAND_TIME BYTES = 4 START_BYTE = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER DESCRIPTION = "DAN instrument time in milliseconds when command was executed." END_OBJECT = COLUMN OBJECT = COLUMN COLUMN_NUMBER = 9 NAME = OPCODE BYTES = 1 START_BYTE = 5 DATA_TYPE = MSB_UNSIGNED_INTEGER DESCRIPTION = "Command identifier." END_OBJECT = COLUMN OBJECT = COLUMN COLUMN_NUMBER = 10 NAME = PARAMS BYTES = 1 START_BYTE = 6 DATA_TYPE = MSB_UNSIGNED_INTEGER DESCRIPTION = "Bit field: - bit 7: data present bit, when '0' argument1 and argument2 datafields are meaningless - bit 6 and 5 are meaningless - bits 4 through 0: condition code, shows status of the command execution according to electrical specs." END_OBJECT = COLUMN OBJECT = COLUMN COLUMN_NUMBER = 11 NAME = ARG1 BYTES = 1 START_BYTE = 7 DATA_TYPE = MSB_UNSIGNED_INTEGER DESCRIPTION = "First argument to the command." END_OBJECT = COLUMN OBJECT = COLUMN COLUMN_NUMBER = 12 NAME = ARG2 BYTES = 1 START_BYTE = 8 DATA_TYPE = MSB_UNSIGNED_INTEGER DESCRIPTION = "Second argument to the command." END_OBJECT = COLUMN END_OBJECT = CONTAINER OBJECT = COLUMN NAME = FRAME_TYPE COLUMN_NUMBER = 48 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 91 DESCRIPTION = "Current instrument mode, 0 - standby, 1 - passive, 2 - active." END_OBJECT = COLUMN OBJECT = COLUMN NAME = TEMP1 COLUMN_NUMBER = 49 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 92 DESCRIPTION = "PNG temperature in DN." END_OBJECT = COLUMN OBJECT = COLUMN NAME = TEMP2 COLUMN_NUMBER = 50 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 93 DESCRIPTION = "High voltage board temperature in DN." END_OBJECT = COLUMN OBJECT = COLUMN NAME = TEMP3 COLUMN_NUMBER = 51 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 94 DESCRIPTION = "FPGA temperature in DN." END_OBJECT = COLUMN OBJECT = COLUMN NAME = TEMP4 COLUMN_NUMBER = 52 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 95 DESCRIPTION = "Analog board #1 temperature in DN." END_OBJECT = COLUMN OBJECT = COLUMN NAME = TEMP5 COLUMN_NUMBER = 53 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 96 DESCRIPTION = "Analog board #2 temperature in DN." END_OBJECT = COLUMN OBJECT = COLUMN NAME = TEMP6 COLUMN_NUMBER = 54 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 97 DESCRIPTION = "Case temperature in DN." END_OBJECT = COLUMN OBJECT = COLUMN NAME = PNG_CHARGE_TIME COLUMN_NUMBER = 55 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 98 DESCRIPTION = "PNG charge time in milliseconds" END_OBJECT = COLUMN OBJECT = COLUMN NAME = NUM_PULSES COLUMN_NUMBER = 56 BYTES = 2 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 99 DESCRIPTION = "Number of PNG pulses since power on." END_OBJECT = COLUMN OBJECT = COLUMN NAME = NUM_CMD_RECV COLUMN_NUMBER = 57 BYTES = 2 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 101 DESCRIPTION = "Number of commands received since power on." END_OBJECT = COLUMN OBJECT = COLUMN NAME = NUM_CMD_RJCT COLUMN_NUMBER = 58 BYTES = 2 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 103 DESCRIPTION = "Number of commands rejected since power on." END_OBJECT = COLUMN OBJECT = COLUMN NAME = PNG_ALARM COLUMN_NUMBER = 59 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 105 DESCRIPTION = "Indication of PNG Alarm, bifield: Bit 7: Alarm by PNG HV out of range Bit 6: PNG temperature out of range Bit 5: Detector 2 anomaly countrate Bit 4: Detector 1 anomaly countrate Bit 0: PNG alarm detected." END_OBJECT = COLUMN OBJECT = COLUMN NAME = RESET_TYPE COLUMN_NUMBER = 60 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 106 DESCRIPTION = "Type of reset: 0 - Power on reset 1 - RS-422 cmd reset 2 - Discrete line A reset 3 - Discrete line B reset." END_OBJECT = COLUMN OBJECT = COLUMN NAME = HV_VALUES COLUMN_NUMBER = 61 BYTES = 16 ITEMS = 16 ITEM_BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 107 DESCRIPTION = "History of the PNG high voltage, last 16 values. Real value in Volts calculated by 1 / (17 * value / 1600000)" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DAN_CHECKSUM COLUMN_NUMBER = 62 BYTES = 2 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 123 DESCRIPTION = "Checksum at end of instrument data, lowest two bytes of the sum of all bytes in data." END_OBJECT = COLUMN OBJECT = COLUMN NAME = FLETCH_CHECKSUM COLUMN_NUMBER = 63 BYTES = 4 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 125 DESCRIPTION = "Fletcher checksum added by rover processor." END_OBJECT = COLUMN