OBJECT = COLUMN NAME = PACKET_CHDO DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 1 BYTES = 150 MINIMUM = "N/A" MAXIMUM = "N/A" DESCRIPTION = "Packet_chdo is the compressed header data object attached to the MOLA telemetry packet by TIS." END_OBJECT = COLUMN OBJECT = COLUMN NAME = PACKET_ID DATA_TYPE = MSB_BIT_STRING START_BYTE = 151 BYTES = 2 DESCRIPTION = "Packet_id constitutes one of three parts in the primary source information header applied by the Payload Data System (PDS) to the MOLA telemetry packet at the time of creation of the packet prior to transfer frame creation." OBJECT = BIT_COLUMN NAME = VERSION_NUMBER BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 1 BITS = 3 MINIMUM = 0 MAXIMUM = 0 DESCRIPTION = "These bits identify Version 1 as the Source Packet structure. These bits shall be set to '000'." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = SPARE BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 4 BITS = 1 MINIMUM = 0 MAXIMUM = 0 DESCRIPTION = "Reserved spare. This bit shall be set to '0'" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = FLAG BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 5 BITS = 1 MINIMUM = 0 MAXIMUM = 0 DESCRIPTION = "This flag signals the presence or absence of a Secondary Header data structure within the Source Packet. This bit shall be set to '0' since no Secondary Header formatting standards currently exist for Mars Global Surveyor." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = ERROR_STATUS BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 6 BITS = 3 MINIMUM = 0 MAXIMUM = 7 DESCRIPTION = "This field identifies in part the individual application process within the spacecraft that created the Source Packet data." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = INSTRUMENT_ID BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 9 BITS = 8 MINIMUM = 35 MAXIMUM = 35 DESCRIPTION = "This field identifies in part the individual application process within the spacecraft that created the Source Packet data. 00100011 is the bit pattern for MOLA." END_OBJECT = BIT_COLUMN END_OBJECT = COLUMN OBJECT = COLUMN NAME = SEQUENCE_CONTROL DATA_TYPE = MSB_BIT_STRING START_BYTE = 153 BYTES = 2 DESCRIPTION = "Sequence_control constitutes one of three parts in the primary source information header applied by the Payload Data System (PDS) to the MOLA telemetry packet at the time of creation of the packet prior to transfer frame creation." OBJECT = BIT_COLUMN NAME = SEGMENTATION_FLAG BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 1 BITS = 2 MINIMUM = 3 MAXIMUM = 3 DESCRIPTION = "For Mars Global Surveyor segmentation shall not occur. These bits shall be set to '11'." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = SEQUENCE_COUNT BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 3 BITS = 14 MINIMUM = 0 MAXIMUM = 16383 DESCRIPTION = "This field contains a straight sequential count (modulo 16384) of each packet generated by the MOLA application process on the spacecraft. The purpose of the field is to order this packet with respect to other packets from the same application process. The OTS counter is contained in the lower 4 bits." END_OBJECT = BIT_COLUMN END_OBJECT = COLUMN OBJECT = COLUMN NAME = PACKET_LENGTH DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 155 BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "Packet_length constitutes one of three parts in the primary source information header applied by the Payload Data System (PDS) to the MOLA telemetry packet at the time of creation of the packet prior to transfer frame creation. This field contains a sequential 16-bit binary count 'C' of the length (in octets) of the data area structure that is enclosed between the first bit of the Secondary Header and the last bit of the packet (i.e., the last bit of the Source Data field). C = ((no. of octets) - 1)." END_OBJECT = COLUMN OBJECT = COLUMN NAME = COARSE_TIME DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 157 BYTES = 4 MINIMUM = 0 MAXIMUM = 4294967295 DESCRIPTION = "The MOLA system time is created from the 2 time words input from the PDS time broadcast command. The MOLA time is updated 7/8 of a second after reception of the time broadcast command and 6/8 of a second after interpreting the time broadcast with S/C + 1 second to arrive at the correct time. B[0] is S/C time in seconds * 2**24; B[1] is S/C time in seconds * 2**16; B[2] is S/C time in seconds * 2**8; B[3] is S/C time in seconds." END_OBJECT = COLUMN OBJECT = COLUMN NAME = FINE_TIME DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 161 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Fine_time is the high-resolution timer reading taken during interrupt handling routine triggered by the trailing edge of the first 10 Hz interrupt encountered during this packet." END_OBJECT = COLUMN OBJECT = COLUMN NAME = PACKET_TYPE DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 162 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Packet type identifier byte. Distinguishes Science Mode packets from Maintenance Mode packets. Science Mode = 0; Maintenance Mode = [1 = Status packet, 2 = memory dump, 3 = noise count data]. Values 4 - 255 are reserved for future modes. Modes 0, 1, 2 are hard coded in the flight software. Mode 3 is patched in when the noise count patch is uploaded to the spacecraft. The packet type value should be patched when a code patch occurs that affects that mode's packet content." END_OBJECT = COLUMN OBJECT = COLUMN NAME = COMPUTER_MEMORY_TEMPERATURE DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 163 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux A, Ch #2" END_OBJECT = COLUMN OBJECT = COLUMN NAME = COMPUTER_CPU_TEMPERATURE DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 164 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux A, Ch #1" END_OBJECT = COLUMN OBJECT = COLUMN NAME = POWER_SUPPLY_TEMPERATURE DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 165 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux A, Ch #4" END_OBJECT = COLUMN OBJECT = COLUMN NAME = 'COMPUTER_I/O_TEMPERATURE' DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 166 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux A, Ch #3" END_OBJECT = COLUMN OBJECT = COLUMN NAME = LASER_ARRAY_HEAT_SINK_TEMP DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 167 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux A, Ch #6" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DIODE_ARRAY_DRIVE_ELECS_TEMP DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 168 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux A, Ch #5" END_OBJECT = COLUMN OBJECT = COLUMN NAME = OPTICAL_TEST_SOURCE_LED_TEMP DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 169 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux A, Ch #8" END_OBJECT = COLUMN OBJECT = COLUMN NAME = HUNDRED_MHZ_OSCILLATOR_TEMP DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 170 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux A, Ch #7" END_OBJECT = COLUMN OBJECT = COLUMN NAME = START_DETECTOR_TEMPERATURE DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 171 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux A, Ch #10" END_OBJECT = COLUMN OBJECT = COLUMN NAME = OUTSIDE_DETECTOR_BOX_TEMP DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 172 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux A, Ch #9" END_OBJECT = COLUMN OBJECT = COLUMN NAME = LASR_RADIATR_OPP_OPT_PORT_TEMP DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 173 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux A, Ch #11" END_OBJECT = COLUMN OBJECT = COLUMN NAME = LSER_RADIATOR_OUTPUT_PORT_TEMP DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 174 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux A, Ch #11" END_OBJECT = COLUMN OBJECT = COLUMN NAME = INTERFACE_PLATE_HOT_FOOT_TEMP DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 175 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux A, Ch #14" END_OBJECT = COLUMN OBJECT = COLUMN NAME = RADIATION_SHEET_TRNSITION_TEMP DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 176 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux A, Ch #13" END_OBJECT = COLUMN OBJECT = COLUMN NAME = ELECTRONICS_BOX_TOP_SC_THRMSTR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 177 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux A, Ch #16" END_OBJECT = COLUMN OBJECT = COLUMN NAME = LASER_BOX_HOT_FOOT_TEMP DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 178 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux A, Ch #15" END_OBJECT = COLUMN OBJECT = COLUMN NAME = PLUS_28_VOLT_VOLTAGE_MONITOR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 179 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux B, Ch #2" END_OBJECT = COLUMN OBJECT = COLUMN NAME = REFERENCE_VOLTAGE_MONITOR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 180 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux B, Ch #1" END_OBJECT = COLUMN OBJECT = COLUMN NAME = PLUS_12_VOLT_VOLTAGE_MONITOR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 181 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux B, Ch #4" END_OBJECT = COLUMN OBJECT = COLUMN NAME = PLUS_24_VOLT_VOLTAGE_MONITOR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 182 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux B, Ch #3" END_OBJECT = COLUMN OBJECT = COLUMN NAME = PLUS_5_VOLT_VOLTAGE_MONITOR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 183 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux B, Ch #6" END_OBJECT = COLUMN OBJECT = COLUMN NAME = MINUS_12_VOLT_VOLTAGE_MONITOR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 184 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux B, Ch #5" END_OBJECT = COLUMN OBJECT = COLUMN NAME = LASER_THERMAL_CURRENT_MONITOR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 185 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux B, Ch #8" END_OBJECT = COLUMN OBJECT = COLUMN NAME = MINUS_5_VOLT_VOLTAGE_MONITOR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 186 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux B, Ch #7" END_OBJECT = COLUMN OBJECT = COLUMN NAME = POWER_SUPPLY_CURRENT_MONITOR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 187 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux B, Ch #10" END_OBJECT = COLUMN OBJECT = COLUMN NAME = HIGH_VOLTAGE_CURRENT_MONITOR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 188 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux B, Ch #9" END_OBJECT = COLUMN OBJECT = COLUMN NAME = MINUS_12_VOLT_CURRENT_MONITOR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 189 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux B, Ch #12" END_OBJECT = COLUMN OBJECT = COLUMN NAME = PLUS_12_VOLT_CURRENT_MONITOR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 190 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux B, Ch #11" END_OBJECT = COLUMN OBJECT = COLUMN NAME = MINUS_5_VOLT_CURRENT_MONITOR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 191 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux B, Ch #14" END_OBJECT = COLUMN OBJECT = COLUMN NAME = PLUS_5_VOLT_CURRENT_MONITOR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 192 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux B, Ch #13" END_OBJECT = COLUMN OBJECT = COLUMN NAME = CURRENT_STATUS_REGISTER_VALUE DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 193 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Value read from STATUS register at end of packet collection cycle. Read STATUS register and store lower 8 bits. MSnibble = SEU counter value" END_OBJECT = COLUMN OBJECT = COLUMN NAME = SOFTWARE_VERSION_NUMBER DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 194 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "4.4 bit format version number. Version number is hard coded in software and is stored in packet at the end of the packet collection cycle. Any software patches should include an update to this value. Current flight version is 5.3 therefore, 53h is hard coded in the Pack_it() routine of the Science Mode. Maintenance Mode version is 6.2 therefore 62h is coded." END_OBJECT = COLUMN OBJECT = COLUMN NAME = FLAG_WORD DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 195 BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "RAM block test flag word. Memory test results. Bit representation of the results of the RAM write/read/verify block test performed after a CPU reset (HOT or COLD start). MSB (#15) represents the memory block from 7800h to 7FFFh; LSB (#0) from 0000h to 7FFh. 1 = error detected, 0 = block O.K. 0 represents a validated block, while a 1 means that the program encountered an invalid compare on at least one byte in that block area. B[0] is bits 15 - 8 of RAM test flag; B[1] is bits 7 - 0 of RAM test flag" END_OBJECT = COLUMN OBJECT = COLUMN NAME = STATUS_FLAGS DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 197 BYTES = 4 ITEMS = 2 ITEM_BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "Values of SFLAG1 and SFLAG2 stored at packet completion. Each flag represents four 4 bit words. B[0] = byte 0; B[1] = byte 1; B[2] = byte 2; B[3] = byte 3. SFLAG1 = (B[0] * 256) + B[1]; SFLAG2 = (B[2] * 256) + B[3]. The meanings of the individual bit settings are in Appendix A of the MOLA Flight Software Users' Guide." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SOFTWARE_VALIDITY_CHECKSUM DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 201 BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "Checksum (end-around-carry, word adds) calculated using start address and length from Parameter Table. One word calculated using (CHKLEN/2)# of word end-around-carry additions start at word # (CHKSTART/2). Note : CHKLEN and CHKSTART exist in the parameter table and are BYTE length and BYTE address or offset. B[0] is MSByte and B[1] is LSByte of software validity checksum." END_OBJECT = COLUMN OBJECT = COLUMN NAME = RECEIVED_COMMAND_COUNT DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 203 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Number of commands received in the DMA buffer, i.e., number separated by CMD_START bits set, never cleared, init = 0. Number of CMD_START bits set in the commands received buffer. Only look at the number of commands received during that RTI interval. Count performed during RTI 4ms 'quiet time'. Counter starts at 0 from a HOT/COLD start, counts up and rolls over from 0FFh to 00h." END_OBJECT = COLUMN OBJECT = COLUMN NAME = COMMAND_ERROR_COUNT DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 204 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Number of invalid MOLA specific commands received, never cleared, init = 0. Command errors counter works the same way as Received command count (see above), except, this counts the # of command errors, defined as TBD." END_OBJECT = COLUMN OBJECT = COLUMN NAME = TRANSMITTER_THRESHOLD_SETTING DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 205 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Value of XMITDA from Parameter table, stored at packet completion. LSB is equivalent to 1 mv. This byte reports the value of XMITDA from PARAM_TABLE. It is stored in the packet at the end of the packet collection cycle." END_OBJECT = COLUMN OBJECT = COLUMN NAME = RANGE_TRACKING_STATUS DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 206 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "MSB = OTS_FIRE value, bits 7654321, 1 = TRACKING, 0 = ACQ. MSB (#7) is the LSB of OTS_FIRE from PARAM_TABLE, stored at the end of the packet collection cycle. It is the value used to determine the firing status of the OTS for the first shot of the packet cycle. Bits 6-0 represent frames 7-1 tracking status. 0 means that the software was in acquisition mode for that frame, while 1 represents tracking mode." END_OBJECT = COLUMN OBJECT = COLUMN NAME = RANGE_GATE_TRACKER_ARRAY DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 207 BYTES = 48 ITEMS = 24 ITEM_BYTES = 2 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "73.728 km, 48 HISTOGRAM bins starting at HSTART. 48 sequential bins of the ranging histogram, stored after the sixth shot is collected, but before the ranging algorithm is executed on that frame's data. HSTART, from PARAM_TABLE, with the LSB cleared is the number of the first bin stored. Bins are represented as bytes, but they are stored as words. Therefore, the bytes are swapped. HSTART correction : HSTART = HSTART + 0xFFFE. The following denotes the range of each bin for each data byte (B[x]). C = 1.536km. B[0] : (HSTART + 1) * C; B[1] : (HSTART + 0) * C; B[2] : (HSTART + 3) * C; B[3] : (HSTART + 2) * C; B[4] : (HSTART + 5) * C; B[5] : (HSTART + 4) * C; B[6] : (HSTART + 7) * C; B[7] : (HSTART + 6) * C; B[8] : (HSTART + 9) * C; B[9] : (HSTART + 8) * C; B[10] : (HSTART + 11) * C; B[11] : (HSTART + 10) * C; B[12] : (HSTART + 13) * C; B[13] : (HSTART + 12) * C; B[14] : (HSTART + 15) * C; B[15] : (HSTART + 14) * C; B[16] : (HSTART + 17) * C; B[17] : (HSTART + 16) * C; B[18] : (HSTART + 19) * C; B[19] : (HSTART + 18) * C; B[20] : (HSTART + 21) * C; B[21] : (HSTART + 20) * C; B[22] : (HSTART + 23) * C; B[23] : (HSTART + 22) * C; B[24] : (HSTART + 25) * C; B[25] : (HSTART + 24) * C; B[26] : (HSTART + 27) * C; B[27] : (HSTART + 26) * C; B[28] : (HSTART + 29) * C; B[29] : (HSTART + 28) * C; B[30] : (HSTART + 31) * C; B[31] : (HSTART + 30) * C; B[32] : (HSTART + 33) * C; B[33] : (HSTART + 32) * C; B[34] : (HSTART + 35) * C; B[35] : (HSTART + 34) * C; B[36] : (HSTART + 37) * C; B[37] : (HSTART + 36) * C; B[38] : (HSTART + 39) * C; B[39] : (HSTART + 38) * C; B[40] : (HSTART + 41) * C; B[41] : (HSTART + 40) * C; B[42] : (HSTART + 43) * C; B[43] : (HSTART + 42) * C; B[44] : (HSTART + 45) * C; B[45] : (HSTART + 44) * C; B[46] : (HSTART + 47) * C; B[47] : (HSTART + 46) * C" END_OBJECT = COLUMN OBJECT = COLUMN NAME = HSTART_VALUE_HISTOGRAM_DUMP DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 255 BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "Value of HSTART from Parameter table, stored at packet completion. Stored at the end of the packet collection cycle. HSTART is used to store the Histogram dump bins on the previous frame (2 seconds earlier). HSTART is right shifted one bit and used as a word pointer, therefore, its LSB is cleared. B[0] = MSByte of HSTART; B[1] = LSByte of HSTART" END_OBJECT = COLUMN OBJECT = COLUMN NAME = VALID_COMMANDS_RECEIVED_COUNT DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 257 BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "Number of Time broadcast and Parameter update and channel on/off commands executed, never cleared, init. = 0. This is a 16 bit counter that starts at 0 after a CPU reset and rolls over from 0FFFFh to 0. Valid MOLA specific commands are defined as Channel ON/OFF commands and Parameter Update command (irregardless of parameter offset validity - invalid offsets are flagged and counted as Subcommand errors). All other MOLA specific commands are either flagged as errors or cause a mode change or CPU reset. B[0] = MSByte and B[1] = LSByte of valid cmd counter" END_OBJECT = COLUMN OBJECT = COLUMN NAME = MEMORY_DUMP_SEGMENT DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 259 BYTES = 16 ITEMS = 8 ITEM_BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "16 bytes read from memory space starting at ((SEQUENCE & 0x3FFh)*16), dumps 0 - 3FFFh then starts again at 0. Using the lower 11 bits of the SEQUENCE count, stored in this packet, multiplied by 16 as the starting byte address, 8 words are read from RAM and stored in the packet. The following denotes the memory address at each data byte (B[x]). C = ((SEQUENCE & 0x3FFF) *16). B[ 0] : C + 1; B[ 1] : C + 0; B[ 2] : C + 3; B[ 3] : C + 2; B[ 4] : C + 5; B[ 5] : C + 4; B[ 6] : C + 7; B[ 7] : C + 6; B[ 8] : C + 9; B[ 9] : C + 8; B[10] : C + 11; B[11] : C + 10; B[12] : C + 13; B[13] : C + 12; B[14] : C + 15; B[15] : C + 14" END_OBJECT = COLUMN OBJECT = COLUMN NAME = COMMAND_ECHO DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 275 BYTES = 16 ITEMS = 8 ITEM_BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "First 8 command words received during current packet, only complete commands are stored, MOLA specific commands only. The software attempts to echo all valid commands. If the command will fit in the room remaining in the buffer, then it is stored and that much room is removed from that which remains in the echo buffer. If a command will not fit, then a buffer overflow is flagged, but subsequent commands that will fit are still stored in the buffer. B[ 0] : MSB of command word (CW) #1; B[ 1] : LSB of CW#1; B[ 2] : MSB of CW#2; B[ 3] : LSB of CW#2; B[ 4] : MSB of CW#3; B[ 5] : LSB of CW#3; B[ 6] : MSB of CW#4; B[ 7] : LSB of CW#4; B[ 8] : MSB of CW#5; B[ 9] : LSB of CW#5; B[10] : MSB of CW#6; B[11] : LSB of CW#6; B[12] : MSB of CW#7; B[13] : LSB of CW#7; B[14] : MSB of CW#8; B[15] : LSB of CW#8. NOTE: The command echo buffer is filled with zeros at the start of each packet." END_OBJECT = COLUMN OBJECT = COLUMN NAME = PACKET_VALIDITY_CHECKSUM DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 291 BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "Simple 16 bit addition of entire packet contents upon completion. This location is zeroed for addition. This word is zeroed, then words 0-539 are added without carry to a variable that is initially zero. The resulting lower 16 bits are stored in this location. To verify, read, store, and clear this location. Then, word add without carry these 540 words and compare the lower 16 bits with the stored value." END_OBJECT = COLUMN OBJECT = CONTAINER NAME = FRAME_STRUCTURE ^STRUCTURE = "MOLASCFR.FMT" START_BYTE = 293 BYTES = 134 REPETITIONS = 7 DESCRIPTION = "The MOLA data described on a per frame basis; there are 7 frames in a packet; 20 laser shots per frame." END_OBJECT = CONTAINER