/* Table Structure for MLA Status */ OBJECT = COLUMN NAME = MET COLUMN_NUMBER = 1 BYTES = 4 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 1 DESCRIPTION = "Mission elapsed time in seconds." END_OBJECT = COLUMN OBJECT = COLUMN NAME = RMU_DATA_SIZE COLUMN_NUMBER = 2 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 5 DESCRIPTION = "RMU supports two interfaces in reading the RMU shot data after every RUPT: byte mode and nibble mode. Nibble mode not supported by flight software, therefore this telemetry point should always read 0 (byte mode)." END_OBJECT = COLUMN OBJECT = COLUMN NAME = RMU_TEST_PATTERN COLUMN_NUMBER = 3 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 6 DESCRIPTION = "Test pattern used to fill RMU shot data. 0,6,7: real data, 1: LFSR, 2: 0xAA, 3: 0x55, 4: Counter, 5: ~Counter " END_OBJECT = COLUMN OBJECT = COLUMN NAME = RMU_DATA_TYPE COLUMN_NUMBER = 4 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 7 DESCRIPTION = "Identifies shot data as real or test data. =0 real data, =1 test data." END_OBJECT = COLUMN OBJECT = COLUMN NAME = RMU_RATE_SELECT COLUMN_NUMBER = 5 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 8 DESCRIPTION = "RMU Rate selected. =0, 1Hz, =1 6Hz, =2 8Hz, =3 10Hz" END_OBJECT = COLUMN OBJECT = COLUMN NAME = CANNED_DATA COLUMN_NUMBER = 6 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 9 DESCRIPTION = "Designates whether flight software is using collection of RMU shot data or fake data as input to the science algorithms. =0 Real Data, =1 Fake Data " END_OBJECT = COLUMN OBJECT = COLUMN NAME = SPARE COLUMN_NUMBER = 7 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 10 DESCRIPTION = "Spare column." END_OBJECT = COLUMN OBJECT = COLUMN NAME = RMU_1PPS_SYNC COLUMN_NUMBER = 8 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 11 DESCRIPTION = "RMU synchronized with 1PPS flag. =0, not synchronized, =1 synchronized " END_OBJECT = COLUMN OBJECT = COLUMN NAME = RMU_TRANSFER_MODE COLUMN_NUMBER = 9 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 12 DESCRIPTION = "Data Transfer mode commanded to RMU. Does not reflect the state of the RMU but rather the state of the software and how the software is reading the RMU. It is possible after an RMU reset to have this telemetry point not coincide with RMU_DATA_SIZE. =0 byte mode, =1 low nibble, =2 high nibble " END_OBJECT = COLUMN OBJECT = COLUMN NAME = DETECTOR_CH3 COLUMN_NUMBER = 10 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 13 DESCRIPTION = "Status of detector channel 3. =0 enabled, =1 disabled" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DETECTOR_CH2 COLUMN_NUMBER = 11 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 14 DESCRIPTION = "Status of detector channel 2. =0 enabled, =1 disabled" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DETECTOR_CH1LO COLUMN_NUMBER = 12 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 15 DESCRIPTION = "Status of detector channel 1 low. =0 enabled, =1 disabled" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DETECTOR_CH1HI COLUMN_NUMBER = 13 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 16 DESCRIPTION = "Status of detector channel 1 high. =0 enabled,=1 disabled" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DUMP_ACTIVE COLUMN_NUMBER = 14 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 17 DESCRIPTION = "Designates whether software is performing a memory dump. =0 not performing memory dump =1 currently performing memory dump " END_OBJECT = COLUMN OBJECT = COLUMN NAME = RMU_CLOCK_SELECT COLUMN_NUMBER = 15 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 18 DESCRIPTION = "Clock configuration for the RMU. This drives the entire operation of the RMU. RMU has 4 different 5MHz clocks available to it, two internal to the RMU board and two external from the spacecraft. =0 Oscillator A, =1 Internal 40%, =2 Internal 50%, =3 Oscillator B " END_OBJECT = COLUMN OBJECT = COLUMN NAME = RMU_CYCLE_RESET_TOF COLUMN_NUMBER = 16 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 19 DESCRIPTION = "RMU uses TOF chips to measure in fine detail the return pulses coming back from a laser fire. The chips are prone to lockup if flooded with input. If the flight software detects that they are locked up, it will automatically configure the RMU to reset the TOF chips for one shot. Unfortunately the rate at which this telemetry point is monitored means that it is very unlikely that this event will ever be reflected in this telemetry point. =0 TOF chips are not reset after each shot. =1 TOF chips are reset after each shot. " END_OBJECT = COLUMN OBJECT = COLUMN NAME = RMU_CAL_SELECT COLUMN_NUMBER = 17 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 20 DESCRIPTION = "Indicates which calibration setting was applied to the RMU during ground testing, if enabled: 00=0ns, 01=200ns, 10=400ns, 11=200ns " END_OBJECT = COLUMN OBJECT = COLUMN NAME = RMU_CAL_ENABLE COLUMN_NUMBER = 18 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 21 DESCRIPTION = "Indicates whether RMU will output a fixed test pattern during ground testing as selected by RMU_CAL_SELECT: 00,01,10=Real Data from instrument, 11=TOF-A calibration data " END_OBJECT = COLUMN OBJECT = COLUMN NAME = OVR_THRESHOLD_CH3 COLUMN_NUMBER = 19 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 22 DESCRIPTION = "Indicates whether the science task has overridden (via command) the channel 3 threshold value written as a DAC to the hardware. =0 not overridden, =1 overridden " END_OBJECT = COLUMN OBJECT = COLUMN NAME = OVR_THRESHOLD_CH2 COLUMN_NUMBER = 20 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 23 DESCRIPTION = "Indicates whether the science task has overridden (via command) the channel 2 threshold value written as a DAC to the hardware. =0 not overridden, =1 overridden " END_OBJECT = COLUMN OBJECT = COLUMN NAME = OVR_THRESHOLD_CH1LO COLUMN_NUMBER = 21 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 24 DESCRIPTION = "Indicates whether the science task has overridden (via command) the channel 1 low threshold value written as a DAC to the hardware. =0 not overridden, =1 overridden " END_OBJECT = COLUMN OBJECT = COLUMN NAME = OVR_THRESHOLD_CH1HI COLUMN_NUMBER = 22 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 25 DESCRIPTION = "Indicates whether the science task has overridden (via command) the channel 1 high threshold value written as a DAC to the hardware. =0 not overridden, =1 overridden " END_OBJECT = COLUMN OBJECT = COLUMN NAME = OVR_CHAN_DISABLES COLUMN_NUMBER = 23 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 26 DESCRIPTION = "Indicates whether channel disables mask used by science algorithms has been overridden. This mask is used to enable and disable the return channels (1hi, 1low, 2, 3). =0 not overridden, =1 overridden. " END_OBJECT = COLUMN OBJECT = COLUMN NAME = OVR_GAIN COLUMN_NUMBER = 24 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 27 DESCRIPTION = "Indicates whether the science task has overridden (via command) the gain value written as a DAC to the hardware. =0 not overridden, =1 overridden. " END_OBJECT = COLUMN OBJECT = COLUMN NAME = OVR_RANGE_WINDOW COLUMN_NUMBER = 25 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 28 DESCRIPTION = "Indicates whether the science task has overridden (via command) the range window vlaue used to write the RMU range gate start and stop. =0 not overridden, =1 overridden. " END_OBJECT = COLUMN OBJECT = COLUMN NAME = OVR_RANGE_DELAY COLUMN_NUMBER = 26 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 29 DESCRIPTION = "Indicates whether the science task has overridden (via command) the range delay value used to write the RMU range gate start and stop. =0 not overridden, =1 overridden. " END_OBJECT = COLUMN OBJECT = COLUMN NAME = V2DOT5_MON COLUMN_NUMBER = 27 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 30 DESCRIPTION = "The ADC of the +2.5 volt monitor." END_OBJECT = COLUMN OBJECT = COLUMN NAME = V5_MON COLUMN_NUMBER = 28 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 31 DESCRIPTION = "The ADC of the +5 volt monitor." END_OBJECT = COLUMN OBJECT = COLUMN NAME = V5NEG_MON COLUMN_NUMBER = 29 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 32 DESCRIPTION = "The ADC of the -5 volt monitor." END_OBJECT = COLUMN OBJECT = COLUMN NAME = V12_MON COLUMN_NUMBER = 30 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 33 DESCRIPTION = "The ADC of the +12 volt monitor." END_OBJECT = COLUMN OBJECT = COLUMN NAME = V32DOT5_MON COLUMN_NUMBER = 31 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 34 DESCRIPTION = "The ADC of the +32.5 volt monitor." END_OBJECT = COLUMN OBJECT = COLUMN NAME = V550_MON COLUMN_NUMBER = 32 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 35 DESCRIPTION = "The ADC of the +550 volt monitor." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LASER_TX_THRESHOLD COLUMN_NUMBER = 33 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 36 DESCRIPTION = "The ADC of the laser Tx threshold which is commanded by the science task automatically every shot, via a DAC write, using a table value." END_OBJECT = COLUMN OBJECT = COLUMN NAME = AEM_LATCHUP_CTR COLUMN_NUMBER = 34 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 37 DESCRIPTION = "Count of the number of times the flight software responds to an AEM latch-up. It is important to note that this counter does not reflect the number of AEM latch-ups, but rather the number of times the software responds to a latch-up. Because the AEM is not able to remove the latch-up condition fast enough, the software will attempt to acknoweldge the same latch-up multiple times. Because of this, the software limits the number of latch-up acknowledgements a second to 2. In practice, for every AEM latch-up this counter will increment by two." END_OBJECT = COLUMN OBJECT = COLUMN NAME = DETECTOR_BOARD_TEMP COLUMN_NUMBER = 35 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 38 DESCRIPTION = "The ADC of the detector board temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = ALTIMETER_DET_TEMP COLUMN_NUMBER = 36 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 39 DESCRIPTION = "The ADC of the altimeter detector temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = ANALOG_BOARD_TEMP COLUMN_NUMBER = 37 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 40 DESCRIPTION = "The ADC of the analog board temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = RMU_BOARD_TEMP COLUMN_NUMBER = 38 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 41 DESCRIPTION = "The ADC of the RMU board temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = XTAL_OSCILLATOR_TEMP COLUMN_NUMBER = 39 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 42 DESCRIPTION = "The ADC of the crystal oscillator temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CPU_BOARD_TEMP COLUMN_NUMBER = 40 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 43 DESCRIPTION = "The ADC of the CPU board temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LASER_ELEC_TEMP COLUMN_NUMBER = 41 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 44 DESCRIPTION = "The ADC of the laser electronics temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LASER_AMP_TEMP COLUMN_NUMBER = 42 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 45 DESCRIPTION = "The ADC of the laser amplifier temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LASER_OSCILLATOR_TEMP COLUMN_NUMBER = 43 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 46 DESCRIPTION = "The ADC of the laser oscillator temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = PCA_TEMP COLUMN_NUMBER = 44 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 47 DESCRIPTION = "The ADC of the PCA temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = BEAM_XPAND_TOP_TEMP COLUMN_NUMBER = 45 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 48 DESCRIPTION = "The ADC of the beam expander top temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = BEAM_XPAND_BASE_TEMP COLUMN_NUMBER = 46 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 49 DESCRIPTION = "The ADC of the beam expander base temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = RX_TUBELENS_TOP_TEMP COLUMN_NUMBER = 47 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 50 DESCRIPTION = "The ADC of the receiver tube lens temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = MLA_HOUSING_TEMP COLUMN_NUMBER = 48 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 51 DESCRIPTION = "The ADC of the MLA housing temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CAL_LO_TEMP COLUMN_NUMBER = 49 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 52 DESCRIPTION = "The ADC of the low calibration temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CAL_HI_TEMP COLUMN_NUMBER = 50 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 53 DESCRIPTION = "The ADC of the high calibration temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = TELEMETRY_VOLUME COLUMN_NUMBER = 51 BYTES = 2 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 54 DESCRIPTION = "Telemetry volume counter. Increments by 1 for every 1KB of data output by the telemetry framer task since the last software boot." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CHECKSUM_ENABLED COLUMN_NUMBER = 52 BYTES = 2 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 56 DESCRIPTION = "An integer representation of the 16-bit mask that shows which tables in memory are being checksummed. Each bit in the mask corresponds to the table ID of the same number (bit 4 in the mask corresponds to table 4). Convert back to binary notation before evaluating the checksumenabled mask: =0 table is not being checksummed, =1 table is being checksummed." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CHECKSUM_STATUS COLUMN_NUMBER = 53 BYTES = 2 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 58 DESCRIPTION = "An integer representation of the 16-bit mask that shows whether the checksum of a table in memory is correct or incorrect. Each bit in the mask corresponds to the table ID of the same number (bit 4 in the mask corresponds to table 4). Convert back to binary notation before evaluating the checksumstatus mask: =0 Checksum is correct, =1 checksum is incorrect" END_OBJECT = COLUMN OBJECT = COLUMN NAME = TOF_LOCKUP_CNTR COLUMN_NUMBER = 54 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 60 DESCRIPTION = "There are 6 TOF chips in the RMU. The RMU uses them to time stamp the Tx pulse, the high return, and the low returns. Every 16 shots the software analyzes the state of the TOFs. If during the past 16 shots the fine time (least significant 10 bits) on a RMU time stamp has not changed at all, and the coarse time has changed at least once, then a TOF lockup is detected and this telemetry point is incremented, and for the next shot, the TOF chips are configured to be reset. The software will immediately begin monitoring for the next 16 shots. The software only monitors the TOF lockups in Standby and Science modes." END_OBJECT = COLUMN OBJECT = COLUMN NAME = TELEM_RATE_CONFIG COLUMN_NUMBER = 55 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 61 DESCRIPTION = "Indicates whether the TELEMETRY_VOLUME counter is derived from the FSW or from a test source: 0=Oper, 1=Test." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SDHWDIAG_LITESWITCH COLUMN_NUMBER = 56 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 62 DESCRIPTION = "=0 The MLA_HWDiagLite packet is off. =1 The MLA_HwDiagLite packet is on. " END_OBJECT = COLUMN OBJECT = COLUMN NAME = SI_TIMING_VALID COLUMN_NUMBER = 57 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 63 DESCRIPTION = "Check of timing integrity at rate of once per second. Three checks are performed: 1. Has MET message from S/C been received 2. Has the 1PPS signal from the S/C been received 3. Is the phase lock to the 1PPS off by more than 5 us If any of the checks fail then the timing integrity is in question. =0 Timing integrity fine, =1 Timing integrity under question." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CHECKSUM_EN_FLAG COLUMN_NUMBER = 58 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 64 DESCRIPTION = "=0 checksumming of tables is disabled. =1 checksumming of tables is enabled." END_OBJECT = COLUMN OBJECT = COLUMN NAME = ONE_PPS_OCCURRED COLUMN_NUMBER = 59 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 65 DESCRIPTION = "Each second the spacecraft sends a 1PPS signal to the MLA instrument. The flight software uses this signal to synchronize. =0 1PPS did not occur, =1 1PPS occured." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SDHWDIAG_FULLSWITCH COLUMN_NUMBER = 60 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 66 DESCRIPTION = "=0 MLA_HwDiagnostic packet is off. =1 MLA_HwDiagnostic packet is on." END_OBJECT = COLUMN OBJECT = COLUMN NAME = OS_EPROM_VERSION COLUMN_NUMBER = 61 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 67 DESCRIPTION = "There are two banks of EEPROM that the software is stored in. When the instrument is turned on, or any time the CPU board is rebooted, the code stored in EEPROM is copied out of one of the two banks, into RAM and executed there. This telemetry point says which bank of EEPROM the code was copied out of. =0 EEPROM Bank 0 - Non Write-Protected =1 EEPROM Bank 1 - Write-Protected" END_OBJECT = COLUMN OBJECT = COLUMN NAME = SIDIRECT_THRES_OVR COLUMN_NUMBER = 62 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 68 DESCRIPTION = "The science task allows the thresholds applied to each of the channels to be overridden. The science algorithms specify that the value commanded for them to be overridden with must be scaled by a function of the gain, and range window. For testing purposes, it was necessary to have the ability to directly apply the threshold given in the threshold override command. =0 thresholds are scaled as prescribed in science algorithm. =1 thresholds are directly applied" END_OBJECT = COLUMN OBJECT = COLUMN NAME = IDLE_CHECKIN COLUMN_NUMBER = 63 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 69 DESCRIPTION = "By default, the flight software requires certain critical tasks to 'check in' in order for the watchdog to be kicked. In diagnosing a problem it might be necessary to disable that behavior. =0 critical tasks do NOT have to check in. =1 critical tasks DO have to check in." END_OBJECT = COLUMN OBJECT = COLUMN NAME = IDLE_MET_CHECKIN COLUMN_NUMBER = 64 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 70 DESCRIPTION = "By default, the software checks that the MET is being received while in Science mode. If the MET is missing for a preset amount of time, then the software will execute the Mla_Safe script which will transition the software to Keep Alive mode. This telemetry point reflects whether or not the software is actively checking if the MET is being received. =0 MET not being checked. =1 MET being checked." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SISC_TIME_BIAS COLUMN_NUMBER = 65 BYTES = 2 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 71 DESCRIPTION = "The difference between the s/c ranging data alignment to the value of the MET, used in Science algorithm mode 1. Value is a B8 fraction." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SISC_RANGE_BIAS COLUMN_NUMBER = 66 BYTES = 2 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 73 DESCRIPTION = "The difference between the s/c ranging data alignment to the range value, used in Science algorithm mode 1 to account for orbital error and other biases. Value is a signed integer number of counts." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SI_TRANSMIT_THRESHOLD COLUMN_NUMBER = 67 BYTES = 2 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 75 DESCRIPTION = "The transmit start detector threshold value (currently defaults to 15 counts). " END_OBJECT = COLUMN OBJECT = COLUMN NAME = SD_AEM_ERROR_COUNT COLUMN_NUMBER = 68 BYTES = 2 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 77 DESCRIPTION = "Once a second, the flight software performs a series of ADCs on the temperatures and voltages. After every RUPT, the flight software performs a series of ADCs on all the items that can be written to via a DAC. If any ADC fails, due to a time out (the software pends on the AEM asserting that it is finished the ADC), then this counter is incremented." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SI_RMU_ERROR_COUNT COLUMN_NUMBER = 69 BYTES = 2 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 79 DESCRIPTION = "Every shot when the software is in Science mode, the science task writes the values of the range gates (start and stop). At that time it also reads the values back and compares them to the values it wrote. If those two values do not agree then the science task increments this counter." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CMD_ACCEPT_CTR COLUMN_NUMBER = 70 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 81 DESCRIPTION = "Counter increments every time a command is sent and the software executes that command to completion without any errors." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CMD_OPCODE COLUMN_NUMBER = 71 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 82 DESCRIPTION = "The opcode of the last command that was processed." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CMD_RESULTCODE COLUMN_NUMBER = 72 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 83 DESCRIPTION = "The error code generated by the last command executed. If the last command executed did not generate an error, then this value is zero." END_OBJECT = COLUMN OBJECT = COLUMN NAME = ALARM_ID COLUMN_NUMBER = 73 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 84 DESCRIPTION = "The ID of the last alarm issued by the flight software." END_OBJECT = COLUMN OBJECT = COLUMN NAME = ALARM_COUNT COLUMN_NUMBER = 74 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 85 DESCRIPTION = "Counter is incremented every time an alarm is issued by the flight software. The flight software treats the reset message as an alarm, therefore value is one at boot up. However the actual integer range of values will be from 129 to 255 because the most significant bit of the telemetry point is used as a flag that is always set to 1." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CMD_REJECT_COUNT COLUMN_NUMBER = 75 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 86 DESCRIPTION = "Counter increments every time the flight software fails to execute a command." END_OBJECT = COLUMN OBJECT = COLUMN NAME = ITF_REJECT_COUNT COLUMN_NUMBER = 76 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 87 DESCRIPTION = "Counter is incremented every time the flight software receives an ITF and the ITF is either invalid or unable to be processed. The four cases for which this counter increments are: Not enough memory available to allocate a software bus packet; Invalid command format; Incorrect checksum; Synch pattern incorrect." END_OBJECT = COLUMN OBJECT = COLUMN NAME = WATCHDOG_COUNT COLUMN_NUMBER = 77 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 88 DESCRIPTION = "Increments on every reset of the flight software watchdog." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CPURESET_COUNT COLUMN_NUMBER = 78 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 89 DESCRIPTION = "Increments on every reset of the flight software CPU. A CPU reset can occur one of two ways: Software was directly commanded to reset; Software erroneously branched to an unused memory address and executed a 0xFF instruction." END_OBJECT = COLUMN OBJECT = COLUMN NAME = RESET_CAUSE COLUMN_NUMBER = 79 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 90 DESCRIPTION = "Every time the flight software reboots, registers in the CPU board FPGA are examined in order to determine the cause of the reboot: =0 Power On, =1 CPU Reset, =2 Watchdog, =3 Invalid." END_OBJECT = COLUMN OBJECT = COLUMN NAME = MLA_MODE COLUMN_NUMBER = 80 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 91 DESCRIPTION = "Flight software mode: =0 Keep Alive, =1 Standby, =2 Science" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DPU_SELECTION COLUMN_NUMBER = 81 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 92 DESCRIPTION = "The S/C has two DPUs that can interface to the MLA instrument. Only one of them can be active at a time. =0 DPU A, =1 DPU B" END_OBJECT = COLUMN OBJECT = COLUMN NAME = WATCHDOG_ENABLED COLUMN_NUMBER = 82 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 93 DESCRIPTION = "=1 Watchdog enabled. =0 Watchdog disabled. Flight software will still continue to service the watchdog but it will have no affect, nor will there be any effect if the software fails to service the watchdog." END_OBJECT = COLUMN OBJECT = COLUMN NAME = PCA_POWER_MODE COLUMN_NUMBER = 83 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 94 DESCRIPTION = "The PCA controls the power on the MLA instrument. There are two power modes. Under normal operation, Keep Alive software mode configures the PCA to low power mode. Standby and Science software modes configure the PCA to high power mode. =0 low power mode, =1 high power mode." END_OBJECT = COLUMN OBJECT = COLUMN NAME = PCA_LASER_ENABLED COLUMN_NUMBER = 84 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 95 DESCRIPTION = "The laser on the MLA instrument can be directly turned on and off. Under normal operations the laser is automatically configured to be on in Science mode and automatically configured to be off in all other modes. =0 laser is OFF, =1 laser is ON." END_OBJECT = COLUMN OBJECT = COLUMN NAME = ALGORITHM_MODE COLUMN_NUMBER = 85 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 96 DESCRIPTION = "The currently designated science algorithm mode. Only modes 0 and 1 were implemented in FSW at launch. =0 Mode 0 or Fixed, =1 Mode 1 or Scraft Range, =2 Closed Loop." END_OBJECT = COLUMN OBJECT = COLUMN NAME = RANGE_MODE COLUMN_NUMBER = 86 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 97 DESCRIPTION = "The currently designated range tracking mode: 0= Don't use the s/c range data 1= Use s/c range in tracking algorithm 2= Reserved for future use in Algorithm Mode 2." END_OBJECT = COLUMN OBJECT = COLUMN NAME = HWDIAG_TLM_CONFIG COLUMN_NUMBER = 87 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 98 DESCRIPTION = "=0 neither MLA_HwDiagnostic nor MLA_HwDiagLite is on. =1, one of the hardware diagnostic packets is on. " END_OBJECT = COLUMN OBJECT = COLUMN NAME = SWDIAG_TLM_CONFIG COLUMN_NUMBER = 88 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 99 DESCRIPTION = "=0 The Mla_SwDiagnostic packet is OFF =1 The Mla_SwDiagnostic packet is ON" END_OBJECT = COLUMN OBJECT = COLUMN NAME = MET_FREE_RUN COLUMN_NUMBER = 89 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 100 DESCRIPTION = "Every second the flight software checks to see if it has received a MET message from the spacecraft. If it did not receive the MET message it will free run off an internal clock until the MET message is received again. When using GSEOS build 4 or lower, the MET message is not consistently issued, and therefore this telemetry point will show the software free running often; this is fine. There is one known error condition for this telemetry point and that is when the science task overruns and delays the telemetry framer task for a considerable period of time (over 50ms). It is possible in that case that the MET was received, but because the task that monitors the MET was delayed, the software believes it is free running and will flag this telemetry point. =0 the flight software did receive a MET message =1 the flight software did NOT receive an MET message" END_OBJECT = COLUMN OBJECT = COLUMN NAME = MEM_WRITE_ENABLE COLUMN_NUMBER = 90 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 101 DESCRIPTION = "=0 memory is not write enabled =1 memory is write enabled." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SD_PARITY_ERROR COLUMN_NUMBER = 91 BYTES = 1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 102 DESCRIPTION = "Every time the RUPT is generated, the flight software reads 166 bytes from the RMU (the shot data). The last byte of the data read from the RMU is a parity byte (XOR over entire block). The flight software also computes a parity for the data read from the RMU. If the two parities do not equal each other this telemetry point increments. This value should never be anything but 0." END_OBJECT = COLUMN