MARS GLOBAL SURVEYOR

MOLA AGGREGATED EXPERIMENT DATA RECORD
SOFTWARE INTERFACE SPECIFICATION
(MOLA AEDR SIS)

Version 2.0
February 27, 1998

NASA
Goddard Space Flight Center
Greenbelt MD 20771

Submitted: ________________________________________________ __________
Gregory A. Neumann Date
MOLA Science Team

Concurred: ________________________________________________ __________
Maria Zuber Date
MOLA Deputy Principal Investigator

Approved: ________________________________________________ __________
David E. Smith Date
MOLA Principal Investigator

MARS ORBITER LASER ALTIMETER
AGGREGATED EXPERIMENT DATA RECORD
SOFTWARE INTERFACE SPECIFICATION
(MOLA AEDR SIS)
Document and Change Control Log
DateVersionSectionStatus
03/31/971.0allReleased for MGS
02/27/982.0allRevised for PDS MGS CD-ROM Sampler
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

SectionTable of Contents
1.0 General Description
1.1Purpose
1.2Scope
1.3Applicable Documents
1.4Functional Description
1.4.1Data Source, Destination, and Transfer Method
1.4.2Pertinent Relationships with Other Interfaces
1.4.3Labeling and Identification
1.4.4Assumptions and Constraints
2.0Environment
2.1Hardware Characteristics and Limitations
2.2Interface Medium and Characteristics
2.3Input / Output Protocols
2.4Failure Protection, Detection, and Recovery Features
2.4.1Backup Requirements
2.4.2Security and Integrity Measures
2.5End-Of-File (or Medium) Conventions
2.6Utility Programs
3.0Data Flow Characteristics
3.1Operational Characteristics
3.1.1Generation Method and Frequency
3.1.2Time Span of Product
3.2Data Volume
3.3Flow Rate
4.0Detailed Data Object Definition
4.1Structure and Organization Overview
4.2Data Format and Definition
4.2.1Format
4.2.2Externally Declared Structure Templates
4.2.3Data Description

List of Figures
1AEDR Label and Data Format

List of Tables
1AEDR Science Mode Packet Format
2AEDR Maintenance Mode Packet Format

List of Appendices
Appendix AAEDR Science Mode Data Dictionary
Appendix BAEDR Maintenance Mode Data Dictionary
Appendix C.1AEDR Data Product SFDU Labels and Catalog Header
Appendix C.2Contents of The MOLASCI.FMT File
Appendix C.3Contents of The MOLAMNT.FMT File
Appendix C.4Contents of The MOLASCFR.FMT File
Appendix C.5Contents of The MOLASCCT.FMT File

1.0 General Description

The MOLA Science Team is required to create, validate, and archive the MOLA standard data products. To define each standard data product, the MOLA Science Team is required to provide a Software Interface Specification (SIS). The SIS shall describe the data product contents and define the record and data format. The Planetary Data System's (PDS) Geosciences Node has agreed to archive the MOLA standard data products. The MOLA archive volume shall be described in a separate SIS. The MOLA standard science data products are the Aggregated Experiment Data Record--all MOLA raw data aggregated by orbit; Precision Experiment Data Record--MOLA science data processed into profiles with precision orbit locations added; Any Experiment Gridded Data Record--MOLA gridded data in 2 different densities. This SIS shall define the Aggregated Experiment Data Record (AEDR) Data Product.

1.1 Purpose

This document describes the format and contents of the AEDR data product. This includes a description of the required SFDU format and the format and contents of the AEDR.

1.2 Scope

This SIS describes the format of the SFDU labels and headers and the AEDR to the bit level. The AEDR file is an aggregation of the MOLA telemetry packets (Experiment Data Records) received from the Space Flight Operations Center (SFOC) at the Jet Propulsion Laboratory (JPL). The Experiment Data Records (EDRs) will be produced continuously during instrument operation. The instrument can operate in either science or maintenance mode; data is collected during each mode and stored in the telemetry packets. There are three types of maintenance (or diagnostic) modes that the instrument can be commanded to perform with varying output stored in the packet. Consequently, there are several record formats possible within the AEDR file. The formats of all record types are described in this SIS.

1.3 Applicable Documents

1. DRSE007 Mars Observer Software Interface Specification MOLA Packet Data Record, September 16, 1991, Jet Propulsion Laboratory

2. SFOC0038-05-12-03 SFOC Software Interface Specification SFDUs Generated/Received by TIS, November 30, 1990, Jet Propulsion Laboratory

3. MOLA-672-PL-89.354 Operations Facility Configuration and Control Plan, Version 3.0, January 15, 1992, NASA GSFC WFF

4. SFOC0088-00-04-02 SFOC User's Guide for Workstation End Users, Volume 2: Accessing Data, Version 15 (Review Copy Only)

5. SFOC0038-00-TBD-01 SFOC-2-CDB-Any-Catalog 2, Draft, February 6, 1990

6. MOLA-972-SP-92.213 MOLA CD-ROM Standard Product Archive Collection Software Interface Specification, Version 1.0, S. Slavney, R. E. Arvidson, Washington University, August 11, 1993

1.4 Functional Description

1.4.1 Data Source, Destination, and Transfer Method

The source of the telemetry packet data is SFOC through a dedicated NASA Communications (NASCOM) link to the MOLA Science Operations Planning Computer (SOPC). The packets will be aggregated by orbit using the SFOC-provided Browser tool and stored as an AEDR file on the SOPC. Refer to Applicable Document #3 for a description of the SOPC. The Browser tool is described in Applicable Document #4. The AEDR files will be transferred to the MOLA operations file system via FTP (standard UNIX File Transfer Protocol). From the MOLA operations file system, the AEDR file is available for retrieval by the science team via FTP and for input to the processor to create the PEDR Data Product. The AEDR Data Product will be created by prefixing the required SFDU and PDS labeling to the AEDR file. After product verification by the MOLA Science Team, the AEDR data product shall be transferred to the SOPC for subsequent delivery to the Planetary Data System's (PDS) Geosciences No

1.4.2 Pertinent Relationships with Other Interfaces

Since the AEDR file is an aggregation of the MOLA Experiment Data Records (EDR), any changes to the EDR may directly affect the AEDR file.

The Precision Experiment Data Record (PEDR) Data Product is derived from the AEDR file. Therefore, any changes to the AEDR file may affect the software creating the PEDR Data Product.

1.4.3 Labeling and Identification

The AEDR data product shall be labeled according to the standards of the MGS Project and the PDS. SFDU label and header definitions and descriptions are contained in Applicable Document #2.

The data set id for the MOLA AEDR data product is MO-M-MOLA-2-AEDR-L0-V1.0. This is the data set id that was provided to the PDB and the PDS. This id describes the overall AEDR data product. The version number is incremented should the AEDR Data Product format change.

The file naming convention for each AEDR data product produced is AA#####a.b.

Where:

Arepresents the MOLA instrument, an altimeter
Ais the data product, AEDR, identifier
#####is the orbit number with leading zeros
ais the product edition number
bindicates the file is fixed point, binary.

1.4.4 Assumptions and Constraints

1. The AEDR product contains all MOLA telemetry packets.

2. Each AEDR retains the CHDO information contained in the corresponding EDR.

3. The AEDR product will contain one orbit of data.

4. Each record will contain one packet of MOLA data.

5. SFDU headers and labels will be attached to the AEDR file.

6. The EDR format will be maintained in the AEDR.

2.0 Environment

2.1 Hardware Characteristics and Limitations

Not applicable.

2.2 Interface Medium and Characteristics

For the creation and archival of the AEDR file, several interfaces will be necessary: SFOC-to-SOPC transfer of telemetry packets (EDRs) via NASCOM link. The AEDR file shall be transferred to the MOLA operations file system for further processing to create the PEDR Data Product and for Science Team availability.

The AEDR Data Product shall be distributed to the PDS Geosciences Node for archival. The MOLA CD-ROM Archive Volume SIS, Applicable Document #6 for the CD-ROM structure and data access information.

The interface media for file transfer and distribution are described in detail in Applicable Document #3.

2.3 Input / Output Protocols

Not applicable.

2.4 Failure Protection, Detection, and Recovery Features

2.4.1 Backup Requirements

The AEDR data product will be backed up on magnetic media on the MOLA operations file system at GSFC. The AEDR data product will be archived by the PDS to CD-ROM. The MGS Project Data Base will be available as an additional backup location.

2.4.2 Security and Integrity Measures

Refer to Applicable Document #3 for a description of the MOLA system security and integrity plan.

2.5 End-Of-File (or Medium) Conventions

The AEDR Data Product shall be written as a standard UNIX flat, sequential file. The end of an AEDR Data Product will be detected by the end-of-file marker.

2.6 Utility Programs

The following utilities are provided by SFOC and will be used to check the AEDR files for completeness and validity:

1. Browser

2. DECOM

3. DMD

Refer to Applicable Document #4 for the description and the functions of these utilities.

3.0 Data Flow Characteristics

3.1 Operational Characteristics

3.1.1 Generation Method and Frequency

The process to create the AEDR data product is performed as part of MOLA mission operations. The telemetry packets will be aggregated on a Mars Global Surveyor mapping orbit basis. There will be approximately 12 orbits per day with each orbit taking 117 minutes 39 seconds to complete. The mapping mission will last for one Martian year which is 687 Earth days.

3.1.2 Time Span of Product

The AEDR data products will be produced continuously for the life of mission (687 days). Each product will contain approximately 7000 seconds of data.

3.2 Data Volume

The daily volume of telemetry data is about 8 Mbytes or approximately 6000 packets per day.

3.3 Flow Rate

Nominally, the AEDR Data Product is created on the SOPC and transferred to the MOLA operations file system once per day for the previous 24 hours of data. Since MOLA operations will be performed during a standard five day work week, on Mondays (or the first day of the work week) the processing will need to include the data collected since the last day of the previous work week.

4.0 Detailed Data Object Definition

4.1 Structure and Organization Overview

The AEDR products will be built to include the required SFDU structure. See Applicable Document #6 for a definition of SFDUs and their structure.

4.2 Data Format and Definition

4.2.1 Format

The AEDR product will have SFDU labels and headers, as required by Mars Global Surveyor. These will be attached to the AEDR file which will contain one orbit of AEDRs.

4.2.2 Externally Declared Structure Templates

Format files describing the record format of the AEDR data product shall be provided to the Planetary Data System. The format files are referenced by the AEDR data product label. The format files are MOLASCI.FMT and MOLAMNT.FMT. These files are provided in Appendix C.2 and Appendix C.3. Additionally, MOLASCI.FMT references the format files MOLASCFR.FMT and MOLASCCT.FMT to further describe the AEDR format. These files are provided in Appendix C.4 and Appendix C.5.

4.2.3 Data Description

The product will be formatted as a Standard Formatted Data Unit (SFDU). This means the AEDR data shall be wrapped in a series of labels (the SFDU Primary Label, the K-Header, and the I-class Label) describing the data and supplying required information to the Project Database. An orbit of AEDRs shall make up the data portion of the file. Figure 1 depicts the overall Product format. The sections below describe each label and the data records in detail. The labels were created using Applicable Document #5 and Applicable Document #6 as guidelines. Label formats are provided in Appendix C.

4.2.3.1 Primary SFDU Label
The Primary SFDU Label, also known as the aggregation label, wraps and therefore, delimits the entire product. The Primary Label is 20 bytes long and shall have the following format for the AEDR Data Product. The start label is

CCSD3ZF0000100000001

where:

CCSDis the Control Authority ID
3is the SFDU version ID
Zis the class ID for primary labels
Fis the SFDU delimiter type, delimits product by total EOFs
0is a spare octet
0001is the Data Descriptive Package ID
00000001is the delimiter value field, Total EOF Indicator Count (ASCII)

4.2.3.2 K-Header
The K-header is made up of a label and catalog data objects that are to be stored in the Mars Global Surveyor PDB. The start label has the following form:

NJPL3KS0PDSX$$INFO$$

where:

NJPLis the Control Authority ID
3is the SFDU version ID
Kis the class ID for catalog data object labels
Sis the SFDU delimiter type, start marker
0is a spare octet
PDSXis the Data Descriptive Package ID
$$INFO$$is the delimiter value for this label

After the label, shall be the catalog entries required by the Project. These shall be in the KEYWORD=VALUE format. The catalog entries (keywords) that are required by the Project are

PDS_VERSION_ID
RECORD_TYPE
FILE_RECORDS
RECORD_BYTES
LABEL_RECORDS
FILE_NAME
DATA_SET_ID
PRODUCT_ID
SPACECRAFT_NAME
INSTRUMENT_ID
INSTRUMENT_NAME
TARGET_NAME
SOFTWARE_NAME
UPLOAD_ID
PRODUCT_RELEASE_DATE
START_TIME
STOP_TIME
SPACECRAFT_CLOCK_START_COUNT
SPACECRAFT_CLOCK_STOP_COUNT
PRODUCT_CREATION_TIME
MISSION_PHASE_NAME
ORBIT_NUMBER
PRODUCER_ID
PRODUCER_FULL_NAME
PRODUCER_INSTITUTION_NAME
DESCRIPTION

Example catalog entries and their values are provided in Appendix C.1.

The catalog entries will be delimited by the K-header end label; it has the following form:

CCSD$$MARKER$$INFO$$

4.2.3.3 I-class Label
The I-class Label precedes the actual data in the SFDU. This label is also known as the data object label or the tertiary header. The I-class label is registered individually with the JPL Control Authority and bears a unique DDPID. The start label has the following format

NJPL3IF0000000000001

where:

NJPLis the Control Authority ID
3is the SFDU version ID
Iis the class ID for data labels
Fis the SFDU delimiter type, delimits by total EOFs
0is a spare octet
0000is the Data Descriptive Package ID
00000001is the delimiter value field, Total EOF Indicator Count (ASCII)

4.2.3.4 Data Format
The data is written sequentially. Each record will contain one packet of MOLA telemetry data--either science or maintenance mode and its corresponding CHDO header. The MOLA telemetry data is described in Applicable Document #1. This document also defines the CHDO header format. Byte 11 in each AEDR indicates the mode for the packet: 0 indicates normal science mode; 1, 2, or 3 indicate maintenance (diagnostic) mode. To date, values 4 and above have not been assigned. Table 1 and Table 2 describe the record formats for the Aggregated Experiment Data Record (AEDR) MOLA Science Mode Packet and the Aggregated Experiment Data Record (AEDR) MOLA Maintenance Mode Packet. The tables define the record format to the bit level. The tables define the starting byte for each data element in the record. Refer to the AEDR data dictionaries in Appendix A and Appendix B for detailed descriptions and format
FIGURES

Figure 1. AEDR Data Product Structure and Organization
PRIMARY SFDU START LABEL
K-HEADER START LABEL
CATALOG ENTRIES:

KEYWORD=VALUE

K-HEADER END LABEL
I-CLASS START LABEL
 

 

 

 

1 ORBIT
AEDR
DATA

 

 

 

 

TABLES

Table 1. AEDR Science Mode Packet Format
Start
Byte
Data ElementsLength
(bits)
Length
(bytes)
0CHDO header1200150
150Source primary header486
156Time code words405
161Packet Type (0 = normal science)MuxChan81
162Computer Memory temperatureA281
163Computer CPU temperatureA181
164Power Supply temperatureA481
165Computer I/O temperatureA381
166LASER array heat sink temperatureA681
167LASER diode array drive electronics temperatureA581
168Optical Test Source (OTS) LED temperatureA881
169100 MHz Oscillator temperatureA781
170Start Detector temperatureA1081
171Outside Detector Box temperatureA981
172LASER Radiator Opposite Output port temperatureA1281
173LASER Radiator Output port temperatureA1181
174Interface Plate near "hot foot" temperatureA1481
175Radiation sheet transition temperatureA1381
176Electronics Box top near S/C thermistor temperatureA1681
177LASER Box near "hot foot" temperatureA1581
17828 Volt monitorB281
179Reference Voltage monitorB181
180+12 Volt voltage monitorB481
181+24 Volt voltage monitorB381
182+5 Volt voltage monitorB681
183-12 Volt voltage monitorB581
184LASER / thermal current monitorB881
185-5 Volt voltage monitorB781
186Power Supply current monitorB1081
187High Voltage current monitorB981
188-12 Volt current monitorB1281
189+12 Volt current monitorB1181
190-5 Volt current monitorB1481
191+5 Volt current monitorB1381
192Current STATUS register value (SEU counter)81
193Software Version Number (4.4 bit format)81
194Flag word (2 KB RAM block test)162
196Status Flags (EFLAG1(16 bits),EFLAG2(16 bits))324
200Software validity checksum162
202Received command count (modulo 8 bits)81
203Command error count (modulo 8 bits)81
204Transmitter threshold setting (XMITDA)81
205Range Tracking Status (frame #7654321) (1=tracking, 0=acquisition, MSB=OTS)81
206Range gate tracker array (73.728 km starting at HSTART)38448
254HSTART value for HISTOGRAM dump162
256Valid commands received count (modulo 16 bits)162
258Memory dump segment (16 Kbytes/16 bytes = 1024 packets ~= 4 hours)12816
274Command echo12816
290Packet validity checksum162
292Frame 1 / Shot 1 Range to surface (TIU counts)162
2941st channel received pulse energy (counts)81
2951st channel received Channel number / Pulse width81
296Shot 2324
300Shot 3324
304Shot 4324
308Shot 5324
312Shot 6324
316Shot 7324
320Shot 8324
324Shot 9324
328 Shot 10324
332Shot 11324
336 Shot 12324
340Shot 13324
344Shot 14324
348Shot 15324
352Shot 16324
356Shot 17324
360Shot 18324
364Shot 19324
368Shot 20324
372Shot 2 LASER transmitter power81
373Shot 1 LASER transmitter power81
374Shot 4 LASER transmitter power81
375Shot 3 LASER transmitter power81
376Shot 6 LASER transmitter power81
377Shot 5 LASER transmitter power81
378Shot 8 LASER transmitter power81
379Shot 7 LASER transmitter power81
380Shot 10 LASER transmitter power81
381Shot 9 LASER transmitter power81
382Shot 12 LASER transmitter power81
383Shot 11 LASER transmitter power81
384Shot 14 LASER transmitter power81
385Shot 13 LASER transmitter power81
386Shot 16 LASER transmitter power81
387Shot 15 LASER transmitter power81
388Shot 18 LASER transmitter power81
389Shot 17 LASER transmitter power81
390Shot 20 LASER transmitter power81
391Shot 19 LASER transmitter power81
392Shot 3 Encoder start and stop bits40.5
392.5Shot 4 Encoder start and stop bits40.5
393Shot 1 Encoder start and stop bits40.5
393.5Shot 2 Encoder start and stop bits40.5
394Shot 7 Encoder start and stop bits40.5
394.5Shot 8 Encoder start and stop bits40.5
395Shot 5 Encoder start and stop bits40.5
395.5Shot 6 Encoder start and stop bits40.5
396Shot 11 Encoder start and stop bits40.5
396.5Shot 12 Encoder start and stop bits40.5
397Shot 9 Encoder start and stop bits40.5
397.5Shot 10 Encoder start and stop bits40.5
398Shot 15 Encoder start and stop bits40.5
398.5Shot 16 Encoder start and stop bits40.5
399Shot 13 Encoder start and stop bits40.5
399.5Shot 14 Encoder start and stop bits40.5
400Shot 19 Encoder start and stop bits40.5
400.5Shot 20 Encoder start and stop bits40.5
401Shot 17 Encoder start and stop bits40.5
401.5Shot 18 Encoder start and stop bits40.5
402TIU upper range bits40.5
402.5Receiver channel mask status (ALTMOD)40.5
403Algorithm status (HIT_CNT)81
404Channel 1 1st half-frame threshold setting81
405Channel 2 1st half-frame threshold setting81
406Channel 3 1st half-frame threshold setting81
407Channel 4 1st half-frame threshold setting81
408Channel 1 2nd half-frame threshold setting81
409Channel 2 2nd half-frame threshold setting81
410Channel 3 2nd half-frame threshold setting81
411Channel 4 2nd half-frame threshold setting81
412Range delay162
414Range width162
416Algorithm status (MIN_HITS)81
417Software status (frame counter in upper 4 bits, trigger channel in lower 4 bits)81
418Channel 1 1st half-frame background count (PLog base 2 5.3 bit format)81
419Channel 2 1st half-frame background count81
420Channel 3 1st half-frame background count81
421Channel 4 1st half-frame background count81
422Channel 1 2nd half-frame background count81
423Channel 2 2nd half-frame background count81
424Channel 3 2nd half-frame background count81
425Channel 4 2nd half-frame background count81
426Frame 21072134
560Frame 31072134
694Frame 41072134
828Frame 51072134
962Frame 61072134
1096Frame 71072134
1230TOTALS98401230

Table 2. AEDR Maintenance Mode Packet Format
Start
Byte
Data ElementsLength
(bits)
Length
(bytes)
0CHDO1200150
150Source primary header486
156Time code words405
161Packet type (1 = status packet, 2 = memory dump, 3 = noise count)81
162Comp. Memory Temperature81
163Comp. CPU temp.81
164Power Supply temp.81
165Comp. I/O temp.81
166LASER array sink heat temp.81
167LASER diode array drive temp.81
168Optical Test Source (OTS) LED temp.81
169100 MHz Osc. temp.81
170Start Detector temp.81
171Outside Detector box temp.81
172LASER Radiator Opposite Output port temp.81
173LASER Radiator Output port temp.81
174I/F Plate near "hot foot" temp.81
175Radiation sheet transition temp.81
176Electronics Box top near S/C thermistor temp.81
177LASER Box near "hot foot" temp.81
17828V Monitor81
179Reference Voltage monitor81
180+12V mon.81
18124V mon.81
182+5V mon.81
183-12V mon.81
184LASER/thermal current mon.81
185-5V mon.81
186PS current mon.81
187HV current mon.81
188-12V current mon.81
189+12V current mon.81
190-5V current mon.81
191+5V current mon.81
192STATUS register value (SEU counter)81
193Software Version 4.4 bit format81
194Flag word (2 KB RAM block test)162
196Command count (Parameter Updates)162
198Command count (Memory Loads)162
200Command count (Memory Dumps)162
202Command errors162
204Status flags162
206Sub-command errors162
208Commands received162
210Command echo1232154
364Memory Dump Start Address162
366Memory Dump Length162
368Memory Dump Segment6880860
1228Packet Checksum162
1230Total98401230

Appendix A AEDR File Science Mode Data Dictionary

Version 6.0, 9/26/96

ENTRY_NAME = "Aggregated Experiment Data Record
File"
 COMMENTS = "The first archived MOLA data product. The experiment 
data records grouped by orbit. The Level 0 data product consisting of
all 14-second science and maintenance mode telemetry data packets or
EDRs collected in chronological order for a specific Mars orbit to
form the raw packet data file." ALIAS = "AEDR File; MOLA Aggregated Packet Data File" AUTHOR = "Abshire, Blair, Hancock, Hayne, and Northam" ENTRY_TYPE = "GROUP" DATE_CREATED = 08/27/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = "N/A" FIELD_FORMAT = "One logical record per physical record
(unblocked)" ALLOW_BLANKS = "N/A" BINARY_VALUES = "N/A" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = "AEDR + AEDR + ... + AEDR" DATA_TYPE = "sequential access file" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "N/A" UNITS = "N/A" ENTRY_NAME = "Aggregated Experiment Data Record" COMMENTS = "The first archived MOLA data product logical record.
The experiment data record. The Level 0 data product logical record;
a 14-second science or maintenance mode telemetry data packet or EDR.
Packet Error Control is optional; it is not used for MOLA" ALIAS = "AEDR; MOLA Raw Packet; Maintenance Mode EDR; Science
Mode EDR" AUTHOR = "Abshire, Blair, Hancock, Hayne, and Northam" ENTRY_TYPE = "GROUP" DATE_CREATED = 08/27/90 DATE_MODIFIED = 12/02/92 FIELD_NAME = "N/A" FIELD_FORMAT = "N/A" ALLOW_BLANKS = "N/A" BINARY_VALUES = "N/A" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = "CHDO+P_SHDR+TIMCD+SOURCE_DATA+Packet Error
Control" DATA_TYPE = "logical record" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per 14-seconds" UNITS = "N/A" ENTRY_NAME = "Packet CHDO" COMMENTS = "The compressed header data object applied to the
packet by the Telemetry Input System (TIS); 150 bytes" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/02/92 DATE_MODIFIED = 12/02/92 FIELD_NAME = CHDO FIELD_FORMAT = "150 bytes" ALLOW_BLANKS = "N/A" BINARY_VALUES = "1200-bit, unsigned" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = CHDO DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per 14-seconds" UNITS = "N/A" ENTRY_NAME = "Packet source header" COMMENTS = "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." ALIAS = "telemetry packet header, primary header" AUTHOR = "Garvin, Hancock, Northam, and Jester" ENTRY_TYPE = "GROUP" DATE_CREATED = 03/17/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = P_SHDR FIELD_FORMAT = "3I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "48-bit, unsigned" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = " PKT_ID + SEQ_CTRL + PKT_LEN" DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per 14-seconds" UNITS = "N/A" ENTRY_NAME = "Packet ID" COMMENTS = "Identifies the format and originating source of the
packet." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "GROUP" DATE_CREATED = 12/07/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = PKT_ID FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16-bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = " VERS_NUM + SPARE + FLAG + APPL_ID" DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per 14-seconds" UNITS = "N/A" ENTRY_NAME = "Version number" COMMENTS = "These bits identify Version 1 as the Source Packet
structure. These bits shall be set to '000'." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/07/90 DATE_MODIFIED = 09/24/91 FIELD_NAME = VERS_NUM FIELD_FORMAT = "3 bits (0-2)" ALLOW_BLANKS = "N/A" BINARY_VALUES = "UNSIGNED" RANGE = 0:7 DISCRETE_VALUES = {0} COMPOSITION = VERS_NUM DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per 14 seconds" UNITS = "N/A" ENTRY_NAME = "Spare" COMMENTS = "Reserved spare. This bit shall be set to '0'." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/07/90 DATE_MODIFIED = 09/24/91 FIELD_NAME = SPARE FIELD_FORMAT = "1 bit (3)" ALLOW_BLANKS = "N/A" BINARY_VALUES = "UNSIGNED" RANGE = 0:0 DISCRETE_VALUES = {0} COMPOSITION = SPARE DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per 14 seconds" UNITS = "N/A" ENTRY_NAME = "Flag" COMMENTS = "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." ALIAS = "Secondary header flag" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/07/90 DATE_MODIFIED = 09/24/91 FIELD_NAME = FLAG FIELD_FORMAT = "1 bit (4)" ALLOW_BLANKS = "N/A" BINARY_VALUES = "UNSIGNED" RANGE = 0:0 DISCRETE_VALUES = {0} COMPOSITION = FLAG DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per 14 seconds" UNITS = "N/A" ENTRY_NAME = "Application ID" COMMENTS = "This field uniquely identifies the individual
application process within the spacecraft that created the Source
Packet data." ALIAS = "Application Process ID" AUTHOR = "Jester" ENTRY_TYPE = "GROUP" DATE_CREATED = 12/07/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = APPL_ID FIELD_FORMAT = "11 bits (5 - 15)" ALLOW_BLANKS = "N/A" BINARY_VALUES = "N/A" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = "ERR_STAT + INSTR_ID" DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per 14 seconds" UNITS = "N/A" ENTRY_NAME = "Error status bits (PDS)" COMMENTS = "N/A" /* Don't have a detailed description of this packet value */ ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = ERR_STAT FIELD_FORMAT = "3 bits (5-7)" ALLOW_BLANKS = "N/A" BINARY_VALUES = "UNSIGNED" RANGE = 0:7 DISCRETE_VALUES = N/A COMPOSITION = ERR_STAT DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per 14 seconds" UNITS = "N/A" ENTRY_NAME = "Instrument ID" COMMENTS = "00100011 is the bit pattern for MOLA" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = INSTR_ID FIELD_FORMAT = "8 bits (8-15)" ALLOW_BLANKS = "N/A" BINARY_VALUES = "UNSIGNED" RANGE = "N/A" DISCRETE_VALUES = {00100011 (35)} COMPOSITION = INSTR_ID DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per 14 seconds" UNITS = "N/A" ENTRY_NAME = "Sequence control" COMMENTS = "N/A" ALIAS = "Packet sequence control" AUTHOR = "Jester" ENTRY_TYPE = "GROUP" DATE_CREATED = 12/06/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = SEQ_CTRL FIELD_FORMAT = I*2 ALLOW_BLANKS = "N/A" BINARY_VALUES = "16-bit, unsigned" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = "SEG_FLAG + SEQ_CNT" DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per 14-seconds" UNITS = "N/A" ENTRY_NAME = "Segmentation Flag" COMMENTS = "For Mars Global Surveyor segmentation shall not
occur. These bits shall be set to '11'." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/07/90 DATE_MODIFIED = 09/24/91 FIELD_NAME = SEG_FLAG FIELD_FORMAT = "2 bits (0-1)" ALLOW_BLANKS = "N/A" BINARY_VALUES = "UNSIGNED" RANGE = "N/A" DISCRETE_VALUES = {11 (3)} COMPOSITION = SEG_FLAG DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per 14 seconds" UNITS = "N/A" ENTRY_NAME = "Sequence count" COMMENTS = "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 last four bits are the counter into the OTS array in the
Parameter Table." ALIAS = "Source sequence count" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/07/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = SEQ_CNT FIELD_FORMAT = "14 bits (2-15)" ALLOW_BLANKS = "N/A" BINARY_VALUES = "UNSIGNED" RANGE = 0:16383 DISCRETE_VALUES = "N/A" COMPOSITION = SEQ_CNT DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Packet length" COMMENTS = "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)" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/06/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = PKT_LEN FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16-bit, unsigned, fixed-point" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = PKT_LEN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 14-seconds" UNITS = "COUNTS" ENTRY_NAME = "MOLA System time code" COMMENTS = "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 command with S/C +
1 second to arrive at the correct time. B[0] is S/C time in seconds *
224; B[1] is S/C time in seconds * 216; B[2] is S/C time in seconds *
28; B[3] is S/C time in seconds" ALIAS = "N/A" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = TIME FIELD_FORMAT = I*4 ALLOW_BLANKS = "N/A" BINARY_VALUES = "32 bit, unsigned" RANGE = 0:4,294,967,295 DISCRETE_VALUES = "N/A" COMPOSITION = TIME DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Fine Time" COMMENTS = "The hi-resolution timer reading taken during
interrupt handling routine triggered by the trailing edge of the
first 10 Hz interrupt encountered during this packet." ALIAS = "N/A" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = MSECS FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = "MSECS" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Source data" COMMENTS = "The source data field contains the measurement
information generated by the primary application process operating
within each source. The size of the field shall be an integral number
of octets. For MOLA the measurement information is generated by the
Laser Altimeter and the field size is 1080 bytes (8640 bits). The
field size includes the source primary header (48 bits) and the time
code words (40 bits). Both Maintenance Mode and Science Mode packets
are included in compostion." ALIAS = "Telemetry packet data, science mode data" AUTHOR = "Jester" ENTRY_TYPE = "GROUP" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = SOURCE_DATA FIELD_FORMAT = N/A /* Formatted as described in the following entries.
*/ ALLOW_BLANKS = "N/A" BINARY_VALUES = "UNSIGNED" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = " 'PKT_TYPE + ENG_HSK_DAT + SEU_CNT + SW_VNUM +
FL_RAMTEST + SCI_DAT' or 'PKT_TYPE + ENG_HSK_DAT + SEU_CNT + SW_VNUM
+ FL_RAMTEST + MM_DAT'" DATA_TYPE = "N/A" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "N/A" ENTRY_NAME = "Packet type" COMMENTS = "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]. Values 4 - 255 are reserved for future modes. Modes 0, 1, 2
are hard coded in the flight software. Mode 3 is the result of a code
patch. The packet type value should be patched when a code patch
occurs that affects that mode's packet content." ALIAS = "N/A" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = PKT_TYPE FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "unsigned, 8 bit" RANGE = 0:255 DISCRETE_VALUES = {0, 1, 2, ..., 255} COMPOSITION = PKT_TYPE DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "N/A" ENTRY_NAME = "Engineering/Housekeeping data" COMMENTS = "Analog monitor values; occur once per packet. Used
for instrument health and welfare assessment." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "GROUP" DATE_CREATED = 03/06/91 DATE_MODIFIED = 08/20/91 FIELD_NAME = ENG_HSK_DAT FIELD_FORMAT = N/A /* Formatted as follows */ ALLOW_BLANKS = "N/A" BINARY_VALUES = "UNSIGNED" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = "CM_TMP + CPU_TMP + PS_TMP + IO_TMP + AHS_TMP +
DADE_TMP + LED_TMP + OSC_TMP + SD_TEMP + DB_TMP + LOPP__TMP +
LOUT_TMP + IF_TMP + RST_TMP + EB_TMP + LB_TMP + P28V_MN + RV_MN +
P12V_MN + P24V_MN + P5V_MN + N12V_MN + LTC_MN + N5V_MN + PSC_MN +
HV_MON + N12VC_MN + P12VC_MN + N5VC_MN + P5VC_MN" DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "N/A" ENTRY_NAME = "Computer memory temperature" COMMENTS = "Mux A, Ch #2" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = CM_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = CM_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Computer CPU temperature" COMMENTS = "Mux A, Ch #1" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = CPU_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = CPU_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Power Supply temperature" COMMENTS = "Mux A, Ch #4" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = PS_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = PS_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Computer I/O temperature" COMMENTS = "Mux A, Ch #3" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = IO_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = IO_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "LASER array heat sink temperature" COMMENTS = "Mux A, Ch #6" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = LARY_TEMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = AHS_TEMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "LASER diode array drive electronics temperature" COMMENTS = "Mux A, Ch #5" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = DADE_TEMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = LDRV_TEMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Optical Test Source (OTS) LED temperature" COMMENTS = Mux A, Ch #8 ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = LED_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = LED_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "100 MHz Oscillator temperature" COMMENTS = Mux A, Ch #7 ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = OSC_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = OSC_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Start detector temperature" COMMENTS = "Mux A, Ch #10" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = SD_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = SD_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Outside Detector Box temperature" COMMENTS = Mux A, Ch #9 ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = DH_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = DB_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "LASER Radiator opposite output port
temperature" COMMENTS = Mux A, Ch #11 ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = LOPP_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = LOPP_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "LASER Radiator output port temperature" COMMENTS = "Mux A, Ch #11" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = LOUT_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = LOUT_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Interface Plate near 'hot foot' temperature" COMMENTS = "Mux A, Ch #14" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = IF_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = IF_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Radiation sheet transition temperature" COMMENTS = "Mux A, Ch #13" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = HP_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = RST_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Electronics Box top near S/C thermistor
temperature" COMMENTS = "Mux A, Ch #16" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = EB_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = EB_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "LASER Box near 'hot foot' temperature" COMMENTS = "Mux A, Ch #15" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = LB_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = LB_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "28 Volt monitor" COMMENTS = "Mux B, Ch #2" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = P28V_MN FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = P28V_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Reference Voltage monitor" COMMENTS = "Mux B, Ch #1" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = RV_MN FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = RV_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "+12 Volt voltage monitor" COMMENTS = "Mux B, Ch #4" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = P12V_MN FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = P12V_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "24 Volt voltage monitor" COMMENTS = "Mux B, Ch #3" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = P24V_MN FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = P24V_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "+5 Volt voltage monitor" COMMENTS = "Mux B, Ch #6" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = P5V_MN FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = P5V_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "-12 Volt voltage monitor" COMMENTS = "Mux B, Ch #5" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = N12V_MN FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = N12V_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "LASER / thermal current monitor" COMMENTS = "Mux B, Ch #8" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = LTC_MN FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = LTC_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "-5 Volt voltage monitor" COMMENTS = "Mux B, Ch #7" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = N5V_MN FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = N5V_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Power Supply current monitor" COMMENTS = "Mux B, #10" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = PSC_MN FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = PSC_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "High Voltage current monitor" COMMENTS = "Mux B, Ch #9" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = HV_MON FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = HV_MON DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "-12 Volt current monitor" COMMENTS = "Mux B, Ch #12" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = N12VC_MN FIELD_FORMAT = "I*1 ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = N12VC_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "+12 Volt current monitor" COMMENTS = "Mux B, Ch #11" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = P12VC_MN FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = P12VC_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "-5 Volt current monitor" COMMENTS = "Mux B, Ch #14" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = N5VC_MN FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = N5VC_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "+5 Volt current monitor" COMMENTS = "Mux B, Ch #13" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = P5VC_MN FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = P5VC_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Current STATUS register value (SEU counter)" COMMENTS = "Value read from STATUS register at end of packet
collection cycle. Read STATUS register and store lower 8 bits.
MSnibble = SEU counter value" ALIAS = "STATUS register at end of packet collection cycle" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = SEU_CTR FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = SEU_CTR DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Software Version Number (4.4 bit format)" COMMENTS = "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." ALIAS = "N/A" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = SW_VER FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = SW_VER DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "N/A" ENTRY_NAME = "Flag word (2 KB RAM block test)" COMMENTS = "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. {jbb - A 0 represents a validated
block, while a 0 (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" ALIAS = "RAM block test flag word" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = RAMTEST FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = RAMTEST DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "N/A" NOTE = "At this point the format and data elements in the two
modes differ." ENTRY_NAME = "Science Mode Data" COMMENTS = "The description of the Science Mode Data (SCI_DAT) is
included here. See the AEDR Maintenance Mode Data Dictionary for a
description of the Maintenance Mode telemetry data packets
(MM_DAT)." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 09/28/91 DATE_MODIFIED = 09/28/91 FIELD_NAME = SCI_DAT FIELD_FORMAT = "N/A" ALLOW_BLANKS = "N/A" BINARY_VALUES = "N/A" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = "ST_FLAGS + SW_VAL + RECCMD_CNT + CMDERR_CNT +
XMIT_TH + RT_STAT + R_GATE + HSTART_VAL + VALCMD_CNT + MEM_DUMP +
CMD_ECHO + PKT_VAL + FRM_SHOT_DATA" DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "N/A" ENTRY_NAME = "Status Flags (SFLAG1(16 bits),SFLAG2(16 bits))" COMMENTS = "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 is in Appendix A of the Flight Software's User's
Guide" ALIAS = "32 software status bits" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = "ST_FLG_1,ST_FLG_2" FIELD_FORMAT = "eight 4 bit values" ALLOW_BLANKS = "N/A" BINARY_VALUES = "32 bit, unsigned" RANGE = 0:4,294,967,295 DISCRETE_VALUES = "N/A" COMPOSITION = "ST_FLG_1,ST_FLG_2" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "N/A" ENTRY_NAME = "Software validity checksum" COMMENTS = "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." ALIAS = "N/A" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = SW_CKSM FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bits, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = SW_CKSM DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "N/A" ENTRY_NAME = "Received command count (modulo 8 bits)" COMMENTS = "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." ALIAS = "Number of commands received" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = REC_CMD FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = 8 bits, unsigned RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = REC_CMD DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Command error count (modulo 8 bits)" COMMENTS = "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." ALIAS = "Number of command errors encountered" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = CMD_ERR FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = CMD_ERR DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Transmitter threshold setting (XMITDA)" COMMENTS = "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." ALIAS = "Transmitter start detector threshold setting" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = XMTR_TS FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = XMTR_TS DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = millivolts ENTRY_NAME = "Range Tracking Status" COMMENTS = "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." ALIAS = "Ranging status byte and OTS fire flag value" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = R_TRK_ST FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = R_TRK_ST DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "N/A" ENTRY_NAME = "Range gate tracker array (73.728 km)" COMMENTS = "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" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = R_BIN_HG FIELD_FORMAT = "48 1 byte bins" ALLOW_BLANKS = "N/A" BINARY_VALUES = "384 bits, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = R_BIN_HG DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "HSTART value for HISTOGRAM dump" COMMENTS = "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" ALIAS = "N/A" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = HSTART FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bits, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = "HSTART" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Valid commands received count (modulo 16 bits)" COMMENTS = "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" ALIAS = "# valid MOLA specific commands" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = VAL_CMD FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = VAL_CMD DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Memory dump segment" COMMENTS = "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" ALIAS = "Ram dump portion" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = MEM_DUMP FIELD_FORMAT = "16 1 byte values" ALLOW_BLANKS = "N/A" BINARY_VALUES = "128 bits, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = "MEM_DUMP" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "N/A" ENTRY_NAME = "Command echo" COMMENTS = "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." ALIAS = "Echo valid commands" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = CMD_ECHO FIELD_FORMAT = "8 I*2 words" ALLOW_BLANKS = "N/A" BINARY_VALUES = "128 bits, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = CMD_ECHO DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "N/A" ENTRY_NAME = "Packet validity checksum" COMMENTS = "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." ALIAS = "N/A" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = PKT_CKSM FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65536 DISCRETE_VALUES = "N/A" COMPOSITION = PKT_CKSM DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "N/A" ENTRY_NAME = "Frame /Shot data" COMMENTS = "For each of 7 frames, the good laser data out of 20
laser shots per frame." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "GROUP" DATE_CREATED = 08/20/91 DATE_MODIFIED = 08/20/91 FIELD_NAME = FRM_SHOT_DATA FIELD_FORMAT = "N/A" /* Formatted as described below */ ALLOW_BLANKS = "N/A" BINARY_VALUES = "UNSIGNED" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = "RANGING_CNT + CH_1_RE + CH_2_RE + LZ_XMT + MF_ID +
TIU_URB + RC_MSK + AS_HCT + CH_1_TS + CH_2_TS + CH_3_TS + CH_4_TS +
R_DELAY + R_WIDTH + AS_MHT + SWSTAT + CH_1_BC + CH_2_BC + CH_3_BC +
CH_4_BC" DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per two seconds" UNITS = "COUNTS" ENTRY_NAME = "Range to surface" COMMENTS = "The possible 20 valid frame laser shots surface
ranging measurements in Timing Interval Unit (TIU) counts. The least
significant 16 bits of TIU (LSTIU), stored for every shot. B[0] =
Bits 15 - 8 of TIU reading; B[1] = Bits 7 - 0 of TIU reading" ALIAS = "Lower 16 bits of TIU" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/12/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = RANGING_CNT FIELD_FORMAT = "20 I*2 words" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = "RANGING_CNT" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "10 shots per second" UNITS = "COUNTS" ENTRY_NAME = "1st channel received pulse energy" COMMENTS = "The level of return, reflected energy as received by
the first channel and matched filter to trigger. This is a set of
values for all possible 20 shots within the frame. Lowest numbered
non-zero energy reading for each shot." ALIAS = "Return energy in first triggered channel, First channel
to receive energy" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/12/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = CH_1_RE FIELD_FORMAT = "20 1 byte values" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = CH_1_RE DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "10 per second" UNITS = "COUNTS" ENTRY_NAME = "Channel Number / Pulse Width of Return Energy" COMMENTS = "The channel triggered by the return energy; bits 7,6
= channel number - 1. The pulse width of the returned shot; Bit 5 -
0." ALIAS = "Trigger channel" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 4/1/97 DATE_MODIFIED = 08/20/91 FIELD_NAME = CHAN_PW FIELD_FORMAT = "20 1 byte values" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned, fixed point" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = "CHAN_PW" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "10 per second" UNITS = "COUNTS" ENTRY_NAME = "LASER transmitter power" COMMENTS = "Transmitted laser pulse energy level. This is a set
of values for all 20 shots within the frame. Energy reading for LASER
transmit power for each shot." ALIAS = "Laser transmit power, laser shot power level, Laser shot
transmit power" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/12/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = LZ_XMT FIELD_FORMAT = "20 1 byte values" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned, fixed point" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = "LZ_XMT" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "10 per second" UNITS = "Pulse height" ENTRY_NAME = "Encoder Bits" COMMENTS = "The start and stop encoder bits for each shot.
Applied to range to surface counts to get a more precise range value.
A set of 20 half-byte values, one for each laser shot. Each byte
contains values for an odd and an even numbered shot. Per byte = Bit
7 - 6 - encoder stop bits for odd shots; Bit 5 - 4 - encoder start
bits for odd shots; Bit 3 - 2 - encoder stop bits for even shots; Bit
1 - 0 - encoder start bits for even shots. Odd numbered SHOTs order -
3,1, 7, 5,11, 9, 15, 13, 19, 17; Even numbered SHOTs order - 4, 2, 8,
6, 12, 10, 16, 14, 20, 18" ALIAS = "Interpolator bits" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 4/1/97 DATE_MODIFIED = 4/1/97 FIELD_NAME = ENC_BITS FIELD_FORMAT = "20 0.5 byte values" ALLOW_BLANKS = "N/A" BINARY_VALUES = "4-bit, unsigned, fixed-point" RANGE = 0:15 DISCRETE_VALUES = "N/A" COMPOSITION = "ENC_BITS" DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "10 per second" UNITS = "N/A" ENTRY_NAME = "TIU upper range bits" COMMENTS = "The upper 3 or 3 highest ordered bits of the MOLA
time interval unit (TIU). Only the largest MSTIU value read in
current frame is saved. Only bits 6, 5, 4 are used. With Receiver
channel mask status (bits 3-0) below forms one byte. Will be either
the values 3 or 4." ALIAS = "Most significant portion of the range to surface
measurement" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/12/90 DATE_MODIFIED = 09/24/91 FIELD_NAME = TIU_URB FIELD_FORMAT = "7 0.5 byte values" ALLOW_BLANKS = "N/A" BINARY_VALUES = "4-bit, unsigned" RANGE = 0:7 DISCRETE_VALUES = {3,4} COMPOSITION = "TIU_URB" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 2 seconds; 7 per packet" UNITS = "COUNTS" ENTRY_NAME = "Receiver channel mask status" COMMENTS = "The altimeter channel mask settings from the flight
parameter table at the time of acquisition and storage of the TIU
upper range bits. The mask indicates if the channel filter is active
or is masked out to prevent triggering the TIU. Least significant 4
bits of ALTSET from Parameter table; stored at same time as largest
MSTIU. The value sent to ALTMOD in Altimeter Electronics. With TIU
upper range bits above forms one byte. Bit 3 = Channel 1; Bit 2 =
Channel 2; Bit 1 = Channel 3; Bit 0 = Channel 4. 1 = channel on, 0 =
channel off" ALIAS = "ALTMOD; parameter table channels enabled, Receiver
channel mask status bits" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/12/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = RC_MSK FIELD_FORMAT = "7 0.5 bytes per packet" ALLOW_BLANKS = "N/A" BINARY_VALUES = "4-bit, unsigned" RANGE = 0:15 DISCRETE_VALUES = "N/A" COMPOSITION = "RC_MSK" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 2 seconds" UNITS = "N/A" ENTRY_NAME = "Algorithm status (HIT_COUNT)" COMMENTS = "Current value from the active data frame showing the
number of hits counted in the possible 20 shot hits in the single
frame or the number of hits summed over the possible 100 shots when
in the 5 frame mode. This is an indicator of the performance of the
tracking algorithm. If in the acquisition mode, this field will
contain the number of shot hits from a possible 80 shots within the 4
frame acquisition window. HIT_CNT from previous frame." ALIAS = "Tracking algorithm hit count status" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/12/90 DATE_MODIFIED = 09/24/91 FIELD_NAME = AS_HCT FIELD_FORMAT = "7 1 byte values" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8-bit, unsigned" RANGE = "0:20 or :80(tracking) or :80(acquisition)" DISCRETE_VALUES = {0, 20, 80} COMPOSITION = "AS_HCT" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 2 seconds" UNITS = "COUNTS" ENTRY_NAME = "Channel half-frame threshold settings" COMMENTS = "The active channel threshold settings in the current
frame. The settings of the 4 channel thresholds are sampled for the
first 10 shots in the frame, and again for the final 10 frame shots.
Value of CH(1,2,3,4) TH during a half-frame of current frame." ALIAS = "Receiver threshold settings" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/12/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = "CH_1_TS,CH_2_TS,CH_3_TS,CH_4_TS" FIELD_FORMAT = "8 1 byte values per frame (56 per packet)" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8-bit, fixed point, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = "CH_1_TS,CH_2_TS,CH_3_TS,CH_4_TS" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "0nce per second (for each channel)" UNITS = "UNK" ENTRY_NAME = "Range delay" COMMENTS = "Current frame range gate delay value (DELAY) as set
from the previous data frame. B[0] : Bits 3 - 0 are bits 11 - 8 and
B[1] : LSByte (bits 0-7) of the 12 bit Range Delay setting for this
frame." ALIAS = "range gate delay" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/12/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = R_DELAY FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16-bit, unsigned, fixed point" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = "R_DELAY" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 2 seconds" UNITS = "COUNTS" ENTRY_NAME = "Range width" COMMENTS = "Current frame range gate window or width; set at end
of the previous data frame. B[0] : Bits 3 - 0 are bits 11 - 8 and
B[1] : LSByte of the 12 bit Range Gate Window setting for this
frame." ALIAS = "range gate width" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/12/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = R_WIDTH FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16-bit, unsigned, fixed-point" RANGE = 0:(2^12 - 1) DISCRETE_VALUES = "N/A" COMPOSITION = "R_WIDTH" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 2 seconds" UNITS = "COUNTS" ENTRY_NAME = "Algorithm status (MIN_HITS)" COMMENTS = "The minimum shot hit count value required for a
matched filter channel to trigger; MIN_HITS value set in algorithm
from the previous data frame." ALIAS = "minimum hit count" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/12/90 DATE_MODIFIED = 09/24/91 FIELD_NAME = AS_MHT FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8-bit, signed, fixed-point" RANGE = {-32768:32767} DISCRETE_VALUES = "N/A" COMPOSITION = "AS_MHT" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 2 seconds" UNITS = "COUNTS" ENTRY_NAME = "Software status (frame counter, trigger
channel)" COMMENTS = "Two of values reflecting the operation of the flight
software tracking algorithm. The frame counter value and the first
channel triggering at or above the minimum hit count are set from the
previous data frame tracking algorithm operation. Frame counter
(Frame_ctr) value from previous frame's tracking algorithm is in MS 4
bits; MIN_HITS trigger channel from previous frame is in LS 4
bits." ALIAS = "N/A" AUTHOR = "Blair, Jester" ENTRY_TYPE = "GROUP" DATE_CREATED = 12/12/90 DATE_MODIFIED = 09/24/91 FIELD_NAME = SWSTAT FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8-bit, unsigned", fixed-point RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = "FRM_CTR + SS_MHT" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 2 seconds" UNITS = "N/A" ENTRY_NAME = "Frame counter" COMMENTS = "The frame counter value is set from the previous data
frame tracking algorithm operation. Frame counter (Frame_ctr) value
from previous frame's tracking algorithm is in MS 4 bits (7 - 4) of
Software status. Bits 7 - 4 are bits 3 - 0 of frame counter." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 03/06/91 DATE_MODIFIED = 09/24/91 FIELD_NAME = FRM_CTR FIELD_FORMAT = "0.5 byte" ALLOW_BLANKS = "N/A" BINARY_VALUES = "4-bit, unsigned, fixed-point" RANGE = 0:15 DISCRETE_VALUES = {1,2,3,4,5,6,7} COMPOSITION = "FRM_CTR" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 2 seconds" UNITS = "COUNTS" ENTRY_NAME = "Trigger channel" COMMENTS = "The first channel triggering at or above the minimum
hit count is set from the previous data frame tracking algorithm
operation. MIN_HITS trigger channel from previous frame is in LS 4
bits (0 - 3) of Software status. Bit 0 = Channel 1; Bit 1 = Channel
2; Bit 2 = Channel 3; Bit 3 = Channel 4" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 03/0691 DATE_MODIFIED = 09/24/91 FIELD_NAME = SS_MHT FIELD_FORMAT = "0.5 byte" ALLOW_BLANKS = "N/A" BINARY_VALUES = "4-bit, unsigned, fixed-point" RANGE = 0:15 DISCRETE_VALUES = {1,2,3,4} COMPOSITION = "SS_MHT" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 2 seconds" UNITS = "N/A" ENTRY_NAME = "Channel background count" COMMENTS = "The background energy or noise count levels in
channels 1, 2, 3, and 4 respectively by half-frame. Pseudo log value
of NOISE(1, 2, 3, 4) at the end of a half-frame of current frame, 5.3
bit format. Plog base 2 of background count summed over 1st 10 shots
/ 2nd 10 shots of frame." ALIAS = "channel background noise levels, channel background
power" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/12/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = CH_1_BC,CH_2_BC,CH_3_BC,CH_4_BC FIELD_FORMAT = "8 1 byte values" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8-bit, unsigned, fixed-point" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = "CH_1_BC,CH_2_BC,CH_3_BC,CH_4_BC" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per second (for each channel)" UNITS = "COUNTS" REFERENCE = "MOLA Data Packet Description" REF_AUTHOR = "James N. Caldwell" REF_DATE = "09/28/90" REF_VERSION = "PRELIMINARY" REFERENCE = "Experiment Data Record (EDR) MOLA Science Telemetry
Packet Spreadsheet" REF_AUTHOR = "E. Thomas Northam" REF_DATE = 01/16/91 REF_VERSION = 6.37 REFERENCE = "MOLA Packet Data Dictionary" REF_AUTHOR = "J. Bryan Blair" REF_DATE = 03/04/91 REF_VERSION = "UNK" REFERENCE = "Mars Observer Spacecraft Data Standards" REF_AUTHOR = "Kerry D. Erikson" REF_DATE = 07/01/88 REF_VERSION = "Revision A" REFERENCE = "MOLA Flight Software User's Guide" REF_AUTHOR = "J. Bryan Blair" REF_DATE = 04/10/91 REF_VERSION = "2.4"

Appendix B The AEDR Maintenance Mode Data Dictionary

Version 3.1, 06/11/92

Note: See Appendix A, the AEDR Science Mode Data Dictionary for the description of Maintenance Mode Data Elements that occur prior to those listed here. The definition of the data elements in all packet types is the same until this point.

ENTRY_NAME = "Maintenance Mode Data"
 COMMENTS = "Describes the contents and format of the maintenance 
mode data. For maintenance mode status packets (packet type = 1), the
contents of the record will be filler data starting at byte 214 to
the end of the record. For maintenance mode memory dumps (packet type
= 2), the entire record will be filled with valid data. For
maintenance mode noise count data (packet type = 3), the entire
record will be filled with valid data." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "GROUP" DATE_CREATED = 09/28/91 DATE_MODIFIED = 06/11/92 FIELD_NAME = MM_DAT FIELD_FORMAT = "N/A" ALLOW_BLANKS = "N/A" BINARY_VALUES = "N/A" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = "PARMUP_CC + MEMLOADS_CC + MEMDUMPS_CC + CMD_ERR +
STAT_FLAG + SCMD_ERR + CMD_REC + CMD_ECHO + MSTART_ADD + MEMDUMP_LEN
+ MEMDUMP_SEG + P_CHECK" DATA_TYPE = "N/A" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "N/A" ENTRY_NAME = "Command count (parameter updates)" COMMENTS = "Valid data for packet types 1, 2, and 3." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/17/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = PARMUP_CC FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = PARMUP_CC DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "counts" ENTRY_NAME = "Command count (memory loads)" COMMENTS = "Valid data for packet types 1, 2, and 3." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12 /17/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = MEMLOADS_CC FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = MEMLOADS_CC DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "counts" ENTRY_NAME = "Command count (memory dumps)" COMMENTS = "Valid data for packet types 1, 2, and 3." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/17/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = MEMDUMPS_CC FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = MEMDUMPS_CC DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "count" ENTRY_NAME = "Command errors" COMMENTS = "Valid data for packet types 1, 2, and 3." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/17/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = CMD_ERR FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = "CMD_ERR" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "counts" ENTRY_NAME = "Status flags" COMMENTS = "Valid data for packet types 1, 2, and 3." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "GROUP?" DATE_CREATED = 12/17/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = STAT_FLAG FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = "STAT_FLAG" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "UNK" ENTRY_NAME = "Sub-command errors" COMMENTS = "Valid data for packet types 1, 2, and 3." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/17/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = SCMD_ERR FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = "SCMD_ERR" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "counts" ENTRY_NAME = "Commands received" COMMENTS = "Valid data for packet types 1, 2, and 3." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/18/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = CMD_REC FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = "CMD_REC" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "counts" ENTRY_NAME = "Command echo" COMMENTS = "Valid data for packet types 1, 2, and 3." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/17/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = CMD_ECHO FIELD_FORMAT = "I*154" ALLOW_BLANKS = "N/A" BINARY_VALUES = "1232 bit, unsigned" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = "CMD_ECHO" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "UNK" ENTRY_NAME = "Memory dump start address" COMMENTS = "Valid data for packet type 2. Filler data for packet
type 1. Noise count data for packet type 3." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/17/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = MSTART_ADD FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = "MSTART_ADD" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "UNK" ENTRY_NAME = "Memory dump length" COMMENTS = "Valid data for packet type 2. Filler data for packet
type 1. Noise count data for packet type 3." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/17/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = MEMDUMP_LEN FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = "MEMDUMP_LEN" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "counts" ENTRY_NAME = "Memory dump segment" COMMENTS = "Valid data for packet type 2. Filler data for packet
type 1. Noise count data for packet type 3." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/17/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = MEMDUMP_SEG FIELD_FORMAT = "I*860" ALLOW_BLANKS = "N/A" BINARY_VALUES = "6880 bits, unsigned" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = "MEMDUMP_SEG" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "UNK" ENTRY_NAME = "Packet checksum" COMMENTS = "Valid data for packet type 1, 2, and 3." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/17/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = P_CHECK FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = "P_CHECK" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "UNK" REFERENCE = "MOLA Data Packet Description" REF_AUTHOR = "James N. Caldwell" REF_DATE = "09/28/90" REF_VERSION = "PRELIMINARY" REFERENCE = "Experiment Data Record (EDR) MOLA Science Telemetry
Packet Spreadsheet" REF_AUTHOR = "E. Thomas Northam" REF_DATE = 01/16/91 REF_VERSION = "6.37" REFERENCE = "MOLA Packet Data Dictionary" REF_AUTHOR = "J. Bryan Blair" REF_DATE = 03/04/91 REF_VERSION = "UNK" REFERENCE = "Mars Observer Spacecraft Data Standards" REF_AUTHOR = "Kerry D. Erikson" REF_DATE = 07/01/88 REF_VERSION = "Revision A"

Appendix C

C.1 MOLA AEDR Data Product SFDU Labels and Catalog Header

CCSD3ZF0000100000001NJPL3KS0PDSX$$INFO$$
PDS_VERSION_ID = PDS3
RECORD_TYPE = FIXED_LENGTH
FILE_RECORDS = UNK
RECORD_BYTES = 1230
LABEL_RECORDS = 4
FILE_NAME = "AA90002F.B"
^MOLA_SCIENCE_MODE_TABLE = 5
^MOLA_MAINTENANCE_MODE_TABLE = 5
DATA_SET_ID = 'MGS-M-MOLA-1-AEDR-L0-V1.0'
PRODUCT_ID = 'MOLA-AA90002F.B'
SPACECRAFT_NAME = 'MARS_GLOBAL_SURVEYOR'
INSTRUMENT_ID = 'MOLA'
INSTRUMENT_NAME = 'MARS_ORBITER_LASER_ALTIMETER'
TARGET_NAME = 'MARS'
SOFTWARE_NAME = 'BROWSER 17.1'
UPLOAD_ID = '7.6'
PRODUCT_RELEASE_DATE = 1997-258
START_TIME = 1997-212T19:10:00.000
STOP_TIME = 1997-212T19:45:00.000
SPACECRAFT_CLOCK_START_COUNT = 443588190.140
SPACECRAFT_CLOCK_STOP_COUNT = 443595246.140
PRODUCT_CREATION_TIME = 1997-258T22:45:00.000
NATIVE_START_TIME = -187606958.86449
NATIVE_STOP_TIME = -187599902.86499
MISSION_PHASE_NAME = 'MAPPING'
ORBIT_NUMBER = 90002
PRODUCER_ID = 'MGS_MOLA_TEAM'
PRODUCER_FULL_NAME = 'DAVID E. SMITH'
PRODUCER_INSTITUTION_NAME = 'GODDARD SPACE FLIGHT CENTER'
DESCRIPTION = "This data product contains the aggregation of MOLA 
telemetry packets by orbit. All Experiment Data Record packets
retrieved from the PDB are collected in this data product. The AEDR
data product is put together with the Project-provided software tool
Browser." OBJECT = MOLA_SCIENCE_MODE_TABLE INTERCHANGE_FORMAT = BINARY ROWS = 'UNK' COLUMNS = 801 ROW_BYTES = 1080 ^STRUCTURE = "MOLASCI.FMT" DESCRIPTION = "This table is one of two that describe the
arrangement of information on the Mars Orbiter Laser Altimeter (MOLA)
Aggregated Engineering Data Record (AEDR). These Experiment Data
Records (EDRs) are produced during the science and maintenance modes
of instrument operation. Consequently, there are two record formats
possible within the AEDR file. The MOLA_SCIENCE_MODE_TABLE describes
the format of the data taken in the Science mode. The
MOLA_MAINTENANCE_MODE_TABLE describes the format of the data taken in
the Maintenance mode. The data are written sequentially. Each record
will contain one packet of MOLA telemetry data. Each record contains
an indicator of its packet type (e.g. science, maintenance, memory
dump) in byte 11 of the file. It is by interpreting this indicator
that the user will know which table to apply to the data. For fuller
description of the values associated with this indicator, please se END_OBJECT = MOLA_SCIENCE_MODE_TABLE OBJECT = MOLA_MAINTENANCE_MODE_TABLE INTERCHANGE_FORMAT = BINARY ROWS = 'UNK' COLUMNS = 52 ROW_BYTES = 1080 ^STRUCTURE = "MOLAMNT.FMT" DESCRIPTION = "This table is one of two that describe the
arrangement of information on the Mars Orbiter Laser Altimeter (MOLA)
Aggregated Engineering Data Record (AEDR). These Experiment Data
Records (EDRs) are produced during the science and maintenance modes
of instrument operation. Consequently, there are two record formats
possible within the AEDR file. The MOLA_SCIENCE_MODE_TABLE describes
the format of the data taken in the Science mode. The
MOLA_MAINTENANCE_MODE_TABLE describes the format of the data taken in
the Maintenance mode. The data are written sequentially. Each record
will contain one packet of MOLA telemetry data. Each record contains
an indicator of its packet type (e.g. science, maintenance, memory
dump) in byte 11 of the file. It is by interpreting this indicator
that the user will know which table to apply to the data. For fuller
description of the values associated with this indicator, please se END_OBJECT = MOLA_MAINTENANCE_MODE_TABLE END CCSD$$MARKER$$INFO$$NJPL3IF0000000000001

C.2 Contents of the MOLASCI.FMT File

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

C.3 Contents of the MOLAMNT.FMT File

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 = LSB_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 = UNSIGNED_INTEGER START_BIT = 1 BITS = 3 MINIMUM = 0 MAXIMUM = 7 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 = 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 = 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 = 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 = 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 = LSB_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 = 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 = 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 --." 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]. Values 4 - 255 are reserved for future modes. Modes 0, 1, 2
are hard coded in the flight software. Packet type 3 is patched in
when the noise count code patch is uploaded. 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_DIODE_ARRAY_TEMPERATURE DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 167 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Mux A, Ch #6" END_OBJECT = COLUMN OBJECT = COLUMN NAME = LASER_DIODE_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_HOUSING_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 = HONEYCOMB_PANEL_TEMPERATURE 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_CASE_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 = PARAMETER_UPDATE_CMD_COUNT DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 197 BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "Valid data for packet types 1, 2, and 3." END_OBJECT = COLUMN OBJECT = COLUMN NAME = MEMORY_LOADS_CMD_COUNT DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 199 BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "Valid data for packet types 1, 2, and 3." END_OBJECT = COLUMN OBJECT = COLUMN NAME = MEMORY_DUMPS_CMD_COUNT DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 201 BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "Valid data for packet types 1, 2, and 3." END_OBJECT = COLUMN OBJECT = COLUMN NAME = COMMAND_ERRORS DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 203 BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "Valid data for packet types 1, 2, and 3." END_OBJECT = COLUMN OBJECT = COLUMN NAME = STATUS_FLAGS DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 205 BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "Valid data for packet types 1, 2, and 3." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SUB_COMMAND_ERRORS DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 207 BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "Valid data for packet types 1, 2, and 3." END_OBJECT = COLUMN OBJECT = COLUMN NAME = COMMANDS_RECEIVED DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 209 BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "Valid data for packet types 1, 2, and 3." END_OBJECT = COLUMN OBJECT = COLUMN NAME = COMMAND_ECHO DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 211 BYTES = 154 ITEMS = 77 ITEM_BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "Valid data for packet types 1, 2, and 3." END_OBJECT = COLUMN OBJECT = COLUMN NAME = MEMORY_DUMP_START_ADDRESS DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 365 BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "Valid data for packet type 2; noise count data
starts here when packet type is 3." END_OBJECT = COLUMN OBJECT = COLUMN NAME = MEMORY_DUMP_LENGTH DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 367 BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "Valid data for packet type 2." END_OBJECT = COLUMN OBJECT = COLUMN NAME = MEMORY_DUMP_SEGMENT DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 369 BYTES = 860 ITEMS = 430 ITEM_BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "Valid data for packet type 2." END_OBJECT = COLUMN OBJECT = COLUMN NAME = PACKET_CHECKSUM DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 1129 BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "Valid data for packet types 1, 2, and 3." END_OBJECT = COLUMN

C.4 Contents of the MOLASCFR.FMT File

OBJECT = CONTAINER
 NAME                = COUNTS
 START_BYTE          = 1
 BYTES               = 4
 REPETITIONS         = 20
 ^STRUCTURE          = "MOLASCCT.FMT"
 DESCRIPTION         = "This container has three sub-elements (range to
 
surface counts, 1st channel received pulse energy, and channel
number/pulse width). The three sub-elements repeat for each of 20
shots." END_OBJECT = CONTAINER OBJECT = COLUMN NAME = SHOT_2_LASER_TRANSMITTER_POWR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 81 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Transmitted laser pulse energy level. Energy
reading for LASER transmit power for shot 2." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SHOT_1_LASER_TRANSMITTER_POWR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 82 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Transmitted laser pulse energy level. Energy
reading for LASER transmit power for shot 1." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SHOT_4_LASER_TRANSMITTER_POWR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 83 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Transmitted laser pulse energy level. Energy
reading for LASER transmit power for shot 4." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SHOT_3_LASER_TRANSMITTER_POWR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 84 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Transmitted laser pulse energy level. Energy
reading for LASER transmit power for shot 3." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SHOT_6_LASER_TRANSMITTER_POWR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 85 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Transmitted laser pulse energy level. Energy
reading for LASER transmit power for shot 6." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SHOT_5_LASER_TRANSMITTER_POWR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 86 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Transmitted laser pulse energy level. Energy
reading for LASER transmit power for shot 5." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SHOT_8_LASER_TRANSMITTER_POWR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 87 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Transmitted laser pulse energy level. Energy
reading for LASER transmit power for shot 8." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SHOT_7_LASER_TRANSMITTER_POWR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 88 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Transmitted laser pulse energy level. Energy
reading for LASER transmit power for shot 7." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SHOT_10_LASER_TRANSMITTER_POWR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 89 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Transmitted laser pulse energy level. Energy
reading for LASER transmit power for shot 10." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SHOT_9_LASER_TRANSMITTER_POWR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 90 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Transmitted laser pulse energy level. Energy
reading for LASER transmit power for shot 9." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SHOT_12_LASER_TRANSMITTER_POWR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 91 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Transmitted laser pulse energy level. Energy
reading for LASER transmit power for shot 12." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SHOT_11_LASER_TRANSMITTER_POWR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 92 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Transmitted laser pulse energy level. Energy
reading for LASER transmit power for shot 11." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SHOT_14_LASER_TRANSMITTER_POWR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 93 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Transmitted laser pulse energy level. Energy
reading for LASER transmit power for shot 14." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SHOT_13_LASER_TRANSMITTER_POWR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 94 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Transmitted laser pulse energy level. Energy
reading for LASER transmit power for shot 13." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SHOT_16_LASER_TRANSMITTER_POWR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 95 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Transmitted laser pulse energy level. Energy
reading for LASER transmit power for shot 16." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SHOT_15_LASER_TRANSMITTER_POWR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 96 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Transmitted laser pulse energy level. Energy
reading for LASER transmit power for shot 15." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SHOT_18_LASER_TRANSMITTER_POWR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 97 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Transmitted laser pulse energy level. Energy
reading for LASER transmit power for shot 18." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SHOT_17_LASER_TRANSMITTER_POWR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 98 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Transmitted laser pulse energy level. Energy
reading for LASER transmit power for shot 17." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SHOT_20_LASER_TRANSMITTER_POWR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 99 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Transmitted laser pulse energy level. Energy
reading for LASER transmit power for shot 20." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SHOT_19_LASER_TRANSMITTER_POWR DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 100 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Transmitted laser pulse energy level. Energy
reading for LASER transmit power for shot 19." END_OBJECT = COLUMN OBJECT = COLUMN NAME = ENCODER_BITS_1 DATA_TYPE = MSB_BIT_STRING START_BYTE = 101 BYTES = 2 DESCRIPTION = "This first container includes encoder start and
stop bit values from Shots 1-4" OBJECT = BIT_COLUMN NAME = SHOT_2_ENC BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 1 BITS = 4 MINIMUM = 0 MAXIMUM = 15 DESCRIPTION = "The encoder stop and start bits of the first
channel to receive laser returned pulse energy for shot 2. Bits 1 and
2 are encoder start bits; bits 3 and 4 are encoder stop bits." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = SHOT_1_ENC BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 5 BITS = 4 MINIMUM = 0 MAXIMUM = 15 DESCRIPTION = "The encoder stop and start bits of the first
channel to receive laser returned pulse energy for shot 1. Bits 5 and
6 are encoder start bits; bits 7 and 8 are encoder stop bits." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = SHOT_4_ENC BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 9 BITS = 4 MINIMUM = 0 MAXIMUM = 15 DESCRIPTION = "The encoder stop and start bits of the first
channel to receive laser returned pulse energy for shot 4. Bits 9 and
10 are encoder start bits; bits 11 and 12 are encoder stop
bits." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = SHOT_3_ENC BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 13 BITS = 4 MINIMUM = 0 MAXIMUM = 15 DESCRIPTION = "The encoder stop and start bits of the first
channel to receive laser returned pulse energy for shot 3. Bits 13
and 14 are encoder start bits; bits 15 and 16 are encoder stop
bits." END_OBJECT = BIT_COLUMN END_OBJECT = COLUMN OBJECT = COLUMN NAME = ENCODER_BITS_2 DATA_TYPE = MSB_BIT_STRING START_BYTE = 103 BYTES = 2 DESCRIPTION = "This second container includes encoder start and
stop bit values from Shots 5-8" OBJECT = BIT_COLUMN NAME = SHOT_6_ENC BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 1 BITS = 4 MINIMUM = 0 MAXIMUM = 15 DESCRIPTION = "The encoder stop and start bits of the first
channel to receive laser returned pulse energy for shot 6. Bits 1 and
2 are encoder start bits; bits 3 and 4 are encoder stop bits" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = SHOT_5_ENC BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 5 BITS = 4 MINIMUM = 0 MAXIMUM = 15 DESCRIPTION = "The encoder stop and start bits of the first
channel to receive laser returned pulse energy for shot 5. Bits 5 and
6 are encoder start bits; bits 7 and 8 are encoder stop bits." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = SHOT_8_ENC BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 9 BITS = 4 MINIMUM = 0 MAXIMUM = 15 DESCRIPTION = "The encoder stop and start bits of the first
channel to receive laser returned pulse energy for shot 8. Bits 9 and
10 are encoder start bits; bits 11 and 12 are encoder stop
bits." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = SHOT_7_ENC BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 13 BITS = 4 MINIMUM = 0 MAXIMUM = 15 DESCRIPTION = "The encoder stop and start bits of the first
channel to receive laser returned pulse energy for shot 7. Bits 13
and 14 are encoder start bits; bits 15 and 16 are encoder stop
bits." END_OBJECT = BIT_COLUMN END_OBJECT = COLUMN OBJECT = COLUMN NAME = ENCODER_BITS_3 DATA_TYPE = MSB_BIT_STRING START_BYTE = 105 BYTES = 2 DESCRIPTION = "This third container includes encoder start and
stop bit values from Shots 9-12" OBJECT = BIT_COLUMN NAME = SHOT_10_ENC BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 1 BITS = 4 MINIMUM = 0 MAXIMUM = 15 DESCRIPTION = "The encoder stop and start bits of the first
channel to receive laser returned pulse energy for shot 10. Bits 1
and 2 are encoder start bits; bits 3 and 4 are encoder stop
bits" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = SHOT_9_ENC BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 5 BITS = 4 MINIMUM = 0 MAXIMUM = 15 DESCRIPTION = "The encoder stop and start bits of the first
channel to receive laser returned pulse energy for shot 9. Bits 5 and
6 are encoder start bits; bits 7 and 8 are encoder stop bits." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = SHOT_12_ENC BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 9 BITS = 4 MINIMUM = 0 MAXIMUM = 15 DESCRIPTION = "The encoder stop and start bits of the first
channel to receive laser returned pulse energy for shot 12. Bits 9
and 10 are encoder start bits; bits 11 and 12 are encoder stop
bits." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = SHOT_11_ENC BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 13 BITS = 4 MINIMUM = 0 MAXIMUM = 15 DESCRIPTION = "The encoder stop and start bits of the first
channel to receive laser returned pulse energy for shot 11. Bits 13
and 14 are encoder start bits; bits 15 and 16 are encoder stop
bits." END_OBJECT = BIT_COLUMN END_OBJECT = COLUMN OBJECT = COLUMN NAME = ENCODER_BITS_4 DATA_TYPE = MSB_BIT_STRING START_BYTE = 107 BYTES = 2 DESCRIPTION = "This fourth container includes start and stop bit
values from Shots 13 -16." OBJECT = BIT_COLUMN NAME = SHOT_14_ENC BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 1 BITS = 4 MINIMUM = 0 MAXIMUM = 15 DESCRIPTION = "The encoder stop and start bits of the first
channel to receive laser returned pulse energy for shot 14. Bits 1
and 2 are encoder start bits; bits 3 and 4 are encoder stop
bits" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = SHOT_13_ENC BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 5 BITS = 4 MINIMUM = 0 MAXIMUM = 15 DESCRIPTION = "The encoder stop and start bits of the first
channel to receive laser returned pulse energy for shot 13. Bits 5
and 6 are encoder start bits; bits 7 and 8 are encoder stop
bits." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = SHOT_16_ENC BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 9 BITS = 4 MINIMUM = 0 MAXIMUM = 15 DESCRIPTION = "The encoder stop and start bits of the first
channel to receive laser returned pulse energy for shot 16. Bits 9
and 10 are encoder start bits; bits 11 and 12 are encoder stop
bits." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = SHOT_15_ENC BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 13 BITS = 4 MINIMUM = 0 MAXIMUM = 15 DESCRIPTION = "The encoder stop and start bits of the first
channel to receive laser returned pulse energy for shot 15. Bits 13
and 14 are encoder start bits; bits 15 and 16 are encoder stop
bits." END_OBJECT = BIT_COLUMN END_OBJECT = COLUMN OBJECT = COLUMN NAME = ENCODER_BITS_5 DATA_TYPE = MSB_BIT_STRING START_BYTE = 109 BYTES = 2 DESCRIPTION = "This fifth container includes start and stop bit
values from Shots 17-20." OBJECT = BIT_COLUMN NAME = SHOT_18_ENC BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 1 BITS = 4 MINIMUM = 0 MAXIMUM = 15 DESCRIPTION = "The encoder stop and start bits of the first
channel to receive laser returned pulse energy for shot 18. Bits 1
and 2 are encoder start bits; bits 3 and 4 are encoder stop
bits" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = SHOT_17_ENC BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 5 BITS = 4 MINIMUM = 0 MAXIMUM = 15 DESCRIPTION = "The encoder stop and start bits of the first
channel to receive laser returned pulse energy for shot 17. Bits 5
and 6 are encoder start bits; bits 7 and 8 are encoder stop
bits." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = SHOT_20_ENC BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 9 BITS = 4 MINIMUM = 0 MAXIMUM = 15 DESCRIPTION = "The encoder stop and start bits of the first
channel to receive laser returned pulse energy for shot 20. Bits 9
and 10 are encoder start bits; bits 11 and 12 are encoder stop
bits." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = SHOT_19_ENC BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 13 BITS = 4 MINIMUM = 0 MAXIMUM = 15 DESCRIPTION = "The encoder stop and start bits of the first
channel to receive laser returned pulse energy for shot 19. Bits 13
and 14 are encoder start bits; bits 15 and 16 are encoder stop
bits." END_OBJECT = BIT_COLUMN END_OBJECT = COLUMN OBJECT = COLUMN NAME = TIU_MASK_VALUES DATA_TYPE = MSB_BIT_STRING START_BYTE = 111 BYTES = 1 DESCRIPTION = "One byte to hold the TIU upper range bits and the
receiver channel mask status." OBJECT = BIT_COLUMN NAME = TIU_UPPER_RANGE_BITS BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 1 BITS = 4 MINIMUM = 0 MAXIMUM = 7 DESCRIPTION = "The upper 3 or 3 highest ordered bits of the MOLA
time interval unit (TIU). Only the largest MSTIU value read in
current frame is saved. Only bits 6, 5, 4 are used." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = RECEIVER_CHANNEL_MASK_STATUS BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 5 BITS = 4 MINIMUM = 0 MAXIMUM = 15 DESCRIPTION = "The altimeter channel mask settings from the
flight parameter table at the time of acquisition and storage of the
TIU upper range bits. The mask indicates if the channel filter is
active or is masked out to prevent triggering the TIU. Bit 3 =
Channel 1; Bit 2 = Channel 2; Bit 1 = Channel 3; Bit 0 = Channel 4. 1
= channel on, 0 = channel off" END_OBJECT = BIT_COLUMN END_OBJECT = COLUMN OBJECT = COLUMN NAME = ALGORITHM_STATUS_HIT_CNT DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 112 BYTES = 1 MINIMUM = 0 MAXIMUM = 80 DESCRIPTION = "Current value from the active data frame showing
the number of hits counted in the possible 20 shot hits in the single
frame or the number of hits summed over the possible 100 shots when
in the 5 frame mode. This is an indicator of the performance of the
tracking algorithm. If in the acquisition mode, this field will
contain the number of shot hits from a possible 80 shots within the 4
frame acquisition window. HIT_CNT from previous frame." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CH_1_1ST_HALF_FRM_THRSHLD_SET DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 113 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "The active channel threshold settings in the
current frame. The setting of the Channel 1 threshold sampled for the
first 10 shots in the frame" END_OBJECT = COLUMN OBJECT = COLUMN NAME = CH_2_1ST_HALF_FRM_THRSHLD_SET DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 114 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "The active channel threshold settings in the
current frame. The setting of the Channel 2 threshold sampled for the
first 10 shots in the frame" END_OBJECT = COLUMN OBJECT = COLUMN NAME = CH_3_1ST_HALF_FRM_THRSHLD_SET DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 115 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "The active channel threshold settings in the
current frame. The setting of the Channel 3 threshold sampled for the
first 10 shots in the frame" END_OBJECT = COLUMN OBJECT = COLUMN NAME = CH_4_1ST_HALF_FRM_THRSHLD_SET DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 116 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "The active channel threshold settings in the
current frame. The setting of the Channel 4 threshold sampled for the
first 10 shots in the frame" END_OBJECT = COLUMN OBJECT = COLUMN NAME = CH_1_2ND_HALF_FRM_THRSHLD_SET DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 117 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "The active channel threshold settings in the
current frame. The setting of the Channel 1 threshold sampled for the
last 10 shots in the frame" END_OBJECT = COLUMN OBJECT = COLUMN NAME = CH_2_2ND_HALF_FRM_THRSHLD_SET DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 118 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "The active channel threshold settings in the
current frame. The setting of the Channel 2 threshold sampled for the
last 10 shots in the frame" END_OBJECT = COLUMN OBJECT = COLUMN NAME = CH_3_2ND_HALF_FRM_THRSHLD_SET DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 119 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "The active channel threshold settings in the
current frame. The setting of the Channel 3 threshold sampled for the
last 10 shots in the frame" END_OBJECT = COLUMN OBJECT = COLUMN NAME = CH_4_2ND_HALF_FRM_THRSHLD_SET DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 120 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "The active channel threshold settings in the
current frame. The setting of the Channel 4 threshold sampled for the
last 10 shots in the frame" END_OBJECT = COLUMN OBJECT = COLUMN NAME = RANGE_DELAY DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 121 BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "Current frame range gate delay value (DELAY) as
set from the previous data frame. B[0] : Bits 3 - 0 are bits 11 - 8
and B[1] : LSByte (bits 0-7) of the 12 bit Range Delay setting for
this frame." END_OBJECT = COLUMN OBJECT = COLUMN NAME = RANGE_WIDTH DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 123 BYTES = 2 MINIMUM = 0 MAXIMUM = 4096 DESCRIPTION = "Current frame range gate window or width; set at
end of the previous data frame. B[0] : Bits 3 - 0 are bits 11 - 8 and
B[1] : LSByte of the 12 bit Range Gate Window setting for this
frame." END_OBJECT = COLUMN OBJECT = COLUMN NAME = ALGORITHM_STATUS_MIN_HITS DATA_TYPE = MSB_INTEGER START_BYTE = 125 BYTES = 1 MINIMUM = -32768 MAXIMUM = 32767 DESCRIPTION = "The minimum shot hit count value required for a
matched filter channel to trigger; MIN_HITS value set in algorithm
from the previous data frame." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SOFTWARE_STATUS DATA_TYPE = MSB_BIT_STRING START_BYTE = 126 BYTES = 1 DESCRIPTION = "Two of values reflecting the operation of the
flight software tracking algorithm. The frame counter value and the
first channel triggering at or above the minimum hit count are set
from the previous data frame tracking algorithm operation. Frame
counter (Frame_ctr) value from previous frame's tracking algorithm is
in MS 4 bits; MIN_HITS trigger channel from previous frame is in LS 4
bits." OBJECT = BIT_COLUMN NAME = FRAME_COUNTER BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 1 BITS = 4 DESCRIPTION = "The frame counter value is set from the previous
data frame tracking algorithm operation. Frame counter (Frame_ctr)
value from previous frame's tracking algorithm is in MS 4 bits (7 -
4) of Software status. Bits 7 - 4 are bits 3 - 0 of frame
counter." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = TRIGGER_CHANNEL BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 5 BITS = 4 DESCRIPTION = "The first channel triggering at or above the
minimum hit count is set from the previous data frame tracking
algorithm operation. MIN_HITS trigger channel from previous frame is
in LS 4 bits (0 - 3) of Software status. Bit 0 = Channel 1; Bit 1 =
Channel 2; Bit 2 = Channel 3; Bit 3 = Channel 4" END_OBJECT = BIT_COLUMN END_OBJECT = COLUMN OBJECT = COLUMN NAME = CH_1_1ST_HALF_FRAME_BKGRND_CN DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 127 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "The background energy or noise count levels for
channel 1 first half-frame. Pseudo log value of NOISE(1, 2, 3, 4) at
the end of a half-frame of current frame, 5.3 bit format. Plog base 2
of background count summed over 1st 10 shots of frame for channel
1." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CH_2_1ST_HALF_FRAME_BKGRND_CN DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 128 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "The background energy or noise count levels for
channel 2 first half-frame. Pseudo log value of NOISE(1, 2, 3, 4) at
the end of a half-frame of current frame, 5.3 bit format. Plog base 2
of background count summed over 1st 10 shots of frame for channel
2." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CH_3_1ST_HALF_FRAME_BKGRND_CN DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 129 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "The background energy or noise count levels for
channel 3 first half-frame. Pseudo log value of NOISE(1, 2, 3, 4) at
the end of a half-frame of current frame, 5.3 bit format. Plog base 2
of background count summed over 1st 10 shots of frame for channel
3." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CH_4_1ST_HALF_FRAME_BKGRND_CN DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 130 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "The background energy or noise count levels for
channel 4 first half-frame. Pseudo log value of NOISE(1, 2, 3, 4) at
the end of a half-frame of current frame, 5.3 bit format. Plog base 2
of background count summed over 1st 10 shots of frame for channel
4." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CH_1_2ND_HALF_FRAME_BKGRND_CN DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 131 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "The background energy or noise count levels for
channel 1 second half-frame. Pseudo log value of NOISE(1, 2, 3, 4) at
the end of a half-frame of current frame, 5.3 bit format. Plog base 2
of background count summed over last 10 shots of frame for channel
1." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CH_2_2ND_HALF_FRAME_BKGRND_CN DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 132 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "The background energy or noise count levels for
channel 2 second half-frame. Pseudo log value of NOISE(1, 2, 3, 4) at
the end of a half-frame of current frame, 5.3 bit format. Plog base 2
of background count summed over last 10 shots of frame for channel
2." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CH_3_2ND_HALF_FRAME_BKGRND_CN DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 133 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "The background energy or noise count levels for
channel 3 second half-frame. Pseudo log value of NOISE(1, 2, 3, 4) at
the end of a half-frame of current frame, 5.3 bit format. Plog base 2
of background count summed over last 10 shots of frame for channel
3." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CH_4_2ND_HALF_FRAME_BKGRND_CN DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 134 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "The background energy or noise count levels for
channel 4 second half-frame. Pseudo log value of NOISE(1, 2, 3, 4) at
the end of a half-frame of current frame, 5.3 bit format. Plog base 2
of background count summed over last 10 shots of frame for channel
4." END_OBJECT = COLUMN

C.5 Contents of the MOLASCCT.FMT File

OBJECT = COLUMN
 NAME                = RANGE_TO_SURFACE_TIU_CNTS
 DATA_TYPE           = MSB_UNSIGNED_INTEGER
 START_BYTE          = 1
 BYTES               = 2
 DESCRIPTION         = "The laser shot surface ranging measurement in
 
Timing Interval Unit (TIU) counts. The least significant 16 bits of
TIU (LSTIU), stored for every shot. B[0] = Bits 15-8 of TIU reading;
B[1] = Bits 7-0 of TIU reading." END_OBJECT = COLUMN OBJECT = COLUMN NAME = FIRST_CH_RCVD_PULSE_ENRGY DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 3 BYTES = 1 DESCRIPTION = "The level of return, reflected energy as received
by the first channel and matched filter to trigger. Lowest numbered
non-zero energy reading for each shot." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CHANNEL_NUMBER_PULSE_WIDTH DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 4 BYTES = 1 DESCRIPTION = "The number of the first channel to trigger and the
pulse width of the returned energy. Bits 8-7 : channel number - 1;
bits 6-1: pulse width" END_OBJECT = COLUMN

i

ii

iii

iv