|
Phoenix (PHX) Software Interface Specification |
|
Interface Title: Microscopy, Electrochemistry and Conductivity Analyzer (MECA) -Non-imaging Experiment Data Record (EDR) Mission: PHX Date: 4-Dec-2008 Module ID: PHX-274-307 Module Type (REFerence Only or MISsion-specific info included): MIS |
|
Reference Module ID: N/A Date: N/A |
|
Signatures GDS Generating Elements: Ops Product Generation System Payam Zamani ______________________________________ ________________ Subsystem Engineer Date
GDS Receiving Elements: PHX Science Manager Leslie Tamppari ______________________________________ ________________ Manager Date
Concurrence: MECA Instrument Co-Investigator Michael Hecht ______________________________________ ________________ Cognizant Engineer Date
GDS Manager Marla Thornton _______________________________________ _______________ Subsystem Engineer Date
PDS Discipline Node Manager Ray Arvidson _______________________________________ _______________ Manager Date
|
Phoenix Project
Software Interface Specification (SIS)
MECA Non-imaging
Experiment Data Record (EDR)
Authors:
M. Hecht (JPL), S. Slavney (Washington U.), A. Stanboli (JPL), P. Zamani (JPL)
Custodian:
Payam Zamani
Paper copies of this document may not be current and should not be relied on for official purposes. The current version is in the Community Server at: Team Work Area/Mission System/MOS/GDS/OPGS-MIPL
JPL D-33230
4 December 2008
Jet Propulsion Laboratory
California Institute of Technology
|
Date |
Description |
|
07-NOV-06 |
New Document to incorporate all MECA instrument packets except optical microscope |
|
29-Nov-06 |
Incorporated comments into document |
|
22-Dec-06 |
Incorporated Mike's comments and inst. description. Added new sample headers from latest version of EDR builder |
|
15-Mar-07 |
Incorporated comments from the Peer Review |
|
25-NOV-07 |
Addressed review RFA with wholesale changes in description |
|
18-Jan-08 |
Added missing keywords to Appendix C; replaced example PDS labels in Appendix E with current versions; added explanatory text to Appendix F; added explanatory text and current versions of format files to Appendix G; minor edits throughout (all by S. Slavney) |
|
22-Feb-08 |
Added revised Appendix B from Mike Hecht (S. Slavney) |
|
10 Mar-08 |
Corrected missing subscripts and superscripts (S. Slavney) |
|
14 Mar-08 |
Changed TECP Permittivity calibration equation to more recent (Jan. 2007) version Changed form of TECP EC Resistivity polynomial (eliminated the DN5 term) In the TECP EC high gain and medium gain Rm polynomial coefficient tables, eliminated column "a" and retitled column "b" as "a", "c" as "b", "d" as "c", "e" as "d", and "f" as "e". In the TECP EC low gain table, replaced all values using values from the TECP Calibration Report, and added note about the range of DN values that table was valid for Added a second TECP EC low gain coefficients table for a higher range of DN values (all by S. Wood) |
|
4 Dec 08 |
Add text to Appendix B, Type 7: TECP about RA position. |
|
Section |
Description |
|
|
|
1. Purpose and Scope of Document......................................................................................................... 6
2. Applicable Documents............................................................................................................................... 6
3. Relationships with Other Interfaces.......................................................................................... 6
4. Data Product Characteristics and Environment................................................................ 7
4.1 Instrument Overview................................................................................................................................... 7
4.1.1 Atomic Force Microscope (AFM)............................................................................................................ 7
4.1.2 Thermal and Electrical Conductivity Probe....................................................................................... 11
4.1.3 Wet Chemistry Laboratory (WCL)......................................................................................................... 13
4.1.4 Software and Electronics....................................................................................................................... 14
4.2 Data Product Overview............................................................................................................................ 15
4.3 Data Processing overview....................................................................................................................... 16
4.3.1 Data Processing Level............................................................................................................................. 16
4.3.2 Data Product Generation....................................................................................................................... 16
4.3.3 Data Flow.................................................................................................................................................. 16
4.3.4 Labeling and Identification standards................................................................................................ 16
4.3.5 PDS Standards.......................................................................................................................................... 16
4.3.6 Time Standards......................................................................................................................................... 17
4.3.7 Data Storage Conventions..................................................................................................................... 18
4.4 Data Validation and Peer Review....................................................................................................... 18
5. Detailed Data Product Specifications....................................................................................... 18
5.1 Data Product Structure and Organization.................................................................................... 18
5.2 Label and Header........................................................................................................................................ 19
6. Applicable Software................................................................................................................................ 19
Appendix A. PRODUCT LEVELS................................................................................................................. 20
Appendix B. RECORD STRUCTURE........................................................................................................... 21
B.1 Data Structure Overview....................................................................................................................... 21
B.2 Binary data description.......................................................................................................................... 21
B.2.1 Binary header detail............................................................................................................................... 21
B.2.2 Binary data detail.................................................................................................................................... 22
Appendix C. PDS LABEL KEYWORDS...................................................................................................... 59
Appendix D. EDR File naming convention................................................................................... 71
Standards.............................................................................................................................................................. 71
File Naming Rules.............................................................................................................................................. 71
Appendix E. Examples of EDR PDS Labels.................................................................................... 73
Type 0: AFM_FRQTEST....................................................................................................................................... 73
Type 1: AFM_RESPONSE.................................................................................................................................... 75
Type 2: AFM_SCAN.............................................................................................................................................. 78
Type 3: AFM_TIPS................................................................................................................................................. 81
Type 4: CME_STATUS......................................................................................................................................... 84
Type 5: POWER_DATA........................................................................................................................................ 86
Type 6: TBL............................................................................................................................................................. 90
Type 7: TECP........................................................................................................................................................... 93
Type 8: WCHEM.................................................................................................................................................... 95
Appendix F. EDR Type 6 Table Contents....................................................................................... 99
Table 0: State Table......................................................................................................................................... 99
Table 1: Parameter Value Table.............................................................................................................. 102
Table 2: Parameter Range Table.............................................................................................................. 110
Table 3: AFM Attribute Table.................................................................................................................... 110
Table 4: Coupons Table................................................................................................................................. 112
Table 5: Tips Table........................................................................................................................................... 112
Appendix G. Format Files..................................................................................................................... 114
AFM_FREQUENCY_SAMPLE.FMT................................................................................................................ 114
AFM_TIPS.FMT.................................................................................................................................................... 116
TBL_0_STATE_DATA.FMT.............................................................................................................................. 118
TBL_1_PARAMETER_VALUES_DATA.FMT.............................................................................................. 124
TBL_2_PARAMETER_RANGE_DATA.FMT................................................................................................ 124
TBL_3_AFM_ATTRIBUTE_DATA.FMT....................................................................................................... 125
TBL_4_COUPONS_DATA.FMT....................................................................................................................... 126
TBL_5_TIPS_DATA.FMT.................................................................................................................................. 126
TECP_SAMPLE.FMT.......................................................................................................................................... 127
Appendix H. Acronyms............................................................................................................................. 131
The purpose of this document is to provide users of MECA Experiment Data Records (EDR) with a detailed description of the products and how they are generated, including data sources and destinations.
The document is intended to provide enough information to enable users to read and understand the data products. Intended users of this document are the scientists who will analyze the mission and supporting data, both those associated with the Phoenix Project and members of the general planetary science community.
1. Planetary Data System Standards Reference, JPL D-7669 part 2, version 3.7, March 20, 2006.
3. Planetary Data System Archive Preparation Guide, version 0.050503, May 3, 2005.
4. Mars Exploration Program Data Management Plan, Arvidson et al., Rev. 3.0, March 20, 2002.
5. Data Management and Computation, Volume 1: Issues and Recommendations, Committee on Data Management and Computation, Space Science Board, Assembly of Mathematical and Physical Sciences, National Research Council, National Academy Press, Washington D.C., 1982
6. Issues and Recommendations Associated with Distributed Computation and Data Management Systems for Space Sciences, Space Science Board, Assembly of Mathematical and Physical Sciences, National Research Council, National Academy Press, Washington D.C., 1986
This SIS document, and the products that it describes, could be affected by changes to the MECA or Phoenix flight software or PDS standards. Such changes may require updates to this document as applicable. Major changes would require re-approval of all listed individuals and teams per the signature page.
The Microscopy, Electrochemistry, and Conductivity Analyzer (MECA) is a suite of soil analysis instruments that combines a wet chemistry laboratory (WCL), an optical microscope (OM), an atomic-force microscope (AFM), and a thermal and electrical-conductivity probe (TECP), with common supporting structure, electronics, and software.
Data in this product represent the lowest level reduction of packet data from the MECA instrument with the notable exception of the images acquired by the OM, which are described in the Phoenix Camera EDR/RDR SIS and archived on the Imaging node of the Planetary Data System. However, status information pertaining to those images and various tabular data that determine how they are acquired are part of this Non-Imaging product.
The MECA instrument suite is a component of the Mars '07 Phoenix investigation, which will also return data from a Thermal and Evolved Gas Analyzer (TEGA), three cameras, and a meteorology suite (MET). Phoenix is motivated by the goals of (1) studying the history of water in all its phases, and (2) searching for habitable zones. Samples of surface and subsurface soil and ice will be delivered to MECA and TEGA from a trench excavated by a Robot Arm, while MECA's Thermal and Electrical Conductivity Probe (TECP) will be deployed in soil and air by the Robot Arm. The Robot Arm Camera will document the morphology of the trench walls, while the Surface Stereo Imager (SSI) and the Mars Descent Imager (MARDI) establish a geological context. Throughout the mission, MET will monitor polar weather and local water transport.
The Atomic Force Microscope (AFM) is part of the MECA Microscopy Station, which comprises a Sample Wheel and Translation Stage (SWTS), an optical microscope (OM), and the AFM. As shown in Figure 1, the MECA AFM is located between the OM and the SWTS inside the darkened MECA enclosure on the spacecraft deck. It scans a small region (from 1-65 µm square) on any of 69 substrates, each 3-mm in diameter, positioned along the rim of the SWTS. The chief scientific objectives of the AFM are to analyze small dust and soil particles in terms of their size, size distribution, shape, and texture. The AFM is particularly well suited to analyze particles carried by the wind, which are believed to be in the size range 1-3 µm.
Prior to AFM scanning, OM images are acquired to document the substrates and provide context for the AFM scans. OM data is described in the Phoenix camera SIS, along with the RAC and SSI, and is outside the scope of this document. The reader is also referred to that document for more detailed description of the SWTS and its substrates.
The AFM is contributed by a Swiss-led consortium spearheaded by the University of Neuchatel. Run by a dedicated microcontroller, the AFM uses one of an array of eight micromachined cantilevers with sharp tips to obtain topographs (sometimes called "scans" or "images") of up to a 65×65-µm area of the sample. Within this constraint the scan can be of any size, dimension, or orientation, but the AFM can only address a narrow horizontal stripe of each substrate. Since the sample wheel can be rotated (but not elevated) prior to initiation of scanning, the AFM can access a thin band approximately 1/3 of the way up from the bottom of the corresponding OM image. Note that the x and y axes of the MECA AFM image are rotated by +45 degrees relative to the OM images (figure 2).
|
|
|
|
Figure 1. Left: The SWTS translates in and out to collect samples, remove excess material, focus, and approach the AFM. It rotates to select any of 69 substrates. Right: The sampling chute, viewed from the top with 6 substrates exposed |
|
The 69 substrates on the SWTS are divided into ten sets of six (a weak and a strong magnet, two "microbuckets", a textured substrate, and a sticky silicone pad) and nine utility or calibration targets. Using the SWTS, these can be coated with a thin layer of dust or soil, and then rotated to the vertical scanning position where they can be imaged by the optical microscope. Of the six substrates in each set, two are specifically designed for AFM use in that they resist the tendency for particles to become dislodged and to adhere to the AFM tip. Such particle adhesion can degrade the scans in question and the quality of the tip in general. One of these substrates is a uniform piece of silicone that remains pliant under martian conditions. The second is a custom micro-machined silicon substrate with pits and posts that hold particles of an appropriate scale for AFM scanning. Two of the remaining four substrates are magnets that may, under certain circumstances, be appropriate for AFM scanning. The final two substrates are deep "buckets" that would not normally be accessible to the AFM.
To operate the microscopy station, soil samples are deposited by the RA (or dust from the air) onto a segment of the SWTS ring that has been extended such that exactly one set of 6 substrates protrudes from a horizontal slot in the MECA enclosure. Excess material is removed by passing the substrates under a blade positioned 0.2 mm above the surface, after which the samples are rotated for imaging by the OM and AFM. The exposed substrates are then rotated from their horizontal load positions into their vertical imaging positions. The SWTS is also used for focusing and AFM coarse positioning.
Attempting to scan excessively steep or ragged surfaces with the AFM will result in scans that are largely out of range, and could conceivably damage the tip. Further, bandwidth and time constraints severely limit the number of scans that can be acquired and returned to Earth. These considerations dictate a two-day imaging strategy for each set of microscopy samples. On the first day a sample is delivered, then characterized by the optical microscope. AFM calibration scans are also acquired. These images are evaluated on the ground and targets for AFM scanning are selected. On the second day the targeted areas are imaged again with the optical microscope, and then scanned with the AFM.
MECA's AFM comprises three major components, a microfabricated probe-chip, an electro-magnetic scanner-actuator and single board control electronics. The probe-chip features 8 cantilevers, numbered 0-7. The chip is mounted with two orthogonal tilt angles of 10 degrees relative to the sample to ensure that only one tip contacts the sample at a time. In case of contamination or malfunction of this front-most tip, the defective cantilever and its support beam can be cleaved off by a special tool on the sample wheel, after which the next one in the array becomes active. The force constant of the levers varies between 9 and 13 N/m.
Each of the 8 MECA cantilevers features an integrated piezo-electric stress sensor, which is used to measure its pure deflection (static mode) or its vibration amplitude, frequency and phase (dynamic mode). In static mode the deflection signal is proportional to the force, while in dynamic mode the shift of the resonance frequency is a measure of the force gradient. Dynamic mode minimizes the interactions between tip and surface and is less likely to result in particles being moved around or dislodged during the scan. In either mode, these signals are used to regulate the distance between the tip and the sample in the z-direction by means of a proportional-integral feedback loop.
The z-axis servo signal represents the sample topography as the tip is rastered across the surface in the x (fast) and y (slow) directions. (Though the resulting topograph is sometimes referred to as an image, it bears little resemblance to an optical image until it is transformed and processed.) Imperfect feedback or an out-of-range condition can result in residual bending of the cantilever in static mode, or a phase shift of the oscillation in dynamic mode. This error signal may optionally be recorded in a second data channel. Since each line in the raster scan begins at the same point on the x-axis, both primary and error signals may be recorded either on the forward or the backward legs of the scan (or, typically, both). Thus a single raster scan can produce up to four arrays of data: Forward (signal), forward (error), backward (signal), and backward (error), each of which can be displayed in image format.
Several of the status values returned in MECA telemetry refer to the configuration and status of the AFM digital feedback loop. The piezoresistors on the cantilevers are addressed by a multiplexer, which links them to a temperature-compensated Wheatsone bridge. For static mode imaging the value of the bridge is directly compared to a setpoint. For dynamic mode imaging a frequency modulation technique is applied that maintains the resonant frequency of the cantilever at a setpoint while stabilizing the amplitude. The measured parameters are the phase-shift between the excitation of the cantilever and the measured signal from the Wheatstone bridge, maintained by a phase locked loop. The array geometry is designed to spread the resonant frequencies of the levers between 30 and 40 kHz in order to avoid cross-talk during dynamic operation (these shift slightly with temperature).
|
|
|
|
|
|
|
|
|
|
Figure 2. Upper Left: The AFM scanner viewed from the perspective of the sample. Upper right: The scanner positioned under the nose of the OM and in front of the SWTS. Middle left: The AFM chip. (A) is a close-up of one of the silicone tips, (B) points is one of 8 cantilevers mounted on a cleavable support-beam (C). D) is a reference piezoresistor used for temperature compensation. Middle right: Geometry of the AFM scan field relative to the OM coordinate system. Cartoon on right exaggerates size of AFM scan (OM image is 2 mm high by 1 mm wide) . Bottom: topographs of pincushion array with increasing magnification. |
|
It must be emphasized that an AFM scan is acquired by rastering a physical tool across a surface. As a result, line-to-line noise and artifacts may be significantly different than point-to-point artifacts along the scan direction. Moreover, outside the range of authority of the cantilever (approximately 65 x 65 micrometers laterally and 13 micrometers in height) the topograph does not go "out of focus" but simply saturates, while anywhere within its range of authority it is equally "in focus." The topograph itself reflects the interaction between a tip of finite size and a non-uniform surface, and therefore convolves physical characteristics of both the probe and the target. Thus, while an AFM topograph may look like an image product, the processing required bears little in common with the processing of an actual optical image.
An end-effector on the Phoenix Robotic Arm (figure 3), the TECP is a probe of soil physical properties including temperature, thermal conductivity and diffusivity, electrical conductivity and permittivity, as well as atmospheric temperature, humidity, and wind speed. These measurements are made with four conical needles, three of which contain electrical heaters and thermometers, and a hygrometer sensor mounted separately in the body of the TECP.
Three of the four parallel needles contain a thermocouple and a heater. The two needle pairs are used as electrodes for regolith electrical properties measurements. The same needles also serve as heating elements and thermometers for regolith thermal properties and wind speed measurements. The needles can be inserted into the soil for thermal and electrical measurements or positioned above the surface for atmospheric temperature, and wind speed measurements. Regolith thermal properties (including temperature, thermal conductivity, thermal diffusivity, volumetric heat capacity, and thermal inertia) as well as wind speed are derived from the heating and cooling behavior of the needles before and after a known amount of heat is added. Regolith electrical properties, including electrical conductivity and dielectric permittivity, are measured with capacitance and resistance sensors coupled to the regolith through the sensing needles. Atmospheric water vapor concentration is measured with a calibrated capacitance hygrometer mounted near a temperature sensor on the TECP printed circuit board, but exposed to the atmosphere through a particulate filter.
The humidity sensor determines the capacitance of the thin film hygrometer, which is a calibrated function of the relative humidity at the film surface. By measuring the film temperature with the adjacent temperature sensor, the result can be converted to absolute humidity. Under the assumption that gradients in vapor pressure are small, external relative humidity can be determined by comparison of the TECP result with the MET temperature sensors.
The scientific objectives of the TECP are:
|
|
Figure 3: Top: Schematic of TECP position on the RA. See description of RA encoder joint angles in TECP_SAMPLE.FMT. Bottom: TECP (right) mounted on the robotic arm. The small white circle on the lower left is the humidity sensor. The four needles at right perform the other sensor measurements. |
TECP thermal and electrical properties measurement quality depends on proper needle placement by the RA. Non-linear insertion, partial insertion, and lateral movement all affect data quality negatively. Thermal properties measurements can also be negatively impacted by non steady state thermal conditions, and the TECP should therefore be allowed to equilibrate to its thermal environment before making thermal properties measurements.
Measurement electronics are contained in the body of the TECP, and include a 12 bit A/D converter, two phase detectors, three resistance bridges, and a digital shift register. The A/D converter and shift register communicate through a serial interface to an FPGA on the primary MECA control and measurement electronics (CME) board.
MECA's wet chemistry laboratory (WCL) comprises four single-use modules, each consisting of a beaker assembly and an actuator assembly (figure 4). The modules mix soil samples with a leaching solution in a pressure vessel for electrochemical analysis. The scientific objective of the WCL is to determine the total pH, redox properties, and concentration of the principal aqueously solvated components of the acquired soil samples.
Chemical data is returned by 26 distinct sensors, some redundant, lining the walls of each beaker. These measure: Temperature; pH (3); conductivity; oxidation-reduction potential; the anions chloride (2), bromide, and iodide; cations sodium, potassium, calcium, magnesium; and barium, used in a sulfate titration. Also included are electrodes for cyclic voltammetry, anodic stripping voltammetry, and chronopotentiometry (3). Lithium electrodes (2) are used as a reference relative to the known concentration of lithium salts in the solution. Sensors for nitrate, ammonium, dissolved oxygen and carbon dioxide, which for various reasons do not provide a quantitative measure of soil composition, are used only for context. A heater is imbedded in the base of the beaker to maintain water temperature during operation.
Each WCL actuator assembly includes a tank containing 25-30 ml of a calibration and leaching solution, a sample loading drawer with a capacity of ~1.0 cm3, temperature and pressure sensors, heaters, a stirring mechanism, and a device to dispense up to five small crucibles into the solution. The AA is responsible for soil, water, and solid reagent addition as well as stirring and two-zone internal heating (tank and drawer). Telemetry returned by the AA includes internal cell pressure, water storage tank and sampling drawer temperatures, and certain limit switch positions.
|
|
|
|
Figure 4: MECA Wet chemistry cells installed in flight enclosure (left) and detail (right) |
|
Each WCL experiment lasts two days, not necessarily sequential. After an initial post-landing checkout, preparation for a chemical experiment starts with melting the frozen leaching/calibration solution in the storage tank and delivering it to the beaker by actuating a puncture mechanism. Sensors are calibrated in that solution, and then calibrated again after addition of a crucible containing small quantities of specific salts. The combined ion concentration from the initial solution and from the crucible, less than 10-4 molar for most ions, establishes the detection floor. The final step is to open the sampling drawer and receive a sample from the robotic arm. The total sample volume is estimated with an accuracy of 0.25 cc (maximum 1 cc) from images acquired by the robot arm camera. For the remainder of the day, the concentration of major anions and cations are monitored as well as key indicators such as pH, redox potential, and cyclic voltammetry, stirring when appropriate and maintaining a constant temperature of 5C. At the end of the day the solution is allowed to freeze in the beaker. A second day of measurement begins with thawing of the solution in the beaker, determining the sensor baseline, and adding an acid-containing crucible to lower the pH. Monitoring continues as on the first day. The final activity is the sequential addition of three crucibles of barium chloride. A sulfate titration is performed by monitoring the barium and chloride levels as the crucible contents slowly dissolve.
Most sensors will have three separate calibration steps prior to their use on Mars. Each individual electrochemical sensor was first calibrated prior to integration into the beaker by laboratory measurement in several standard solutions using commercial electronics. The second calibration was performed with the same solutions after beaker integration, using flight-like analog electronics and a laboratory digital controller. The exceptions were the bromide and iodide sensors, which could not be tested after integration without contaminating the chloride sensor. The final two-point calibration will occur on Mars. In general, the ion selective electrodes exhibit classic logarithmic Nernstian behavior over the specified measurement range. While the two-point calibration will be used to determine logarithmic slope and zero offset, the laboratory data suggests that it is sufficient to assume the ideal Nernstian slope and correct only the offset.
Pre-amplifier circuitry for the electrochemical sensors is embedded in the beaker walls. Analog to digital conversion (12-bit) is performed on a heavily-multiplexed "Analog Board" which interfaces to an FPGA on the primary MECA control and measurement electronics (CME) board. The FPGA also generates waveforms for the voltammetric and potentiometric sensors, performs temperature control, and operates actuators. Also returned in telemetry is a reading from an external temperature sensor located on the base of the microscopy sample stage.
MECA flight software (FSW) runs on the primary spacecraft computer and communicates to MECA hardware at 9600 baud via a serial Payload and Attitude Control Interface(PACI) interface. On the other side of that interface is an FPGA, located on the Command and Measurement Electronics (CME) board inside the MECA enclosure. The FPGA controls all hardware functions in the MECA suite with the exception of the Atomic Force Microscope (AFM), which has an embedded processor, and discreet switches, controlled directly by the spacecraft computer, for powering MECA and for switching between AFM processor and FPGA. Data return described here is generated by the FPGA.
The common MECA electronics return telemetry packets indicative of the overall instrument configuration, including parameter tables, the status of the command and measurement electronics, and the products of a low-level command parser that can be used to address any of the four instruments.
Each MECA Non-Imaging EDR consists of a single file containing binary data preceded by an ASCII PDS label. The body of the file is a binary data set consisting of one of sixteen format types as described in Appendix B. Types 0-3 contain data pertinent to an AFM measurement; the actual scan data is a table in type 2. Types 4 (CME status), 5 (power monitoring), and 6 (tables) are data returned by common electronics functions. Type 7 contains all the TECP data. Types 8-15 pertain to the WCL: Type 8 contains data from all the potentiometric WCL sensors such as pH and ion-selective electrodes; type 9 contains conductivity data; types 10-14 contains various voltammetries and potentiometries, all in a common format; and type 15 contains pressure and temperature data.
Experiment Data Records (EDR), the Level 0 products, are generated directly from the spacecraft telemetry stream but also include results from calibration, characterization, and cataloguing (CCC) activities on a variety of laboratory instruments. Each MECA non-imaging EDR consists of a cluster of uncalibrated data records, typically in a time-series, grouped together by virtue of being acquired on the same sol with the same token, product type, and record length. Tokens are embedded in the file and are assigned at the time of sequence generation specifically for the purpose of dividing EDRs into logical segments and helping to associate the data products with the original command sequence. Product types reflect the flight software command used to generate the data. Sixteen distinct telemetry product types have been defined, and are described in Appendix B. Within a particular telemetry type, the record length may vary with commanded parameters, and thus it is contingent on sequence engineers to apply common parameters to data commands whose records should be grouped together. As part of EDR generation, distinct products that have been transmitted in multiple telemetry packets (as indicated by a common time stamp) are reassembled into single records within the EDR.
Discussion of Reduced Data Records (RDR) is outside the scope of this document. In general, however, the objective of the EDR is to ensure that all telemetry, regardless of perceived importance, is retained in an unadulterated form, while the RDRs will emphasize key data and will offer more accessible forms such as ASCII tables and spreadsheets.
MECA non-imaging EDRs are equivalent to NASA Level 0 (CODMAC Level 2) data products as defined in Appendix-A. Higher level products (RDR) may have the same general format and structure as EDRs, although they are not described by this document.
The MGSS-IOS element, supported by the Multi-mission Image Processing Lab (MIPL) at JPL is responsible for generation of the MECA non-imaging EDRs. Raw MECA data packets are extracted from the telemetry stream and stored in EDRs, by activity, product type and record length. The PDS product label and its keywords are described in detail in Appendix-C.
After generation, each EDR is saved locally on the MIPL file server located at JPL and automatically delivered to the Science Operation Center (SOC) at the University of Arizona in real-time using the File Exchange Interface (FEI),a tool developed by MIPL for automation of data/file transfer using subscription and notification. Upon arrival at the SOC, these files/products will be published into the product catalog (ROMe) via another automated process. It will subsequently be organized in time order and delivered to the PDS in the form of an Archive Volume by the MECA team.
FEI is a tool that is used for automation of data/file transfer using subscription and notification. FEI is a multi-mission tool developed by MIPL.
After the proprietary period has passed, all applicable product such as EDRs, RDRs, etc. will be put into a PDS archive volume and submitted to the PDS Geosciences Node by the MECA team.
The EDR format described in this document will follow the Phoenix product file naming conventions as described in Appendix-D. All filenames will be PDS compliant and will follow the Phoenix file naming convention described in Appendix D. Additional identification information will be contained in the PDS label as described in Appendix-C.
MECA non-imaging EDR products will comply with the Planetary Data System's standards as specified in the PDS Standards Reference (see Applicable Documents). All label keywords are PDS compliant and registered in the PDS dictionary.
The following time standards and conventions are used throughout this document, as well as the Phoenix project for planning activities and identification of events.
|
SCET |
Spacecraft event time. This is the time when an event occurred on-board the spacecraft, in UTC. It is usually derived from SCLK. |
|
SCLK |
Spacecraft Clock. This is an on-board 64-bit counter, in units of nano-seconds and increments once every 100 milliseconds. Time zero corresponds to midnight on 1-Jan-1980. |
|
ERT |
Earth Received Time. This is the time (UTC) when the first bit of the packet containing the current data was received at the Deep Space (DSN) station. |
|
Local Solar Time |
Local Solar Time (LST). This is the local solar time defined by the local solar days (sols) from the landing date using a 24 "hour" clock within the current local solar day (HR:MN:SC). Since the Mars day is 24h 37m 22s long, each unit of LST is slightly longer than the corresponding Earth unit. LST is computed using positions of the Sun and the landing site from SPICE kernels specified in the CHRONOS setup file. If a landing date is unknown to the program (e.g. for calibration data acquired on Earth) then no sol number will be provided on output LST examples: SOL 12 12:00:01 SOL 132 01:22:32.498 SOL 2 9 |
|
True Local Solar Time |
This is related to LST which is also known as the mean solar time, is the time of day based on the position of the sun, rather than measure of time based on midnight to midnight "day". True local solar time is used in all MIPL generated products. |
|
SOL |
Solar Day Number, also known as PLANET DAY NUMBER in PDS label. This is the number of complete solar days on Mars since landing. The landing day therefore is SOL zero. |
MECA non-imaging EDR products will be stored as binary files, with the binary data preceded by a PDS label in ASCII format, with each keyword definition terminated by ASCII carriage-return and line-feed characters. EDR products are defined as PDS spreadsheet objects (Applicable Document 1).
All MECA non-imaging EDRs will contain fixed length records, although the size of the records in each file could differ between EDRs. When necessary, records will be padded with extra bytes of 0x00.
The MECA non-imaging EDR product design, as described in this SIS, is subject to PDS peer review. The peer review will be completed well in advance of actual production, to allow time for changes in the design as needed. This SIS document will be updated to show any such changes.
Validation of MECA non-imaging EDR products during production will be performed according to specifications in the Phoenix Archive Plan and the MECA Team - Geosciences Node ICD (Applicable Documents 2 and 10). The MECA Team will validate the science content of the data products, and the Geosciences Node will validate the products for compliance with PDS standards and for conformance with the design specified in this SIS.
The MECA non-imaging EDR contains time-ordered clusters of raw sensor and status data as specified below. Details of individual fields are described in Appendix B.
Notably absent from many of the EDR products are specific indicators of the relationship between the data and the command that produced it. Since Phoenix is a short mission and there are limited MECA resources (e.g. only four WCL cells and ten SWTS sets), the spacecraft clock tag on every data packet is usually sufficient to allow comparison with, for example, the uplink and downlink logs from the operations team. More explicit linkage will be provided in RDR products.
The philosophy of the MECA non-imaging data product is to retain the full detail provided in the raw telemetry packet, while clustering related time-sequences of data and eliminating the segmentation of individual objects (e.g. spectra) imposed by the telemetry process. This approach places the emphasis for data analysis on tools provided by the Phoenix Science Team for "ingesting" the binary data into common analysis or spreadsheet platforms. Initially tools will be provided for porting EDRs into the Matlab© environment and into comma-separated-value (CSV) files for use in spreadsheet environments such as Excel©.
MECA non-imaging EDRs are generated from raw telemetry with 16 different data types anddata definitions. All instances of MECA non-imaging EDRs will have the same PDS label information, though some fields may be undefined (designated "UNK") for some telemetry types. The binary field definitions are dependent on the telemetry type, which is defined both in the ASCII label information and in the binary header. Definitions of the fields in the MECA non-imaging products are provided in Appendix B.
To aidin distinguishing the ASCII label information from the binary data, the location of the first binary data record will be the final ASCII line which consists of the word "END" followed by carriage return and line feed characters.
MECA non-imaging data products are described by the same information in the header of each product. A PDS label is an ASCII text field consisting of a series of keyword=value statements. The label carries the metadata necessary to read and understand the data product. An example of a PDS label is provided in Appendix E, and definitions of the keywords used in the label are given in Appendix C.
MECA non-imaging EDRs can be read with any programming language capable of interpreting binary data. As a courtesy to the scientific community, tools will be made available by the Phoenix science team for importing these EDRs into the Matlab© environment and for producing pure ASCII files consisting of a PDS header and tabulated data. Please contact the MECA Instrument Co-Investigator at michael.h.hecht@jpl.nasa.gov for more information.
Definitions of Data Processing Levels
This table shows definitions of processing levels as defined by NASA and by CODMAC, the Committee on Data Management and Computation (Applicable Documents 8 and 9)
Table A.1 Data Processing Levels
|
NASA |
CODMAC |
Description |
|
Packet data |
Raw - Level 1 |
Telemetry data stream as received at the ground station, with science and engineering data embedded. |
|
Level-0 |
Edited - Level 2 |
Instrument science data (e.g., raw voltages, counts) at full resolution, time ordered, with duplicates and transmission errors removed. |
|
Level 1A |
Calibrated - Level 3 |
Level 0 data that have been located in space and may have been transformed (e.g., calibrated, rearranged) in a reversible manner and packaged with needed ancillary and auxiliary data (e.g., radiances with the calibration equations applied). |
|
Level 1B |
Resampled - Level 4 |
Irreversibly transformed (e.g., resampled, remapped, calibrated) values of the instrument measurements (e.g., radiances, magnetic field strength). |
|
Level 1C |
Derived - Level 5 |
Level 1A or 1B data that have been resampled and mapped onto uniform space-time grids. The data are calibrated (i.e., radiometrically corrected) and may have additional corrections applied (e.g., terrain correction). |
|
Level 2 |
Derived - Level 5 |
Geophysical parameters, generally derived from Level 1 data, and located in space and time commensurate with instrument location, pointing, and sampling. |
|
Level 3 |
Derived - Level 5 |
Geophysical parameters mapped onto uniform space-time grids. |
|
|
Ancillary - Level 6 |
Data needed to generate calibrated or resampled data sets. |
Each EDR contains an ASCII header consisting of the PDS label, followed by a series of binary data records, each of which begins with a binary header. While certain fields in the binary header are common, others are specific to an individual data type. All records in any single EDR are of the same length and format.
The PDS label is an ASCII text field consisting of a series of keyword=value statements. The label carries the metadata necessary to read and understand the data product. An example of a PDS label is provided in Appendix E, and definitions of the keywords used in the label are given in Appendix C.
Note that all binary quantities are big-endian; that is, the most significant byte of a multi-byte value comes first. In general, PCs are little-endian while Macintosh and UNIX systems are big-endian.
Note also that the word "packet" as used in the field name descriptions is not strictly equivalent to a telemetry packet. The packets referred to in the EDR should more properly be thought of as records, which correspond to a single packet of telemetry except when the data set length forced the flight software to divide it among two or more packets. In the EDR, such split records have been reunited into a single record or "super-packet."
Following the PDS keywords, each EDR contains a series of binary records of the same type, length, and ops_token (see below) each of which is preceded by a 36-byte binary header.
|
Table B.2.1. Binary Header format
|
||||||
|
|
Offset (bytes) |
Field name |
Type |
Size (bits) |
Description |
Eng Units |
|
Header |
0 |
CMD_secs |
Unsigned |
32 |
Instrument command receipt time (seconds) |
Secs |
|
4 |
CMD_frac |
Unsigned |
32 |
Instrument command receipt time (remainder) |
Secs/ 232 |
|
|
8 |
read_secs |
Unsigned |
32 |
Command complete time (seconds)* |
N/A |
|
|
12 |
read_frac |
Unsigned |
32 |
Command complete time (remainder)* |
N/A |
|
|
16 |
Datalength |
Unsigned |
32 |
Record length (minus headers) |
Bytes |
|
|
20 |
Records |
Unsigned |
16 |
Records in this product |
Records |
|
|
22 |
record_num |
Unsigned |
16 |
# of this record, within the product (starting with 1) |
N/A |
|
|
24 |
Datatype |
Unsigned |
16 |
Telemetry type (AFM: FRQTEST = 0) |
N/A |
|
|
26 |
TypeSpecific |
Unsigned |
48 |
[See individual type descriptions] |
N/A |
|
|
32 |
ops_token |
Unsigned |
32 |
Ops token |
N/A |
|
* Not present in some data types
The generic format of the Binary Header is described in Table B.2.1, where the fields may be interpreted as follows:
CMD_secs: This is the time that the command was issued from the spacecraft computer to the MECA subsystem across the serial interface. Units are seconds of Spacecraft Clock (SCLK).
CMD_frac: The remainder, where 232 is a full second.
read_secs: This is the time that the data was returned to the spacecraft computer across the serial interface from the MECA subsystem (not used for some telemetry types). Units are seconds of Spacecraft Clock (SCLK).
read_frac: The remainder, where 232 is a full second.
datalength: The length of the following record (and all records in this product), not including this header.
records: The number of records in this EDR.
record_num: The number of this record, from 1 to records. These should be in chronological order, but preliminary data products may not have these fields properly populated and the records may be out of order or have data gaps..
datatype: The telemetry type, 0-15, as described in following sections.
TypeSpecific: See individual descriptions in the following sections
ops_token: The ops token consists of 8 hexadecimal digits that help link the data record to the issuing command. It serves to separate groups of products into distinct EDRs in a logical manner and may also be coded for information that is not present elsewhere, such as the command type that produced the data, the WCL beaker number, or TECP gain settings. The first four hexadecimal characters of the ops token are an "activity id" that will be common to all the records in one EDR. The remaining four hexadecimal characters are assigned for various purposes at command time. This document will be updated as protocols for these definitions are established.
Record descriptions for the various telemetry types are presented in the following sections.
Description:
Each of the eight AFM cantilevers is tuned to a unique resonant frequency that is used in the "dynamic" or frequency-modulated mode of operation. In dynamic mode a piezoelectric vibrator, which shakes the entire chip, is tuned to a particular cantilever. This is the preferred mode of operation (as compared to "static" mode) because it results in less interaction between the tip and the surface, but it is more complicated and prone to failure. FRQTEST scans through the frequency spectrum to find the resonant frequency and phase as well as the strength of the resonance for the "current" cantilever, which may be temporarily changed by the sequence to allow backup cantilevers to be tested. The quality of the resonance is captured in the applied voltage, Vap, which is the input voltage required to keep the Phase Locked Loop (PLL) output amplitude at 10V. A good Vap is around 2.3V, while values above 6V typically indicate that the cantilever cannot be used in dynamic mode.
The test consists of two passes, each of which scans the designated frequency range using each of nine phase settings (0°,20°,40°, etc.). The best frequency and phase, as indicated by the lowest value of Vap, is selected from these 18 scans.
Generated by:
MECA_AFM_FRQTEST
Format:
|
|
Offset (bytes) |
Field name |
Type |
Size (bits) |
Description |
Eng Units |
|
Header |
0 |
CMD_secs |
Unsigned |
32 |
Spacecraft command receipt time (whole seconds) |
Secs |
|
4 |
CMD_frac |
Unsigned |
32 |
Spacecraft command receipt time (remainder) |
Secs/ 232 |
|
|
8 |
read_secs |
Unsigned |
32 |
Unused |
N/A |
|
|
12 |
read_frac |
Unsigned |
32 |
Unused |
N/A |
|
|
16 |
datalength |
Unsigned |
32 |
Record length (minus headers) |
Bytes |
|
|
20 |
records |
Unsigned |
16 |
Records in this product |
Records |
|
|
22 |
record_num |
Unsigned |
16 |
# of this record, within the product (starting with 1) |
N/A |
|
|
24 |
datatype |
Unsigned |
16 |
Telemetry type (AFM: FRQTEST = 0) |
N/A |
|
|
26 |
unused |
Unsigned |
48 |
Unused (zero) |
N/A |
|
|
32 |
ops_token |
Unsigned |
32 |
Ops token |
N/A |
|
|
Frequency Test Data (112 bytes) |
36 |
Tip |
Unsigned |
8 |
Current tip (0-7) |
N/A |
|
37 |
Vap_initial |
Unsigned |
8 |
Initial Vap (Vap<4 indicates good test) |
V x 25.5 |
|
|
38 |
unused |
Unsigned |
16 |
Unused |
N/A |
|
|
40 |
freq0 |
Unsigned |
32 |
Initial frequency |
Hz |
|
|
44 |
Vap_pass1 |
Unsigned |
9*8 |
Vap values for pass 1, phases 0, 20, …, 160° deg |
V x 25.5 |
|
|
53 |
Vap_pass2 |
Unsigned |
9*8 |
Vap values for pass 2, phases 180, 200, …, 340° |
V x 25.5 |
|
|
62 |
unused |
Unsigned |
16 |
Unused |
N/A |
|
|
64 |
freq_pass1 |
Unsigned |
9*32 |
Center frequencies for pass 1, phase 0, 20, …, 160° |
Hz |
|
|
100 |
freq_pass2 |
Unsigned |
9*32 |
Center frequencies for pass 2, phase 180, 200, …, 340° |
Hz |
|
|
136 |
Vap_min |
Unsigned |
8 |
Lowest Vap found in this test |
V x 25.5 |
|
|
137 |
Vap_min_phase |
Unsigned |
8 |
Phase where lowest Vap found (0=0°, 1 = 20°, …) |
V x 25.5 |
|
|
138 |
Vap_new |
Unsigned |
8 |
Vap to be used from here on |
V x 25.5 |
|
|
139 |
unused |
Unsigned |
8 |
Unused |
N/A |
|
|
140 |
amplitude |
Signed |
32 |
New amplitude (signed - if negative, add 180° to phase) |
mV |
|
|
144 |
frequency |
Unsigned |
32 |
New center frequency |
Hz |
Field descriptions:
Tip: This refers to the current beam/cantilever/tip assembly, numbered 0-7. The AFM has eight silicon beams, each topped by a short, flexible cantilever. Protruding from each cantilever is a fine silicon tip. Here and elsewhere, tip is shorthand used to designate the entire assembly. Upon landing, Tip 0 is employed until it is no longer usable.
Vap_initial: This is the value of Vap at the start of the test (see above).
freq0: The starting frequency for the test
Vap_pass1: The lowest value of Vap for each of 9 sweeps with different phases
Vap_pass2: Same as above, second pass
freq_pass1: Frequencies corresponding to Vap_pass1
freq_pass2: Frequencies corresponding to Vap_pass1
Vap_min: Best (lowest) value of Vap from all 18 scans
Vap_min_phase: Phase corresponding to Vap_min
Vap_new: Final value of Vap (should be Vap_min)
amplitude: Amplitude of oscillation corresponding to Vap_min
frequency: Resonant frequency corresponding to Vap_min
Usage notes:
· Voltages are coded as integer data numbers (DN) such that V=DN/25.5
Description:
The AFM is operated by a custom microprocessor using proprietary code similar to that used by the commercial NanoSurf instrument. Phoenix FSW communicates with the AFM over a serial line. The low-level commands listed below have little or no associated telemetry other than return status codes from the microprocessor. These status codes, a string of ASCII bytes, are returned in Telemetry Type 1. A glossary of these codes is beyond the scope of this document, but the MECA Science Team can advise on the meaning of specific returns. Product length may vary with AFM command, in which case records under a common activity code may be separated into multiple EDRs.
Generated by:
MECA_AFM_ATTRGET (Returns AFM attributes with any of 43 IDs)
MECA_AFM_INITPLN (Prepares to scan)
MECA_AFM_INITBRG (Bridge initialization)
MECA_AFM_MVSTART (Moves to starting point for scan)
MECA_AFM_RAW (Issues raw, low-level command)
MECA_AFM_RDADCS (Reads Analog/Digital Converter)
Format:
|
|
Offset (bytes) |
Field name |
Type |
Size (bits) |
Description |
Eng Units |
|
Header |
0 |
CMD_secs |
Unsigned |
32 |
Spacecraft command receipt time (whole seconds) |
Secs |
|
4 |
CMD_frac |
Unsigned |
32 |
Spacecraft command receipt time (remainder) |
Secs/ 232 |
|
|
8 |
read_secs |
Unsigned |
32 |
Unused |
N/A |
|
|
12 |
read_frac |
Unsigned |
32 |
Unused |
N/A |
|
|
16 |
datalength |
Unsigned |
32 |
Record length (minus headers) |
Bytes |
|
|
20 |
records |
Unsigned |
16 |
Records in this EDR |
Records |
|
|
22 |
record_num |
Unsigned |
16 |
# of this record within the EDR (starting with 1) |
N/A |
|
|
24 |
datatype |
Unsigned |
16 |
Telemetry type (AFM: RESPONSE = 1) |
N/A |
|
|
26 |
unused |
Unsigned |
48 |
Unused (zero) |
N/A |
|
|
32 |
ops_token |
Unsigned |
32 |
Ops token |
N/A |
|
|
AFM response |
36 |
AFM_response |
Unsigned |
Varies |
Response from the AFM controller |
N/A |
Field descriptions:
AFM_response: This is the raw response from the AFM microcontroller to the issued command. the response should be 256 bits (32 bytes) long unless the raw command performed a scan (unlikely).
The format of the response is: <STX> <StatID> [ <StatStr> ] <SUM> <ETX> , where:
Description:
The AFM acquires topographic information by scanning the image in a raster pattern. Typically the scan is performed both forwards and backwards, and both the nominal height and the error signal are recorded. Thus each physical scan typically results in four data products, typically in the order Forward/Error, Forward/Height, Backwards/Error, Backwards/Height.
Image dimensions along the x and y axes vary to 512x512 bytes, or 266240 bytes per image including line headers. The physical dimensions corresponding to the data grid are not specificied in the telemetry and must be recovered from the command sequence. Subsequent reduced data products will include the conversion to physical units.
The AFM achieves a wide range of vertical (Z-axis) resolution in 8-bit data by offering a choice of gain settings, termed Channel Gain (CG), which is reported in every line header. When CG=0 the 8 bits of data span the entire ~13.6µm range of authority of the z-axis. The exact scan range is somewhat dependent on temperature and will require calibration in situ. Each step increase in CG decreases the range by a factor of two. For example, CG=2 nominally spans 3.4 µm. After every scan line the mean value of z is determined and that becomes the reference position, termed z-offset, for the subsequent line. In this way, even with a high CG, the scan can report some variations of topography in 8-bit data over the entire range of authority of the scanner.
Regardless of the gain setting for the height signal, the error signal range is always 20 V, centered on the setpoint (not reported in telemetry). For example, if the setpoint is 2 V, the range is from -8 to +12 V. The relation between the 20V and the deflection at the end (in microns) depends on the calibration and the mode. In dynamic mode the setpoint, and therefore the error signal is based on a frequency shift.
Note that the AFM feedback loop is always operating over the full range of authority of the cantilever, even if the resulting data is outside the reportable range designated by CG. Height data at the rails do not necessarily imply that the scanner is out of lock - this must be determined from the corresponding error signal. Correspondingly, since the error signal reports the physical error in the feedback loop, it will not reflect the "error" resulting from data values falling outside the range determined by CG and z-offset.
Generated by:
MECA_AFM_IMAGE
MECA_AFM_DOFRAME (low-level command)
MECA_AFM_DOLINE (low-level command)
Format:
|
|
Offset (bytes) |
Field name |
Type |
Size (bits) |
Description |
Eng Units |
|
Header |
0 |
CMD_secs |
Unsigned |
32 |
Spacecraft command receipt time (whole seconds) |
Secs |
|
4 |
CMD_frac |
Unsigned |
32 |
Spacecraft command receipt time (remainder) |
Secs/ 232 |
|
|
8 |
read_secs |
Unsigned |
32 |
Time at which last scanline was received from the instrument (whole seconds) |
Secs |
|
|
12 |
read_frac |
Unsigned |
32 |
Time at which last scanline was received from the instrument (remainder) |
Secs/ 232 |
|
|
16 |
datalength |
Unsigned |
32 |
Record length (minus headers) |
Bytes |
|
|
20 |
records |
Unsigned |
16 |
Records in this EDR |
Records |
|
|
22 |
record_num |
Unsigned |
16 |
# of this record, within the EDR (starting with 1) |
N/A |
|
|
24 |
datatype |
Unsigned |
16 |
Telemetry type (AFM: SCAN = 2) |
N/A |
|
|
26 |
width |
Unsigned |
16 |
Scan width |
Points |
|
|
28 |
height |
Unsigned |
16 |
Scan height |
Lines |
|
|
30 |
direction |
Unsigned |
4 |
Scan direction mask. 1 = forward, 2 = backward |
N/A |
|
|
channel |
Unsigned |
4 |
Channel represented. 1 = error, 2 = height. |
N/A |
||
|
31 |
zoomregion |
Unsigned |
8 |
Zoom region if requested (1 is upper-left, 4 is upper-right, 16 is lower-right), 0 otherwise |
N/A |
|
|
32 |
ops_token |
Unsigned |
32 |
Ops token |
N/A |
|
|
AFM scan data |
36 |
scan_data |
Unsigned |
Up to 15752 bits |
AFM Scan data |
N/A |
Field descriptions:
Byte 1: Scan direction (0 = forward, 1 = backward)
Byte 2: Channel mask (always set to 3)
Bytes 3-4: Line number
Bytes 5-6: Z-offset. The 0-255 range spans the full z-range of the scanner.
Byte 7: Z channel gain (0 spans the full z-range, 1 spans half the range, etc.)
Byte 8: Designated for Vap, not implemented (see Type 0)
Byte 9 - (8+width): 8-bit scan data
Usage notes:
· In nearly all cases, data results from a call to MECA_AFM_IMAGE. In rare cases the low-level commands AFM_DOFRAME and AFM_DOLINE may have been called, in which case the scan data may include interleaved directions and/or channels as well as status data (see Type 1).
· Product length may vary, in which case records under a common activity code may be separated into multiple EDRs.
Description:
Data reported here result from initialization and test of the Wheatstone Bridge used to monitor the deflection of the AFM cantilevers. The result is an offset, an assessment of the quality of the cantilever, and the error signal from a "scan" in air which serves to evaluate noise on the measurement circuit (only the error is returned because the actual signal should be at the rail).
Generated by:
MECA_AFM_TSTTIPS
Format:
|
|
Offset (bytes) |
Field name |
Type |
Size (bits) |
Description |
Eng Units |
|
Header |
0 |
CMD_secs |
Unsigned |
32 |
Spacecraft command receipt time (whole seconds) |
Secs |
|
4 |
CMD_frac |
Unsigned |
32 |
Spacecraft command receipt time (remainder) |
Secs/ 232 |
|
|
8 |
read_secs |
Unsigned |
32 |
Unused |
N/A |
|
|
12 |
read_frac |
Unsigned |
32 |
Unused |
N/A |
|
|
16 |
datalength |
Unsigned |
32 |
Record length (minus headers) |
Bytes |
|
|
20 |
records |
Unsigned |
16 |
Records in this EDR |
Records |
|
|
22 |
record_num |
Unsigned |
16 |
# of this record within the EDR (starting with 1) |
N/A |
|
|
24 |
datatype |
Unsigned |
16 |
Telemetry type (AFM: TIPS = 3) |
N/A |
|
|
26 |
unused |
Unsigned |
48 |
Unused (zero) |
N/A |
|
|
32 |
ops_token |
Unsigned |
32 |
Ops token |
N/A |
|
|
Tip Test Data (8324 bytes) |
36 |
current_tip |
Unsigned |
8 |
Current tip (0-7) |
N/A |
|
37 |
unused |
Unsigned |
24 |
Unused |
N/A |
|
|
40 |
BridgeOffset1(1) |
Unsigned |
32 |
Bridge offset, pass 1, tip 0 (-32768 = -8V, 32767 = -4V) |
DN |
|
|
44 |
BridgeOffset2(1) |
Unsigned |
32 |
Bridge offset, pass 2, tip 0 (Same as above) |
DN |
|
|
48 |
LeverState1(1) |
Unsigned |
32 |
Lever state, pass 1, tip 0 |
N/A |
|
|
52 |
LeverState2(1) |
Unsigned |
32 |
Lever state, pass 2, tip 0 (Same as above) |
N/A |
|
|
56 |
ScanResults1(1) |
Unsigned |
512*8 |
Scan results, pass 1, tip 0 |
N/A |
|
|
568 |
ScanResults2(1) |
Unsigned |
512*8 |
Scan results, pass 2, tip 0 |
N/A |
|
|
… (repeat for tips 1-6) |
||||||
|
7320 |
BridgeOffset1(8) |
Unsigned |
32 |
Bridge offset, pass 1, tip 7 |
DN |
|
|
7324 |
BridgeOffset2(8) |
Unsigned |
32 |
Bridge offset, pass 2, tip 7 |
DN |
|
|
7328 |
LeverState1(8) |
Unsigned |
32 |
Lever state, pass 1, tip 7 |
N/A |
|
|
7332 |
LeverState2(8) |
Unsigned |
32 |
Lever state, pass 2, tip 7 |
N/A |
|
|
7336 |
ScanResults1(8) |
Unsigned |
512*8 |
Scan results, pass 1, tip 7 |
N/A |
|
|
7848 |
ScanResults2(8) |
Unsigned |
512*8 |
Scan results, pass 2, tip 7 |
N/A |
|
Field descriptions:
· current-tip: The number 0-7 of the cantilever that the software understands is currently being used for scanning. This is for status only, and all 8 cantilevers are evaluated in order, regardless of this value.
· BridgeOffset1: The offset required to balance the Wheatstone bridge
· BridgeOffset2: Same thing, second pass
· LeverState1: The evaluated condition of the cantilever, pass 1 (0 = NOT_TESTED, 1 = DEAD, 2 = NOT_CENTERED, 3 = OUT_OF_RANGE, 4 = NOISY, 5 = OK)
· LeverState2: Same as above, second pass
· ScanResults1: The error signal from a test "scan" in air consisting of a single line, forwards and backwards. Unlike the AFM_SCAN data type, the signal is not preceded by header information.
· ScanResults2: The Same as above, second pass
Usage notes:
· Data starts with the tip 0 and goes through tip 7, regardless of the value of current_tip. Broken off tips should be marked as dead.
· Note that the first three bytes of the data block (36-38) are not repeated.
· Note that tips 0-7 map into array elements 1-8 to accommodate array numbering conventions of analysis software.
Description:
Type 4 is a direct response from the FPGA that controls all aspects of MECA operations. It is preserved in EDR format for completeness and because it is occasionally used as a "workaround" for a primary science measurement, but it would not normally be used directly by the general community.
The most common usage of this telemetry type is as a reply to routine requests including turning on LEDs for imaging, moving the microscope sample stage, deploying a chemistry actuator (sample drawer, water release, or stirring motor), or simply a status inquiry. The data return provides not only confirmation that the requested operation occurred, but specific information useful for calibration, such as the position of the stage when the atomic force microscope is engaged.
A second usage of this telemetry type is in response to a "raw" command, a direct instruction to the FPGA to execute any of its allowed functions. While not recommended for routine science measurements, this mode is often used for operations that are not performed in the desired sequence by the standard flight software commands. This method is currently used, for example, to set up the waveform prior to a WCL voltammetry or potentiometry scan. Since all records in a single EDR must be of the same length, the commands containing RAW fields will be in separate EDRs from the routine requests.
Generated by:
MECA_CMD_NO_OP
MECA_CMD_RAW
MECA_OM_SETLEDS
MECA_STG_ABSROT
MECA_STG_ABSXLT
MECA_STG_RELROT
MECA_STG_RELXLT
MECA_WC_DRWRCLS
MECA_WC_DRWROPEN
MECA_WC_RLSRGT
MECA_WC_RLSWATER
MECA_WC_STIR
Format:
|
|
Offset (bytes) |
Field name |
Type |
Size (bits) |
Description |
Eng Units |
|
Header |
0 |
CMD_secs |
Unsigned |
32 |
Spacecraft command receipt time (whole seconds) |
Secs |
|
4 |
CMD_frac |
Unsigned |
32 |
Spacecraft command receipt time (remainder) |
Secs/ 232 |
|
|
8 |
read_secs |
Unsigned |
32 |
Time at which this data was received from the instrument (whole seconds) |
Secs |
|
|
12 |
read_frac |
Unsigned |
32 |
Time at which this data was received from the instrument (fractional seconds = value / 232) |
See description |
|
|
16 |
datalength |
Unsigned |
32 |
Product length (minus headers) |
Bytes |
|
|
20 |
records |
Unsigned |
16 |
Records in this product |
Records |
|
|
22 |
record_num |
Unsigned |
16 |
# of this record, within the product (starting with 1) |
N/A |
|
|
24 |
datatype |
Unsigned |
16 |
Telemetry type (CME_STATUS = 4) |
N/A |
|
|
26 |
unused |
Unsigned |
48 |
Unused (zero) |
N/A |
|
|
32 |
ops_token |
Unsigned |
32 |
Ops token |
N/A |
|
|
CME status |
36 |
[RAW] [CME_command] CME_status |
Unsigned |
176, unless from CMD_RAW |
The 22-byte CME status returned in the FPGA command response. If output is from the CMD_RAW command, science data and command echo will precede the status. |
N/A |
Field descriptions:
· RAW: This field would normally be populated only for WCL commands used to set up voltammetry and potentiometry scans.
· CME_Command: Used only when RAW is present, this is an echo of the 42-byte command to the FPGA. Details are available from the MECA team.
· CME_status: This is a standard 22-byte coded field returned by the FPGA. It indicates such things as limit switch positions or which components are enabled or disabled. Details are available from the MECA team.
Description:
Type 5 data returns a time series of voltage and current values provided by the primary MECA 5V (load and logic) and 15V (load and AFM) power supplies. These results are diagnostic of the functioning of all subsystems and should be indicative of many anomalous conditions.
Generated by:
MECA_CMD_RDPOWER
Format:
|
|
Offset (bytes) |
Field name |
Type |
Size (bits) |
Description |
Eng Units |
|
Header |
0 |
CMD_secs |
Unsigned |
32 |
Spacecraft command receipt time (whole seconds) |
Secs |
|
4 |
CMD_frac |
Unsigned |
32 |
Spacecraft command receipt time (remainder) |
Secs/ 232 |
|
|
8 |
read_secs |
Unsigned |
32 |
Time at which this data was received from the instrument (whole seconds) |
Secs |
|
|
12 |
read_frac |
Unsigned |
32 |
Time at which this data was received from the instrument (remainder) |
Secs/ 232 |
|
|
16 |
datalength |
Unsigned |
32 |
Record length (minus headers) |
Bytes |
|
|
20 |
records |
Unsigned |
16 |
Records in this EDR |
Records |
|
|
22 |
record_num |
Unsigned |
16 |
# of this record within the EDR (starting with 1) |
N/A |
|
|
24 |
datatype |
Unsigned |
16 |
Telemetry type (POWER_DATA = 5) |
N/A |
|
|
26 |
nsamples |
Unsigned |
8 |
Number of samples in this product |
Samples |
|
|
27 |
samplesize |
Unsigned |
8 |
Sample size (should be 20) |
Bytes |
|
|
28 |
unused |
Unsigned |
32 |
Unused (zero) |
N/A |
|
|
32 |
ops_token |
Unsigned |
32 |
Ops token |
N/A |
|
|
Power Data (one sample) |
36 |
response |
Unsigned |
12 |
5V-logic (voltage) |
DN |
|
Unsigned |
12 |
5V-load (voltage) |
||||
|
39 |
Unsigned |
12 |
15V-load (voltage) |
|||
|
Unsigned |
12 |
15V-AFM (voltage) |
||||
|
42 |
Unsigned |
12 |
5V-logic (current) |
|||
|
Unsigned |
12 |
5V-load (current) |
||||
|
45 |
Unsigned |
12 |
15V-load (current) |
|||
|
Unsigned |
12 |
15V-AFM (current) |
||||
|
48 |
Unsigned |
32 |
Time at which this data was received from the instrument (whole seconds) |
Secs |
||
|
52 |
Unsigned |
32 |
Time at which this data was received from the instrument (remainder) |
Secs/ 232 |
||
|
56 |
<Repeat response for remainder of data> |
|||||
Field descriptions:
· nsamples: The number of times the power lines were read.
· samplesize: Should always read 20 (bytes).
· response: The first 4 fields return voltage readings for the 5V logic and load lines followed by the 15V load and the 15V dedicated AFM drive lines. The following 4 fields contain the current signals for the same line. These 12-bit signals are concatenated such that the sequence of 8 requires 12 bytes. The final 8 bytes tag each set of readings with the spacecraft clock time, using the same convention as the header. To express voltages in mV, multiply the data numbers to by 7.324. To express current values in mA, multiply by 0.610.
Description:
Type 6 data returns, on request, the contents of any of six tables that modify the operation of the MECA flight software (FSW). These include a state table which is autonomously maintained by FSW as well as several tables that can only be set by explicit user command. These user-maintained tables contain the values and allowed ranges of parameters and attributes that define the implementation of each experiment. For microscopy, for example, they might define the different substrate positions on the sample wheel as well as the optimal focus position. Download of these latter tables is for the purpose of confirmation that the actual parameters of an experiment were set as intended.
Generated by:
MECA_TBL_DWNLD
Format:
|
|
Offset (bytes) |
Field name |
Type |
Size (bits) |
Description |
Eng Units |
|
Header |
0 |
CMD_secs |
Unsigned |
32 |
Spacecraft command receipt time (whole seconds) |
Secs |
|
4 |
CMD_frac |
Unsigned |
32 |
Spacecraft command receipt time (remainder) |
Secs/ 232 |
|
|
8 |
read_secs |
Unsigned |
32 |
Time at which this data was received from the instrument (whole seconds) |
Secs |
|
|
12 |
read_frac |
Unsigned |
32 |
Time at which this data was received from the instrument (remainder) |
Secs/ 232 |
|
|
16 |
datalength |
Unsigned |
32 |
Record length (minus header) |
Bytes |
|
|
20 |
records |
Unsigned |
16 |
Records in this EDR |
Records |
|
|
22 |
record_num |
Unsigned |
16 |
# of this record, within the EDR (starting with 1) |
N/A |
|
|
24 |
datatype |
Unsigned |
16 |
Telemetry type (TBL = 6) |
N/A |
|
|
26 |
tabletype |
Unsigned |
8 |
Table type |
N/A |
|
|
27 |
unused |
Unsigned |
40 |
Unused (zero) |
N/A |
|
|
32 |
ops_token |
Unsigned |
32 |
Ops token |
N/A |
|
|
Table Contents |
36 |
response |
Unsigned |
Varies by table type: |
The contents of the requested table. |
N/A |
Field descriptions:
· tabletype: The type of table requested: (0=State, 1=Parameter Values, 2=Parameter Ranges, 3=AFM Attribute ranges, 4=Coupons, 5=Tips).
· response: Depends on table type (see Appendix F). Note that the header listed in Appendix F is used on upload but is not returned with the data. Table lengths are:
0. State Table: 136 bytes
1. Parameter Value Table: 1600 bytes
2. Parameter Range Table: 3200 bytes
3. AFM Attribute Table: 860 bytes
4. Coupons Table: 276 bytes
5. Tips Table: 192 bytes
Description:
Type 7 data contains results of TECP measurements in all its modes, accompanied by indications of the robotic arm position (hence the TECP position) at the time the data was acquired. The mode itself is not indicated except by reference to the original command sequence (this will be corrected in the reduced data records). All eight channels (3 thermocouples, humidity, electrical conductivity and permittivity, electronics board temperature and the heater current) are always returned, with data values set to zero if the channel is inactive. Typically several channels are active at a time. If the robotic arm is not powered on during a TECP activity, the RA position will not be properly reported in the EDR. RA position variables for such observations will be added into the RDR, along with comments about the records and observations.
The eight TECP channel values are converted from data numbers (DN) to physical units as described below. The calibration constants are nominal, and the user should refer to the official calibration document for the most up-to-date values.
· Thermocouples 1-3: The data are returned as 12-bit unsigned values that must first be converted to a signed integer. This, if DN>2048, the signed value is (DN/2048-2), while if DN<2048, the signed value is DN/2048. The result is then multiplied by the opamp gain, nominally 1277, to retrieve ΔV (µV) of the thermocouple. This result is converted to temperature using the formula
T(K) = Tb + ΔV/S
where Tb is the board temperature (see below) and S is the corresponding Seebeck coefficient, derived using the polynomial form:
S (µV/K) = 1.05x10-6∙Tb3 - 1.04x10-3∙Tb2 + 0.432∙Tb - 1.62
Note, however, that for electronic reasons, Tb cannot be read simultaneously with the thermocouples, so Tb will be zero for any EDRs that contain nonzero values of thermocouples 1-3. Tb must therefore be extracted from preceding or following EDRs.
· Board temperature: Temperature is retrieved from the data in DN from:
Tb(K) = 0.0831∙DN - 4.76.
· Humidity: Relative humidity was calibrated by measuring the DN reading of the TECP at various known combinations of temperature and humidity. Thus DN can be converted to RH by solving for the larger root of the polynomial:
DN = -59.922∙RH2 + (-1742 +8.843∙Tb) ∙RH
+ (1860 - 8.2781∙Tb - 0.017443∙Tb2)
where Tb is the board temperature in Kelvin (see above).
· Permittivity: The dielectric constant is found from the polynomial:
εr = 1.172x10-9∙DN3 - 8.528x10-6∙DN28.504x10-6∙DN 2 + 0.02289∙DN0.02277∙DN - 10.5810.42
· Electrical conductivity: Conductivity data is acquired at one of three gain settings. Unfortunately, the gain setting is not returned with the telemetry and must be recovered from the original command. This will be corrected in the reduced data records. Note that at high gain, conductivity is only defined for DN<3421; at medium gain, 229<DN<3636; and at low gain, for DN>211.
The resistance of the medium Rm is determined from the data with the temperature-dependent polynomial:
Rm (Ω) = exp[a∙DN4exp[a∙DN5 + b∙DN3b∙DN4 + c∙DN2c∙DN3 + d∙DN + e]
Where for high gain, and DN < 3421:
|
T(K) |
|
a |
b |
c |
d |
e |
|
160 |
|
-8.341E-14 |
8.237E-10 |
-2.751E-6 |
4.743E-3 |
3.136 |
|
200 |
|
-7.892E-14 |
7.927E-10 |
-2.691E-6 |
4.718E-3 |
3.128 |
|
240 |
|
-7.809E-14 |
7.858E-10 |
-2.673E-6 |
4.699E-3 |
3.136 |
|
280 |
|
-7.742E-14 |
7.807E-10 |
-2.661E-6 |
4.690E-3 |
3.139 |
|
323 |
|
-7.769E-14 |
7.820E-10 |
-2.662E-6 |
4.689E-3 |
3.141 |
For medium gain, and 229 < DN < 3636 :
|
T(K) |
|
a |
b |
c |
d |
e |
|
160 |
|
-3.248E-14 |
4.654E-10 |
-1.922E-6 |
4.037E-3 |
7.918 |
|
200 |
|
-3.171E-14 |
4.536E-10 |
-1.885E-6 |
4.004E-3 |
7.910 |
|
240 |
|
-3.263E-14 |
4.605E-10 |
-1.903E-6 |
4.019E-3 |
7.905 |
|
280 |
|
-3.128E-14 |
4.498E-10 |
-1.877E-6 |
4.000E-3 |
7.901 |
|
323 |
|
-3.100E-14 |
4.478E-10 |
-1.873E-6 |
3.998E-3 |
7.901 |
For low gain, and 211< DN £ 2750:
|
T(K) |
a |
b |
c |
d |
e |
|
|
160 |
3.433E-13 |
-1.813E-9 |
2.535E-6 |
9.912E-4 |
11.85 |
|
|
200 |
3.451E-13 |
-1.826E-9 |
2.565E-6 |
9.698E-4 |
11.85 |
|
|
240 |
2.342E-13 |
-1.116E-9 |
1.133E-6 |
1.971E-3 |
11.66 |
|
|
280 |
1.111E-13 |
-1.938E-10 |
9.454E-7 |
3.561E-3 |
11.35 |
|
|
323 |
2.909E-13 |
-1.240E-9 |
9.917E-7 |
2.302E-3 |
11.57 |
|
For low gain and 2750 < DN £ 3400:
|
T(K) |
a |
b |
c |
d |
e |
|
200 |
0 |
1.3236E-8 |
-1.1648E-4 |
3.4362E-1 |
-3.2341E+2 |
|
240 |
0 |
1.2165E-8 |
-1.0593E-4 |
3.0932E-1 |
-2.8657E+2 |
|
280 |
0 |
1.9291E-8 |
-1.7078E-4 |
5.0553E-1 |
-4.8393E+2 |
To retrieve actual soil conductivity, DN are first converted to resistance, which then yields conductivity according to
EC (µS/cm) = 106 / (Rm∙ p):
where the probe constant p is a function of Rm and gain according to:
p (cm) = a∙ [ln(Rm)] 2 + b∙ln(Rm) + c
where:
|
Gain |
a |
b |
c |
|
high |
-1.97E-2 |
0.540 |
0.0601 |
|
medium |
-3.99E-3 |
8.90E-3 |
3.39 |
|
low |
0 |
0 |
3.79 |
· Heater current: Heater current is retrieved from the data in DN from:
I(mA) = 0.610∙DN
Generated by:
MECA_TECP_READ
Format:
|
|
Offset (bytes) |
FSW field name |
Type |
Size (bits) |
Description
|
Eng Units |
|
Header |
0 |
CMD_secs |
Unsigned |
32 |
Spacecraft command receipt time (whole seconds) |
Secs |
|
4 |
CMD_frac |
Unsigned |
32 |
Spacecraft command receipt time (remainder) |
Secs/ 232 |
|
|
8 |
read_secs |
Unsigned |
32 |
Time at which this data was received from the instrument (whole seconds) |
Secs |
|
|
12 |
read_frac |
Unsigned |
32 |
Time at which this data was received from the instrument (fractional seconds = value / 232) |
See description |
|
|
16 |
datalength |
Unsigned |
32 |
Product length (minus headers) |
Bytes |
|
|
20 |
records |
Unsigned |
16 |
Records in this product |
Records |
|
|
22 |
record_num |
Unsigned |
16 |
# of this record, within the product (starting with 1) |
N/A |
|
|
24 |
datatype |
Unsigned |
16 |
Telemetry type (TECP = 7) |
N/A |
|
|
26 |
nsamples |
Unsigned |
8 |
Number of samples in this product |
Samples |
|
|
27 |
samplesize |
Unsigned |
8 |
Sample size |
Bytes |
|
|
28 |
unused |
Unsigned |
32 |
Unused (zero) |
N/A |
|
|
32 |
ops_token |
Unsigned |
32 |
Ops token |
N/A |
|
|
TECP Data (one sample) |
36 |
response |
Unsigned |
12 |
Thermocouple 1 |
A-to-D counts |
|
Unsigned |
12 |
Thermocouple 2 |
||||
|
39 |
Unsigned |
12 |
Thermocouple 3 |
|||
|
Unsigned |
12 |
Humidity |
||||
|
42 |
Unsigned |
12 |
Electrical conductivity |
|||
|
Unsigned |
12 |
Board temperature |
||||
|
45 |
Unsigned |
12 |
Permittivity |
|||
|
Unsigned |
12 |
Heater current |
||||
|
48 |
Unsigned |
32 |
Time at which this data was received from the instrument (whole seconds) |
Secs |
||
|
52 |
Unsigned |
32 |
Time at which this data was received from the instrument (fractional seconds = value / 232) |
See description |
||
|
56 |
Float |
4*32 |
Joint angles from RA encoders |
Radians |
||
|
72 |
Float |
4*32 |
Joint angles from RA pots |
Radians |
||
|
88 |
Float |
3*32 |
Position of TECP in RA frame |
Meters |
||
|
100 |
Float |
4*32 |
Orientation of TECP in RA frame (quaternion) |
N/A |
||
|
116 |
Float |
4*32 |
Temperature of each RA joint |
Degrees C |
||
|
132 |
Unsigned |
32 |
RA tool referenced (fixed at ra_tool_value_RA_TECP = 6) |
N/A |
||
|
136 |
… |
|||||
Field descriptions:
· nsamples: The number of times the TECP was read.
· samplesize: Should always read 100 (bytes).
· response: The first 8 fields are the actual TECP 12-bit data channels, concatenated such that the sequence of 8 requires 12 bytes. The next 8 bytes tag each set of readings with the spacecraft clock time, using the same convention as the header. The remaining values in each iteration locate the TECP in the RA frame. If the robotic arm is not powered on during a TECP activity, the RA position will not be reported in the EDR. The fields RA_encoders, RA_pots, Tjoint, and TECP_pos will be all zero. TECP_orientation (the quaternion) elements will be 0, 1, 0, 0. The user is referred to Phoenix Camera EDR/RDR SIS for further discussion of lander reference frames.
Description:
This data type contains a single set of readings from the majority of the sensors in the WCL beakers. Conversion to physical units begins with conversion of data numbers (DN) to mV, a characteristic of the analog-to-digital converter circuit common to most the ISEs. Nominal values for the half-cell are:
V(mV) = -0.80579∙DN + 2057.8
The half-cell results are then converted to an absolute potential by subtracting the potential measured on either of the lithium reference sensors. Note that oxidation-reduction potential (ORP) is not specifically listed as a sensor because it serves as the ground for all other sensors. Thus VORP = -VLi.
Conversion from mV to molar concentration is uses calibration constants specific to the beaker. These will be updated after in situ calibration. See the WCL calibration report for additional details.
Generated by:
MECA_WC_READ (Mode 2)
Format:
|
|
Offset (bytes) |
Field name |
Type |
Size (bits) |
Description |
Eng Units |
|
Header |
0 |
CMD_secs |
Unsigned |
32 |
Spacecraft command receipt time (whole seconds) |
Secs |
|
4 |
CMD_frac |
Unsigned |
32 |
Spacecraft command receipt time (remainder) |
Secs/ 232 |
|
|
8 |
read_secs |
Unsigned |
32 |
Time at which this data was received from the instrument (whole seconds) |
Secs |
|
|
12 |
read_frac |
Unsigned |
32 |
Time at which this data was received from the instrument (fractional seconds = value / 232) |
See description |
|
|
16 |
datalength |
Unsigned |
32 |
Record length (minus headers) |
Bytes |
|
|
20 |
records |
Unsigned |
16 |
Records in this EDR |
Records |
|
|
22 |
record_num |
Unsigned |
16 |
# of this record, within the EDR (starting with 1) |
N/A |
|
|
24 |
datatype |
Unsigned |
16 |
Telemetry type (WCL: ISES = 8) |
N/A |
|
|
26 |
unused |
Unsigned |
48 |
Unused (zero) |
N/A |
|
|
32 |
ops_token |
Unsigned |
32 |
Ops token |
N/A |
|
|
WCL data |
36 |
response
|
Unsigned |
384 |
CME response: 48 bytes WCL data |
N/A |
|
Command echo |
84 |
CME_Command
|
Unsigned |
336 |
42-byte CME command |
N/A |
|
Command status |
126 |
CME_status |
Unsigned |
176 |
22-byte CME status |
N/A |
Field descriptions:
· response: Data consists of 24 12-bit words
returned in two bytes with the most significant bits set to
zero. Data is returned in the following order:
|
Byte Offset |
Description |
|
0 |
one of 6 measurements per cycle of chloride reference |
|
2 |
one of 6 measurements per cycle of chloride reference |
|
4 |
polymer pH electrode (1 of 2) |
|
6 |
polymer pH electrode (2 of 2) |
|
8 |
sodium electrode |
|
10 |
lithium electrode (1 of 2) |
|
12 |
potassium electrode |
|
14 |
dissolved oxygen reference electrode |
|
16 |
calcium electrode |
|
18 |
magnesium electrode |
|
20 |
nitrate electrode |
|
22 |
ammonium electrode |
|
24 |
barium electrode |
|
26 |
bromine electrode |
|
28 |
lithium electrode (2 of 2) |
|
30 |
one of 6 measurements per cycle of chloride reference |
|
32 |
one of 6 measurements per cycle of chloride reference |
|
34 |
one of 6 measurements per cycle of chloride reference |
|
36 |
iridium pH electrode |
|
38 |
iodide electrode |
|
40 |
chloride electrode |
|
42 |
carbon dioxide electrode |
|
44 |
monitor for voltage supplied to beaker electronics |
|
46 |
one of 6 measurements per cycle of chloride reference |
· CME_Command: This is an echo of the 42-byte command to the FPGA. Details are available from the MECA team.
· CME_status: This is a standard 22-byte coded field returned by the FPGA. It indicates such things as limit switch positions or which components are enabled or disabled. Details are available from the MECA team.
Description:
This data type contains a single set of readings from the WCL conductivity sensor, the current in each of two ranges and the voltage (read twice). Conversion to physical units begins with conversion of data numbers (DN) to resistance, with the nominal gain given by.
Rlow(Ω) = 5715.3∙(V/Ilow)
Rhigh(Ω) = 5810.4∙(V/Ihigh)
where V = 2517.95-DN and I = 2570-DN.
Conductance is the reciprocal of the resistance. Conductance is converted to conductivity by multiplying by the cell constant, which varies from beaker to beaker and is described in the WCL Calibration Report. The cell constant will be updated after in situ calibration.
Generated by:
MECA_WC_READ (Mode 3)
Format:
|
|
Offset (bytes) |
Field name |
Type |
Size (bits) |
Description |
Eng Units |
|
Header |
0 |
CMD_secs |
Unsigned |
32 |
Spacecraft command receipt time (whole seconds) |
Secs |
|
4 |
CMD_frac |
Unsigned |
32 |
Spacecraft command receipt time (remainder) |
Secs/ 232 |
|
|
8 |
read_secs |
Unsigned |
32 |
Time at which this data was received from the instrument (whole seconds) |
Secs |
|
|
12 |
read_frac |
Unsigned |
32 |
Time at which this data was received from the instrument (fractional seconds = value / 232) |
See description |
|
|
16 |
datalength |
Unsigned |
32 |
Record length (minus headers) |
Bytes |
|
|
20 |
records |
Unsigned |
16 |
Records in this EDR |
Records |
|
|
22 |
record_num |
Unsigned |
16 |
# of this record within the EDR (starting with 1) |
N/A |
|
|
24 |
datatype |
Unsigned |
16 |
Telemetry type (WCL: COND = 9) |
N/A |
|
|
26 |
unused |
Unsigned |
48 |
Unused (zero) |
N/A |
|
|
32 |
ops_token |
Unsigned |
32 |
Ops token |
N/A |
|
|
WCL data |
36 |
response |
Unsigned |
64 |
8 bytes WCL conductivity data
|
N/A |
|
Command echo |
44 |
CME_Command
|
Unsigned |
336 |
42-byte CME command |
N/A |
|
Command status |
86 |
CME_status |
Unsigned |
176 |
22-byte CME status |
N/A |
Field descriptions:
· response: Data consists of 4 12-bit,
unpacked data, each returned in two bytes with the most
significant bits set to zero. Data is returned in the
following order:
|
Byte Offset |
Name |
Description |
|
0 |
I_HI |
1st measure of electrical current in conductivity sensor |
|
2 |
V |
measure of voltage in conductivity sensor |
|
4 |
I_LO |
2nd measure of electrical current in conductivity sensor |
|
6 |
V |
measure of voltage in conductivity sensor |
· CME_Command: This is an echo of the 42-byte command to the FPGA. Details are available from the MECA team.
· CME_status: This is a standard 22-byte coded field returned by the FPGA. It indicates such things as limit switch positions or which components are enabled or disabled. Details are available from the MECA team.
Description:
The WCL Dissolved Oxygen sensor consists of an oxygen permeable membrane encapsulating a gel with electrochemical properties sensitive to the oxygen concentration. Behind the gel is a cyclic voltammetry (CV) electrode, and the form of the readout is thus identical to that of CV (Type 11).
To convert the data to physical units requires knowledge of both the drive (voltage) waveform and the response (current). Both require information that can be extracted from the CME_Command echo (see Field Descriptions). This information will be provided in an accessible form in reduced data records.
With knowledge of the gain setting, the current response to the waveform can be extracted according to the formula:
I(nA) = a∙DN + b
where the parameters a and b for each of the 8 gain settings are nominally as follows (please see the WCL Calibration Report for most recent values):
|
Gain |
a |
b |
|
0 |
0 |
0 |
|
1 |
-0.743 |
1895 |
|
2 |
-0.0734 |
187.7 |
|
3 |
-8.534 |
21778 |
|
4 |
0 |
0 |
|
5 |
-2.568 |
6554 |
|
6 |
-0.245 |
626.5 |
|
7 |
n/a |
n/a |
Note that the gain settings are not monotonically increasing due to a bit order reversal in the FPGA.
The voltage ramp is typically a triangle, repeated until the specified number of points is exhausted (normally just once). The step size, timing, upper and lower voltage limits, and number of points can be extracted from CME_Command in data numbers (DN), but not the starting voltage and ramp, which depend on preceding RAW commands. In most cases, however, the ramp will start at the lower voltage limit.
The drive waveform can be converted from DN to voltage with the following nominal formula:
V(mV) = -1.614∙DN + 3310
Generated by:
MECA_WC_READ (Mode 4)
Format:
|
|
Offset (bytes) |
Field name |
Type |
Size (bits) |
Description |
Eng Units |
|
Header |
0 |
CMD_secs |
Unsigned |
32 |
Spacecraft command receipt time (whole seconds) |
Secs |
|
4 |
CMD_frac |
Unsigned |
32 |
Spacecraft command receipt time (remainder) |
Secs/ 232 |
|
|
8 |
read_secs |
Unsigned |
32 |
Time at which this data was received from the instrument (whole seconds) |
Secs |
|
|
12 |
read_frac |
Unsigned |
32 |
Time at which this data was received from the instrument (fractional seconds ) |
Secs/ 232 |
|
|
16 |
datalength |
Unsigned |
32 |
Record length (minus headers) |
Bytes |
|
|
20 |
records |
Unsigned |
16 |
Records in this EDR |
Records |
|
|
22 |
record_num |
Unsigned |
16 |
# of this record within the EDR (starting with 1) |
N/A |
|
|
24 |
datatype |
Unsigned |
16 |
Telemetry type (WCL: DOX = 10) |
N/A |
|
|
26 |
unused |
Unsigned |
48 |
Unused (zero) |
N/A |
|
|
32 |
ops_token |
Unsigned |
32 |
Ops token |
N/A |
|
|
WCL data |
36 |
response |
Unsigned |
<24180 |
Sensor readings |
N/A |
|
Command echo |
|
CME_Command
|
Unsigned |
336 |
42-byte CME command |
N/A |
|
Command status |
|
CME_status |
Unsigned |
176 |
22-byte CME status |
N/A |
Field descriptions:
· response: Data consists of a series of 12-bit samples padded and returned in two-byte words. Up to 2015 samples can be requested.
· CME_Command: This is an echo of the 42-byte command to the FPGA. Selected fields are described below and will be explicitly specified in future reduced data records. Contact the MECA team for additional information.
For each byte # specified in the table, the top line refers to the four MSBs and the second line to the four LSBs. 12-bit values cross byte boundaries.
|
Byte # |
Description |
|
3 |
MODE (4 for DOx, 5 ASV, 6 CV) |
|
|
Beaker select (lower two bits indicate beaker 0-3) |
|
30 |
|
|
|
# of samples (maximum 2015) |
|
31 |
|
|
|
|
|
32 |
DAC_inc, the DAC increment in DN (~1.6 mV/DN) |
|
|
Clock ticks per step (6.51 µsec/tick, max allowed ~870) |
|
33 |
|
|
|
|
|
34 |
Square wave step size in DN (only for ASV, 0 otherwise) |
|
|
adcReadCount (specifies phasing between drive step and sensor read, typically 0) |
|
35 |
|
|
|
|
|
36 |
DAC_A (DN). Due to an FPGA idiosyncrasy, the minimum value of the ramp is DAC_min =DAC_A - 2*DAC_inc. Most ramps start at DAC_min. |
|
|
|
|
37 |
|
|
|
DAC_B (DN). Due to an FPGA idiosyncrasy, the maximum value of the ramp is DAC_max =DAC_B + 2*DAC_inc. |
|
38 |
|
|
|
|
|
39 |
RampMode (1 for DOx, typically 2 for all others, 3 for inverted CV or ASV) |
|
|
Gain (top 3 bits; divide by 2 to get actual gain setting) |
· CME_status: This is a standard 22-byte coded field returned by the FPGA. It indicates such things as limit switch positions or which components are enabled or disabled. Details are available from the MECA team.
Description:
Type 11 returns data from a cyclic voltammetry experiment. To convert the data to physical units requires knowledge of both the drive (voltage) waveform and the response (current). Both require information that can be extracted from the CME_Command echo (see Field Descriptions). This information will be provided in an accessible form in reduced data records.
With knowledge of the gain setting, the current response to the waveform can be extracted according to the formula:
I(nA) = a∙DN + b
where the parameters a and b for each of the 8 gain settings are nominally as follows (please see the WCL Calibration Report for most recent values):
|
Gain |
a |
b |
|
0 |
0 |
0 |
|
1 |
-0.734 |
1873 |
|
2 |
-0.0725 |
184.7 |
|
3 |
-8.433 |
21523 |
|
4 |
0 |
0 |
|
5 |
-2.537 |
6476 |
|
6 |
-0.243 |
618.4 |
|
7 |
-49.68 |
126816 |
Note that the gain settings are not monotonically increasing due to a bit order reversal in the FPGA.
The voltage ramp is typically a triangle, repeated until the specified number of points is exhausted (normally just once). The step size, timing, upper and lower voltage limits, and number of points can be extracted from CME_Command in data numbers (DN), but not the starting voltage and ramp, which depend on preceding RAW commands. In most cases, however, the ramp will start at the lower voltage limit.
The drive waveform can be converted from DN to voltage with the following nominal formula:
V(mV) = 1.612∙DN - 3296
Generated by:
MECA_WC_READ (Mode 6)
Format:
|
|
Offset (bytes) |
Field name |
Type |
Size (bits) |
Description |
Eng Units |
|
Header |
0 |
CMD_secs |
Unsigned |
32 |
Spacecraft command receipt time (whole seconds) |
Secs |
|
4 |
CMD_frac |
Unsigned |
32 |
Spacecraft command receipt time (remainder) |
Secs/ 232 |
|
|
8 |
read_secs |
Unsigned |
32 |
Time at which this data was received from the instrument (whole seconds) |
Secs |
|
|
12 |
read_frac |
Unsigned |
32 |
Time at which this data was received from the instrument (fractional seconds ) |
Secs/ 232 |
|
|
16 |
datalength |
Unsigned |
32 |
Record length (minus headers) |
Bytes |
|
|
20 |
records |
Unsigned |
16 |
Records in this EDR |
Records |
|
|
22 |
record_num |
Unsigned |
16 |
# of this record within the EDR (starting with 1) |
N/A |
|
|
24 |
datatype |
Unsigned |
16 |
Telemetry type (WCL: DOX = 10) |
N/A |
|
|
26 |
unused |
Unsigned |
48 |
Unused (zero) |
N/A |
|
|
32 |
ops_token |
Unsigned |
32 |
Ops token |
N/A |
|
|
WCL data |
36 |
response |
Unsigned |
<24180 |
Sensor readings |
N/A |
|
Command echo |
|
CME_Command
|
Unsigned |
336 |
42-byte CME command |
N/A |
|
Command status |
|
CME_status |
Unsigned |
176 |
22-byte CME status |
N/A |
Field descriptions:
· response: Data consists of a series of 12-bit samples padded and returned in two-byte words. Up to 2015 samples can be requested.
· CME_Command: This is an echo of the 42-byte command to the FPGA. Selected fields are described below and will be explicitly specified in future reduced data records. Contact the MECA team for additional information.
For each byte # specified in the table, the top line refers to the four MSBs and the second line to the four LSBs. 12-bit values cross byte boundaries.
|
Byte # |
Description |
|
3 |
MODE (4 for DOx, 5 ASV, 6 CV) |
|
|
Beaker select (lower two bits indicate beaker 0-3) |
|
30 |
|
|
|
# of samples (maximum 2015) |
|
31 |
|
|
|
|
|
32 |
DAC_inc, the DAC increment in DN (~1.6 mV/DN) |
|
|
Clock ticks per step (6.51 µsec/tick, max allowed ~870) |
|
33 |
|
|
|
|
|
34 |
Square wave step size in DN (only for ASV, 0 otherwise) |
|
|
adcReadCount (specifies phasing between drive step and sensor read, typically 0) |
|
35 |
|
|
|
|
|
36 |
DAC_A (DN). Due to an FPGA idiosyncrasy, the minimum value of the ramp is DAC_min =DAC_A - 2*DAC_inc. Most ramps start at DAC_min. |
|
|
|
|
37 |
|
|
|
DAC_B (DN). Due to an FPGA idiosyncrasy, the maximum value of the ramp is DAC_max =DAC_B + 2*DAC_inc. |
|
38 |
|
|
|
|
|
39 |
RampMode (1 for DOx, typically 2 for all others, 3 for inverted CV or ASV) |
|
|
Gain (top 3 bits; divide by 2 to get actual gain setting) |
· CME_status: This is a standard 22-byte coded field returned by the FPGA. It indicates such things as limit switch positions or which components are enabled or disabled. Details are available from the MECA team.
Description:
Type 12 returns data from a chronopotentiometry (CP) experiment, in which a current ramp is applied to one of three electrodes and the corresponding potential is measured. When either of the two Ag electrodes are selected (CP1 or CP2), peaks in the derivative of the returned waveform reflect the concentration of chloride, bromide, or iodide in the solution. When the Pt electrode is used (CP3), the same peaks may suggest the presence of iron.
CP was not part of the original FPGA configuration and therefore masquerades as a CV experiment - a switch set in a prior RAW command alerts the electronics boards to respond in chronopotentiometry mode. In contrast to CV, the user has a choice of six gain settings for the drive current but only a single setting for the returned voltage. To convert the data to physical units requires knowledge of both the drive (current) waveform and the response (voltage). Both require information that can be extracted from the CME_Command echo (see Field Descriptions). This information will be provided in an accessible form in reduced data records.
With knowledge of the gain setting, the current corresponding to the waveform can be extracted according to the formula:
I(nA) = a∙DN + b
where the parameters a and b for each of the 8 gain settings are nominally as follows (please see the WCL Calibration Report for most recent values):
|
Gain |
a |
b |
|
0 |
0 |
0 |
|
1 |
-6.454 |
13195 |
|
2 |
-62.83 |
128460 |
|
3 |
-0.6474 |
1322 |
|
4 |
-122.3 |
250061 |
|
5 |
-3.225 |
6592 |
|
6 |
-31.81 |
65046 |
|
7 |
-0.329 |
659 |
Note that the gain settings are not monotonically increasing due to a bit order reversal in the FPGA.
The current ramp uses the same parameters as CV, but is specified to either increase from a low value to a higher value or to remains constant (Dac_inc=0). The step size, timing, upper and lower current limits, and number of points can be extracted from CME_Command in data numbers (DN). The current ramp should always start at the lower voltage limit.
The output can be converted from DN to voltage with the following nominal formula:
V(mV) = -0.70∙DN + 1788
Generated by:
MECA_WC_READ (Mode 6)
Format:
|
|
Offset (bytes) |
Field name |
Type |
Size (bits) |
Description |
Eng Units |
|
Header |
0 |
CMD_secs |
Unsigned |
32 |
Spacecraft command receipt time (whole seconds) |
Secs |
|
4 |
CMD_frac |
Unsigned |
32 |
Spacecraft command receipt time (remainder) |
Secs/ 232 |
|
|
8 |
read_secs |
Unsigned |
32 |
Time at which this data was received from the instrument (whole seconds) |
Secs |
|
|
12 |
read_frac |
Unsigned |
32 |
Time at which this data was received from the instrument (fractional seconds ) |
Secs/ 232 |
|
|
16 |
datalength |
Unsigned |
32 |
Record length (minus headers) |
Bytes |
|
|
20 |
records |
Unsigned |
16 |
Records in this EDR |
Records |
|
|
22 |
record_num |
Unsigned |
16 |
# of this record within the EDR (starting with 1) |
N/A |
|
|
24 |
datatype |
Unsigned |
16 |
Telemetry type (WCL: DOX = 10) |
N/A |
|
|
26 |
unused |
Unsigned |
48 |
Unused (zero) |
N/A |
|
|
32 |
ops_token |
Unsigned |
32 |
Ops token |
N/A |
|
|
WCL data |
36 |
response |
Unsigned |
<24180 |
Sensor readings |
N/A |
|
Command echo |
|
CME_Command
|
Unsigned |
336 |
42-byte CME command |
N/A |
|
Command status |
|
CME_status |
Unsigned |
176 |
22-byte CME status |
N/A |
Field descriptions:
· response: Data consists of a series of 12-bit samples padded and returned in two-byte words. Up to 2015 samples can be requested.
· CME_Command: This is an echo of the 42-byte command to the FPGA. Selected fields are described below and will be explicitly specified in future reduced data records. Contact the MECA team for additional information.
For each byte # specified in the table, the top line refers to the four MSBs and the second line to the four LSBs. 12-bit values cross byte boundaries.
|
Byte # |
Description |
|
3 |
MODE (should be 5 for CP1/Ag electrode, 6 for CP2/Ag, 4 for CP3/Pt) |
|
|
Beaker select (lower two bits indicate beaker 0-3) |
|
30 |
|
|
|
# of samples (maximum 2015) |
|
31 |
|
|
|
|
|
32 |
DAC_inc, the DAC increment in DN (~1.6 mV/DN). 0 for constant current |
|
|
Clock ticks per step (6.51 µsec/tick, max allowed ~870) |
|
33 |
|
|
|
|
|
34 |
Square wave step size in DN (only for ASV, 0 otherwise) |
|
|
adcReadCount (specifies phasing between drive step and sensor read, typically 0) |
|
35 |
|
|
|
|
|
36 |
DAC_A (DN). Due to an FPGA idiosyncrasy, the minimum value of the ramp is DAC_min =DAC_A - 2*DAC_inc. Most ramps start at DAC_min. |
|
|
|
|
37 |
|
|
|
DAC_B (DN). Due to an FPGA idiosyncrasy, the maximum value of the ramp is DAC_max =DAC_B + 2*DAC_inc. |
|
38 |
|
|
|
|
|
39 |
RampMode (2 for CP1 and CP2; 1 for CP3/Pt) |
|
|
Gain (top 3 bits; divide by 2 to get actual gain setting) |
· CME_status: This is a standard 22-byte coded field returned by the FPGA. It indicates such things as limit switch positions or which components are enabled or disabled. Details are available from the MECA team.
Description:
Type 13 returns data from an anodic stripping voltammetry (ASV) experiment. In this mode, the applied waveform moves in a stairstep from a low to a high voltage. At each step a squarewave is applied and the resulting current is measured a fixed interval above, then below the designated ramp voltage. Prior to running this experiment, trace metals are plated onto the electrode by application of a fixed potential. The ASV waveform drives these metals from the electrode, resulting in characteristic peaks.
To convert the data to physical units requires knowledge of both the drive (voltage) waveform and the response (current). Both require information that can be extracted from the CME_Command echo (see Field Descriptions). This information will be provided in an accessible form in reduced data records.
With knowledge of the gain setting, the current response to the waveform can be extracted according to the formula:
I(nA) = a∙DN + b
where the parameters a and b for each of the 8 gain settings are nominally as follows (please see the WCL Calibration Report for most recent values):
|
Gain |
a |
b |
|
0 |
0 |
0 |
|
1 |
-0.743 |
1894 |
|
2 |
-0.0734 |
187.8 |
|
3 |
-8.538 |
21778 |
|
4 |
0 |
0 |
|
5 |
-2.568 |
6551 |
|
6 |
-0.245 |
625.2 |
|
7 |
-50.46 |
128735 |
Note that the gain settings are not monotonically increasing due to a bit order reversal in the FPGA.
The voltage ramp is a squarewave superimposed on a ramp. It is monotonically increasing and, if too many points are specified, will simply flatten off at the maximum voltage. The step size, timing, upper and lower voltage limits, square wave amplitude, and number of points can be extracted from CME_Command in data numbers (DN). The ramp should always start at the lower voltage limit.
The drive waveform can be converted from DN to voltage with the following nominal formula:
V(mV) = 1.612∙DN - 3296
Generated by:
MECA_WC_READ (Mode 6)
Format:
|
|
Offset (bytes) |
Field name |
Type |
Size (bits) |
Description |
Eng Units |
|
Header |
0 |
CMD_secs |
Unsigned |
32 |
Spacecraft command receipt time (whole seconds) |
Secs |
|
4 |
CMD_frac |
Unsigned |
32 |
Spacecraft command receipt time (remainder) |
Secs/ 232 |
|
|
8 |
read_secs |
Unsigned |
32 |
Time at which this data was received from the instrument (whole seconds) |
Secs |
|
|
12 |
read_frac |
Unsigned |
32 |
Time at which this data was received from the instrument (fractional seconds ) |
Secs/ 232 |
|
|
16 |
datalength |
Unsigned |
32 |
Record length (minus headers) |
Bytes |
|
|
20 |
records |
Unsigned |
16 |
Records in this EDR |
Records |
|
|
22 |
record_num |
Unsigned |
16 |
# of this record within the EDR (starting with 1) |
N/A |
|
|
24 |
datatype |
Unsigned |
16 |
Telemetry type (WCL: DOX = 10) |
N/A |
|
|
26 |
unused |
Unsigned |
48 |
Unused (zero) |
N/A |
|
|
32 |
ops_token |
Unsigned |
32 |
Ops token |
N/A |
|
|
WCL data |
36 |
response |
Unsigned |
<24180 |
Sensor readings |
N/A |
|
Command echo |
|
CME_Command
|
Unsigned |
336 |
42-byte CME command |
N/A |
|
Command status |
|
CME_status |
Unsigned |
176 |
22-byte CME status |
N/A |
Field descriptions:
· response: Data consists of a series of 12-bit samples padded and returned in two-byte words. Up to 2015 samples can be requested.
· CME_Command: This is an echo of the 42-byte command to the FPGA. Selected fields are described below and will be explicitly specified in future reduced data records. Contact the MECA team for additional information.
For each byte # specified in the table, the top line refers to the four MSBs and the second line to the four LSBs. 12-bit values cross byte boundaries.
|
Byte # |
Description |
|
3 |
MODE (4 for DOx, 5 ASV, 6 CV) |
|
|
Beaker select (lower two bits indicate beaker 0-3) |
|
30 |
|
|
|
# of samples (maximum 2015) |
|
31 |
|
|
|
|
|
32 |
DAC_inc, the DAC increment in DN (~1.6 mV/DN) |
|
|
Clock ticks per step (6.51 µsec/tick, max allowed ~870) |
|
33 |
|
|
|
|
|
34 |
Square wave step size in DN (~1.6 mV/DN) |
|
|
adcReadCount (specifies phasing between drive step and sensor read, typically 0) |
|
35 |
|
|
|
|
|
36 |
DAC_A (DN). Due to an FPGA idiosyncrasy, the minimum value of the ramp is DAC_min =DAC_A - 2*DAC_inc. Most ramps start at DAC_min. |
|
|
|
|
37 |
|
|
|
DAC_B (DN). Due to an FPGA idiosyncrasy, the maximum value of the ramp is DAC_max =DAC_B + 2*DAC_inc. |
|
38 |
|
|
|
|
|
39 |
RampMode (1 for DOx, typically 2 for all others, 3 for inverted CV or ASV) |
|
|
Gain (top 3 bits; divide by 2 to get actual gain setting) |
· CME_status: This is a standard 22-byte coded field returned by the FPGA. It indicates such things as limit switch positions or which components are enabled or disabled. Details are available from the MECA team.
Type 14: WCL: (Reserved)
Description:
Currently unused, reserved for special modes of voltammetry or potentiometry.
Generated by:
MECA_WC_READ
Description:
For the active WCL cell (known from the command history) each record contains a measurement of the internal pressure sensor as well as temperature data from each of three sensors mounted on the water tank, the sample drawer, and in the beaker wall. The tank is used to monitor and verify thawing of the stored leaching solution, while the drawer sensor monitors the operation of sample introduction and reagent addition actuators. The beaker sensor is critical for analysis of chemical data. Regardless of which cell is active, each telemetry record includes a reading of the microscopy sample stage temperature. Thus many of the returned EDRs may be for the purpose of supporting microscopy experiments.
Each datum is a 12-bit number stored in 2 bytes, with the four most significant bits set to 0. Except for the stage sensor, the conversion to physical units is specific to the selected chemistry cell. The conversion follows the appropriate formula below:
P(mbar) = a∙DN + b
T(°C) = a∙DN + b
Nominal values of a and b are specified in the table below:
|
|
a |
b |
|
T stage |
0.0664 |
-154.15 |
|
Cell 0 |
|
|
|
P |
0.338903 |
-124.002 |
|
T beaker |
0.06290586 |
-143.267 |
|
T tank |
0.0643204 |
-145.966 |
|
T drawer |
0.06947986 |
-158.314 |
|
Cell 1 |
|
|
|
P |
0.340479 |
-135.385 |
|
T beaker |
0.06495649 |
-145.755 |
|
T tank |
0.09388902 |
-208.137 |
|
T drawer |
0.07991369 |
-182.836 |
|
Cell 2 |
|
|
|
P |
0.344203 |
-150.138 |
|
T beaker |
0.06726234 |
-151.284 |
|
T tank |
0.06370578 |
-136.16 |
|
T drawer |
0.06797629 |
-151.228 |
|
Cell 3 |
|
|
|
P |
0.246445 |
-126.864 |
|
T beaker |
0.05697277 |
-132.773 |
|
T tank |
0.06379372 |
-135.449 |
|
T drawer |
0.07836308 |
-179.763 |
Generated by:
MECA_WC_READ (Mode 7)
Format:
|
|
Offset (bytes) |
Field name |
Type |
Size (bits) |
Description |
Eng Units |
|
Header |
0 |
CMD_secs |
Unsigned |
32 |
Spacecraft command receipt time (whole seconds) |
Secs |
|
4 |
CMD_frac |
Unsigned |
32 |
Spacecraft command receipt time (remainder) |
Secs/ 232 |
|
|
8 |
read_secs |
Unsigned |
32 |
Time at which this data was received from the instrument (whole seconds) |
Secs |
|
|
12 |
read_frac |
Unsigned |
32 |
Time at which this data was received from the instrument (fractional seconds |
Secs/ 232 |
|
|
16 |
datalength |
Unsigned |
32 |
Record length (minus headers) |
Bytes |
|
|
20 |
records |
Unsigned |
16 |
Records in this EDR |
Records |
|
|
22 |
record_num |
Unsigned |
16 |
# of this record within the EDR (starting with 1) |
N/A |
|
|
24 |
datatype |
Unsigned |
16 |
Telemetry type (WCL: PT = 15) |
N/A |
|
|
26 |
unused |
Unsigned |
48 |
Unused (zero) |
N/A |
|
|
32 |
ops_token |
Unsigned |
32 |
Ops token |
N/A |
|
|
|
36 |
|
|
32 |
reserved |
|
|
T stage |
40 |
T stage |
Unsigned |
16 |
SWTS temperature sensor |
DN |
|
|
42 |
|
|
16 |
reserved |
|
|
P |
44 |
Pressure |
Unsigned |
16 |
pressure sensor output |
DN |
|
|
46 |
|
|
16 |
reserved |
|
|
T drawer |
48 |
T drawer |
Unsigned |
16 |
AA sample drawer temperature sensor |
DN |
|
|
50 |
|
|
48 |
reserved |
|
|
T tank |
56 |
T tank |
Unsigned |
16 |
AA water tank temperature sensor |
DN |
|
|
58 |
|
|
48 |
reserved |
|
|
T beaker |
64 |
T beaker |
Unsigned |
16 |
Beaker temperature sensor |
DN |
|
|
66 |
|
|
|
reserved |
|
|
Command echo |
68 |
CME_Command
|
Unsigned |
336 |
42-byte CME command |
N/A |
|
Command status |
110 |
CME_status |
Unsigned |
176 |
22-byte CME status |
N/A |
Field descriptions:
· T stage: Common reading of microscopy stage temperature.
· Pressure: Pressure in the active WCL cell.
· T drawer: Temperature measured at the sample drawer of the active cell.
· T tank: Temperature measured on the water tank of the active cell.
· T beaker: Temperature measured in the wall of the beaker of the active cell.
· CME_Command: This is an echo of the 42-byte command to the FPGA. Details are available from the MECA team.
· CME_status: This is a standard 22-byte coded field returned by the FPGA. It indicates such things as limit switch positions or which components are enabled or disabled. Details are available from the MECA team.
Appendix C. PDS LABEL KEYWORDS
|
Keyword Name |
Definition |
Type |
Units |
Valid Values |
Location & Source |
|
|
|
|
|
|
|
|
APPLICATION_PROCESS_ID |
Identifies the source/process which created the data. |
Integer |
|
(see APPLICATION_PROCESS_NAME) |
TELEMETRY (Class)
CCSDS:Primary:APID |
|
APPLICATION_PROCESS_NAME |
Provides the name associated with the source/process which created the data. |
String (256) |
|
APID_MECA_AFM_KEY_STRAT {values for WC,TECP) |
Constant for each MECA instrument.
Table Lookup CCSDS:Primary:APID
|
|
BITS |
The number of bits in a column defined as data type BIT_STRING |
Integer |
|
Minimum 1, maximum 32 |
File structure |
|
BIT_DATA_TYPE |
See DATA_TYPE |
String |
|
MSB_UNSIGNED_INTEGER, |
File structure |
|
BIT_MASK |
A binary number indicating which bits in a value are valid |
String |
|
Example: 2#11110000# means high 4 bits are valid |
File structure |
|
BYTES |
Number of bytes in a data column |
Integer |
|
1, 2, 4, 8 (or multiples thereof for a multiple-item column) |
File structure |
|
COLUMNS |
Number of columns in a data table |
Integer |
|
Minimum 1 |
File structure |
|
COLUMN_NUMBER |
Number of a given data column |
Integer |
|
Minimum 1 |
File structure |
|
DATA_SET_ID |
A unique alphanumeric identifier for a data set or a data product. The DATA_SET_ID value for a given data set or product is constructed according to flight project naming conventions. In most cases the DATA_SET_ID is an abbreviation of the DATA_SET_NAME.
Note: In the PDS, the values for both DATA_SET_ID and DATA_SET_NAME are constructed according to standards outlined in the Standards Reference. |
String (40) |
|
See example labels for actual values used in each product type
|
Constant for each MECA instrument.
Table look up and CCSDS header |
|
DATA_TYPE |
Data storage type of a data value; e.g. real, integer, character; signed v. unsigned; most or least significant byte first |
String |
|
MSB_UNSIGNED_INTEGER, |
File structure |
|
DESCRIPTION (not by MIPL) |
General text descriptor to describe data column. Free format comment field, enclosed in double quotes. |
String |
|
|
UNK for MIPL pipeline. Filled in for MECA generated calibration/characterization data |
|
EARTH_RECEIVED_START_TIME |
Provides the beginning time at which telemetry was received during a time period of interest. This should be represented in UTC system format. |
Datetime |
|
YYYY-MM-DDThh:mm:ss[.fff] |
Calculated CHDO_82:ert |
|
EARTH_RECEIVED_STOP_TIME |
Provides the ending time for receiving telemetry during a time period of interest. This should be represented in UTC system format. |
Datetime |
|
YYYY-MM-DDThh:mm:ss[.fff] |
SFDU
Calculated CHDO_82:ert |
|
END_OBJECT |
OBJECT and END_OBJECT delimit the definition of a table, column, or other data construct. |
String |
|
Example: COLUMN, BIT_COLUMN, CONTAINER, TABLE. A prefix may be prepended to TABLE. |
File structure |
|
FILE_RECORDS |
Indicates the number of physical file records. |
Integer |
|
Number of records in this EDR |
Computed/updated by generating, or updating software |
|
INSTRUMENT_HOST_ID |
Identifier of the host (i.e. spacecraft) on which an instrument is based; an abbreviated version of INSTRUMENT_HOST_NAME |
String |
|
PHX |
Constant |
|
INSTRUMENT_HOST_NAME |
The full name of the host (spacecraft) on which an instrument is based |
String |
|
PHOENIX |
Constant |
|
INSTRUMENT_ID |
Unique identifier of an instrument; an abbreviated version of INSTRUMENT_NAME |
String |
|
MECA_AFM, MECA_ELEC, MECA_TECP, MECA_WCL |
|
|
INSTRUMENT_MODE_ID |
Identifier of a component or operating mode of an instrument |
String |
|
AS, CHRONOAS, CHRONOCV, CME, COND, CV, DOX, FRQTEST, ISES, N/A, PARAM_RANGE_TABLE, PT, PWR, RESPONSE, SCAN, TIPS_TABLE |
|
|
INSTRUMENT_NAME |
Name of the instrument, free format, enclosed in double quotes. |
String |
|
"MECA ATOMIC FORCE MICROSCOPE", "MECA COMMON ELECTRONICS", "MECA THERMAL AND ELECTRICAL CONDUCTIVITY PROBE", "MECA WET CHEMISTRY LABORATORY" |
Table look up and constants. |
|
INTERCHANGE_FORMAT |
Denotes whether data file contents are in ASCII text or binary values |
String |
|
ASCII, BINARY |
All MECA data products are BINARY. |
|
ITEMS |
Number of values in a data column that contains multiple values |
Integer |
|
Minimum 1 |
File structure |
|
ITEM_BYTES |
Number of bytes in one item |
Integer |
|
Minimum 1 |
File structure |
|
ITEM_OFFSET |
Number of bytes from the start of one item to the start of the next |
Integer |
|
Minimum 1 |
File structure |
|
LABEL_RECORDS |
Indicates the number of physical file records (i.e. one ASCII line of this file header) that contain only (PDS) label information. |
Integer |
|
0 to n |
Computed/updated by generating or updating software |
|
LABEL_REVISION_NOTE |
Version of Label definitions |
String |
|
|
Determined by generating software |
|
LOCAL_TRUE_SOLAR_TIME |
USE COMMAND TIME
LTST is measured relative to the true position of the Sun as seen from a point on the planet's surface.
The coordinate system used to define LTST has its origin at the center of the planet. Its Z- axis is the north pole vector (or spin axis) of the planet. The X- axis points at the vernal equinox of the planet's orbit. LTST positions are expressed in spherical coordinates as a radius and areocentric right ascension (ARA) and declination. The ARA, is measured positive eastward in the equatorial plane from the vernal equinox vector to the intersection of the meridian containing the point with the equator. The areocentric declination is the angle between the equatorial plane and the vector to the point. LTST is a function of the difference between the ARAs of the vectors to the Sun and to the point on the planet' s surface. Specifically, LTST = (a(P)-a(TS) )*( 24/360) + 12, where: LTST = the local true solar time in true solar hours a( P) = ARA of the point on the planet' s surface (degrees) a( TS) = ARA of the true sun (degrees) |
String (12) |
|
NOTE: Value will be UNK if this value can not be computed from the available SPICE kernels. Value will by "N/A", if SPICE kernel access is turned off. Also see SPICE_FILE_NAME |
Computed from SCLK using SPICE kernels
|
|
MISSION_NAME |
Identifies a major planetary mission or project. A given planetary mission may be associated with one or more spacecraft. |
String |
|
"PHOENIX" |
Constant |
|
MISSION_PHASE_NAME |
Provides the commonly-used identifier of a mission phase. |
String (30) |
|
"CRUISE", "EXTENDED MISSION", "PRIMARY MISSION", "ATLO", "ORT1", "ORT2", "CCC", "TBD", "TEST", etc. |
Table look from, based on parameter input. |
|
NAME |
Descriptive name given to a data column |
String |
|
|
File structure |
|
OBJECT |
OBJECT and END_OBJECT delimit the definition of a table, column, or other data construct. |
String |
|
Example: COLUMN, BIT_COLUMN, CONTAINER, TABLE. A prefix may be prepended to TABLE. |
File structure |
|
OPS_TOKEN |
32-bit operations token, represented as an 8-digit hex value |
Integer |
|
0 - 16#FFFFFFFF |
Telemetry, instrument header |
|
OPS_TOKEN_ACTIVTY |
16-bit Activity Code from the the OPS token. Represented as a 4 digit Hex value |
Integer |
|
0 - 15#FFFF |
Telemetry, 16 msb of the ops token |
|
OPS_TOKEN_PAYLOAD |
4-bit payload value of the Ops. token, represented as a single Hex digit |
Integer |
|
0 - 16#F |
Telemetry ops token |
|
OPS_TOKEN_SEQUENCE |
12-bit command sequence number of the ops. token, represented at a decimal value |
Integer |
|
0 - 16#FFF |
Telemetry, least 12-bits of the ops token |
|
PDS_VERSION_ID |
Represents the version number of the PDS standards document that is valid when a data product label is created. |
String (6) |
|
"PDS3" |
Constant |
|
PLANET_DAY_NUMBER |
Indicates the number of sidereal days (rotation of 360 degrees) elapsed since a reference day (e.g., the day on which a landing vehicle set down). Days are measured in rotations of the planet in question from the reference day (which is day zero). Landing day is 0 |
Integer |
|
|
Computed from SCLK present in telemetry
|
|
PROCESSING_HISTORY_TEXT |
Provides an entry for each processing step and program used in generating a particular data file. |
String |
|
e.g. "CODMAC LEVEL 1 TO LEVEL 2 CONVERSION VIA JPL/MIPL MERTELEMPROC" |
Static Value |
|
PRODUCER_FULL_NAME |
Individual who acquired/generated the data |
|
|
e.g. "Alice Stanboli" |
|
|
PRODUCER_INSTITUTION_NAME |
Identifies a university, research center, NASA center or other institution associated with the production of a data set. This would generally be an institution associated with the element PRODUCER_FULL_NAME. |
String (60) |
|
Generally, "MULTIMISSION INSTRUMENT PROCESSING LAB, JET PROPULSION LAB" |
Static Value |
|
PRODUCT_CREATION_TIME |
Defines the UTC system format time when a product was created.
|
String |
|
YYYY-MM-DDThh:mm:ss[.fff] |
SFDU header |
|
PRODUCT_ID |
Represents a permanent, unique identifier assigned to a data productby its producer. See also: source_product_id.
Note: In the PDS, the value assigned to product_id must be unique within its data set.
Additional note: The product_id can describe the lowest-level data object that has a PDS label. |
String (40) |
|
File name, less the extension. |
Calculated static value |
|
PRODUCT_TYPE |
The PRODUCT_TYPE data element identifies the type or category of a data product within a data set. See example labels for actual values used within MECA non-imaging data set |
String (30) |
|
"MECA_WCL" "MECA_AFM_FRQTEST" "MECA_AFM_SCAN" "MECA_AFM_TIPS" "MECA_CME_STATUS" "MECA_POWER_DATA" "MECA_TBL" "MECA_TECP" "MECA_WCHEM_ISES" "MECA_AFM_RESPONSE"
|
Table lookup |
|
PRODUCT_VERSION_ID
|
Identifies the version of an individual product within a data set.
PRODUCT_VERSION_ID is intended for use within AMMOS to identify separate iterations of a given product, which will also have a unique FILE_NAME.
Note: This might not be the same as the data set version that is an element of the DATA_SET_ID value. |
String (12) |
|
"V<vernum> D-22850" |
User Parameter |
|
RECORD_BYTES |
Indicates the number of bytes in a physical file record, including record terminators and separators. |
Integer |
|
0 to n |
Telemetry and instrument header |
|
RECORD_TYPE |
Indicates the record format of a file. (Does not apply to label lines except that collectively the label length must be a multiple of the record length). |
String (20) |
|
"FIXED_LENGTH" |
Constant |
|
RELEASE_ID |
Unique identifier associated with the release to the public of all or part of a data set. The first release of a data set should have a RELEASE_ID of "0001."
When a data set is released incrementally, such as every three months during a mission, the RELEASE_ID is updated each time part of the data set is released. |
String |
|
|
User Parameter |
|
REPETITIONS |
Number of times a CONTAINER object is repeated. A CONTAINER is a set of columns in a table treated as a group. |
Integer |
|
Minimum 1 |
File structure |
|
ROWS |
Number of rows in a table |
Integer |
|
Minimum 1 |
File structure |
|
ROW_BYTES |
Number of bytes in a row |
Integer |
|
Minimum 1 |
File structure |
|
SOFTWARE_NAME |
Identifies data processing software that generated this EDR.
|
String (60) |
|
e.g. "PHXTELEMPROC" |
User Parameter |
|
SOFTWARE_VERSION_ID |
Indicates the version (development level) of the processing software that generated this EDR.. |
String (20) |
|
|
User Parameter |
|
SPACECRAFT_CLOCK_START_COUNT |
Starting SCLK, smallest, value of all the records contained in the EDR.
|
String (30) |
|
Format is dddddddddd.ddd, measured in units of seconds stored internally as a floating point number.
|
Telemetry and instrument engineering header
Note: It is possible for the sclk to be earlier than the DVT time reported in the data product meta data file and the sclk reported in the data product file name. |
|
SPACECRAFT_CLOCK_STOP_COUNT |
Ending SCLK, largest value of all the records contained in the EDR.
|
String (30) |
|
Format is dddddddddd.ddd, measured in units of Seconds and is stored internally as a floating point number.
|
Calculated |
|
SPICE_FILE_NAME |
Provides the names of the SPICE files used in processing the data. |
String (180) |
|
Value will be the name of the various SPICE kernels used, or "N/A" if SPICE processing is turned off in EDR generation software. |
User parameter |
|
START_BIT |
In a column defined as a BIT_STRING, the starting bit of a BIT_COLUMN from the beginning of the string. The first bit in the bit string is Bit 1. |
Integer |
|
Minimum 1 |
File structure |
|
START_BYTE |
The starting byte of a column from the beginning of the row. The first byte in the row is Byte 1. |
Integer |
|
Minimum 1 |
File structure |
|
START_TIME |
SPACECRAFT_CLOCK_START_COUNT converted and represented in UTC |
String |
|
Formation rule: YYYY-MM-DDThh:mm:ss[.fff] |
Calculated
|
|
STOP_TIME |
SPACECRAFT_CLOCK_STOP_COUNT converted and represented in UTC |
String |
|
Formation rule: YYYY-MM-DDThh:mm:ss[.fff] |
Calculated
|
|
TARGET_NAME |
Identifies a target. The target may be a planet, satellite, ring, region, feature, asteroid or comet. See TARGET_TYPE. This is based on mission phase. |
String (30) |
|
"MARS", "CALIBRATION" |
Static |
|
TELEMETRY_SOURCE_TYPE |
Classifies the source of the telemetry used in creation of this data set. |
String (12) |
|
"SFDU", "RAW" |
User Parameter |
|
UNIT |
The units of measurement of the value in a data column. |
String |
|
"SECOND", "SECOND/2**32" |
File structure |
|
^xxx_TABLE |
The pointer to the beginning of a named table described in the PDS label. The value is either (a) the record number on which the table data begin, with the first record in the file as Record 1, or (b) with the <BYTES> qualifier, the byte number on which the data begin, with the first byte in the file as Byte 1, or (c) the name of a separate file containing the data. |
Integer or string |
|
Minimum 1; for MECA, always a byte offset. |
File structure |
|
^STRUCTURE |
The pointer to a file containing data column definitions |
String |
|
"AFM_FREQUENCY_SAMPLE.FMT", "AFM_TIPS.FMT", TECP_SAMPLE.FMT", "TBL_0_STATE_DATA.FMT", TBL_1_PARAMETER_VALUES_DATA.FMT", "TBL_2_PARAMETER_RANGE_DATA.FMT", "TBL_3_AFM_ATTRIBUTE_DATA.FMT", "TBL_4_COUPONS_DATA.FMT", "TBL_5_TIPS_DATA.FMT" |
File structure |
Appendix D. EDR File naming convention
The file naming convention defined for the MECA non-imaging EDRs complies with the conventions for Phoenix EDRs and RDRs, which in turn complies with the PDS Level II 27.3 file naming standards.
Each product name is uniquely identifiable throughout the mission.
A template for general filename is shown below. Character positions 9 through 25 are reserved for instrument specific.
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
|
Instrument |
Source/Epic |
Sol |
Product Type |
MECA non-imaging Specific |
Producer |
Version |
. |
Extension |
||||||||||||||||||||||
Detailed definition of product filenames are defined in the table below. Both the generic and MECA-specific fields are described.
|
Position |
Name |
Description/value |
|
1 |
Instrument |
O MECA-OM P MECA-TECP F MECA-AFM W MECA-WCE X MECA-Misc
|
|
2 |
Source/Epic |
Spacecraft S Surface, flight model T Test-bed C Cruise, flight model |
|
3-5 |
SOL |
Solar days since first full day on Mars. Landing day is Sol zero. If Source/Epic is T, day of year should is used (ERT or SCET). For cruise phase, it is always set to "_C_". |
|
6-8 |
Product Type |
3-char identifiers to differentiate products as either EDR (Level 0) or RDR (Level 1+) products. If the identifier begins with an "E", then the product is a type of EDR. Otherwise, it is a type of RDR, defined as needed.
For MECA non-Imaging EDRs, this field is always set to "EMx", where x is a hex digit representing one of 16 MECA data types.
|
|
9 |
Reserved |
Always set to "_" (underscore) character
|
|
10-11 |
Revision |
EDR revision number, 0-255, represented at a 2-digit Hex value.
|
|
12 |
Reserved |
Always set to "_" (underscore) character
|
|
13-17 |
Record Length |
Length of records represented as a 5-digit Hex value. |
|
18-25 |
Ops Token |
Token value represented as an 8-digit Hex value
|
|
26 |
Producer |
Producer's id. M For MIPL generated EDRs
|
|
27 |
Version |
Version number, 0-9,A-Z (36 total) MIPL EDRs are always set to 0.
|
|
28 |
Period |
Always set to "." (ASCII period)
|
|
29-31 |
File Extension |
PDS file extension. For MECA non-Imaging, this is always set to "DAT".
|
Appendix E. Examples of EDR PDS Labels
The following examples were taken from actual MECA EDRs. Due to the large number of different EDR types, only one example of each type is provided.
PDS_VERSION_ID = PDS3
LABEL_REVISION_NOTE = "2006-10-27, Initial"
/* File characteristics */
RECORD_TYPE = FIXED_LENGTH
RECORD_BYTES = 148
LABEL_RECORDS = 52
FILE_RECORDS = 54
/* Pointers to object in file */
^AFM_TABLE = 7253 <BYTES>
/* Identification */
DATA_SET_ID = "PHX-M-MECA-2-NIEDR-V1.0"
DESCRIPTION = "UNK"
PRODUCT_ID = "FT___EM0_00_00070ABABABABM0"
PRODUCT_VERSION_ID = "V1.0 D-22850"
PRODUCT_TYPE = "MECA-EM0"
RELEASE_ID = "0001"
INSTRUMENT_HOST_NAME = "PHOENIX"
INSTRUMENT_HOST_ID = PHX
INSTRUMENT_NAME = "MECA ATOMIC FORCE MICROSCOPE"
INSTRUMENT_ID = "MECA_AFM"
INSTRUMENT_MODE_ID = "FRQTEST"
MISSION_NAME = "PHOENIX"
OPS_TOKEN = "16#BABA#"
OPS_TOKEN_ACTIVITY = "16#BABA#"
OPS_TOKEN_PAYLOAD = "16#5#"
OPS_TOKEN_SEQUENCE = "16#BAB#"
TARGET_NAME = MARS
/* History */
PROCESSING_HISTORY_TEXT = "CODMAC LEVEL 1 to LEVEL 2 CONVERSION
VIA JPL/MIPL PHXTELEMPROC"
/* Telemetry */
TELEMETRY_SOURCE_TYPE = SFDU
/* Time information */
MISSION_PHASE_NAME = "TEST"
SPACECRAFT_CLOCK_START_COUNT = "849981735.032"
SPACECRAFT_CLOCK_STOP_COUNT = "850003332.077"
START_TIME = 2006-12-07T18:02:01.125
STOP_TIME = 2006-12-08T00:01:58.301
PLANET_DAY_NUMBER = UNK
EARTH_RECEIVED_START_TIME = 2006-01-12T00:00:00.000
EARTH_RECEIVED_STOP_TIME = 2006-12-08T00:07:51.550
LOCAL_TRUE_SOLAR_TIME = "12:03:50"
PRODUCT_CREATION_TIME = 2007-04-10T16:59:59.000
/* Processing information */
APPLICATION_PROCESS_ID = 50
APPLICATION_PROCESS_NAME = APID_MECA_AFM_KEY_STRAT
PRODUCER_FULL_NAME = "N/A"
PRODUCER_INSTITUTION_NAME = "MULTIMISSION IMAGE PROCESSING SUBSYSTEM,
JET PROPULSION LAB"
SOFTWARE_NAME = PHXTELEMPROC
SOFTWARE_VERSION_ID = "V2.0 03-16-07"
SPICE_FILE_NAME = "phx.furn"
/* Data object definition */
OBJECT = AFM_TABLE
INTERCHANGE_FORMAT = BINARY
COLUMNS = 26
ROWS = 2
ROW_BYTES = 148
OBJECT = COLUMN
COLUMN_NUMBER = 1
NAME = "CMDTIME WHOLE SECONDS"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 1
BYTES = 4
UNIT = SECOND
DESCRIPTION = "Spacecraft command receipt time,
whole seconds portion"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 2
NAME = "CMDTIME FRACTION"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 5
BYTES = 4
UNIT = "SECOND/2**32"
DESCRIPTION = "Spacecraft command receipt time,
fractional seconds portion
(value / 2**32)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 3
NAME = "READTIME WHOLE SECONDS"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 9
BYTES = 4
UNIT = SECOND
DESCRIPTION = "Time at which this data was received
from the instrument, whole seconds
portion"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 4
NAME = "READTIME FRACTION"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 13
BYTES = 4
UNIT = "SECOND/2**32"
DESCRIPTION = "Time at which this data was received
from the instrument, fractional seconds
portion (value / 2**32)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 5
NAME = "DATA LENGTH"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 17
BYTES = 4
DESCRIPTION = "Product length in bytes, minus headers"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 6
NAME = "OF TOTAL"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 21
BYTES = 2
DESCRIPTION = "Total number of records in this
product"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 7
NAME = "PART NUM"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 23
BYTES = 2
DESCRIPTION = "Number of this record within the
product (starting with 1)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 8
NAME = "DATA TYPE"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 25
BYTES = 2
DESCRIPTION = "Telemetry type"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 9
NAME = "INST_PART_1"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 27
BYTES = 2
DESCRIPTION = "Unused (zero) TBR"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 10
NAME = "INST_PART_2"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 29
BYTES = 4
DESCRIPTION = "Unused (zero) TBR"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 11
NAME = "OPS TOKEN"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 33
BYTES = 4
DESCRIPTION = "Ops token"
END_OBJECT = COLUMN
OBJECT = CONTAINER
NAME = "AFM FREQUENCY SAMPLE"
BYTES = 112
START_BYTE = 37
REPETITIONS = 1
DESCRIPTION = "AMF Frequency test results."
^STRUCTURE = "AFM_FREQUENCY_SAMPLE.FMT"
END_OBJECT = CONTAINER
END_OBJECT = AFM_TABLE
END
PDS_VERSION_ID = PDS3
LABEL_REVISION_NOTE = "2006-10-27, Initial"
/* File characteristics */
RECORD_TYPE = FIXED_LENGTH
RECORD_BYTES = 49
LABEL_RECORDS = 159
FILE_RECORDS = 170
/* Pointers to object in file */
^AFM_TABLE = 7204 <BYTES>
/* Identification */
DATA_SET_ID = "PHX-M-MECA-2-NIEDR-V1.0"
DESCRIPTION = "UNK"
PRODUCT_ID = "FT___EM1_00_0000DABABABABM0"
PRODUCT_VERSION_ID = "V1.0 D-22850"
PRODUCT_TYPE = "MECA-EM1"
RELEASE_ID = "0001"
INSTRUMENT_HOST_NAME = "PHOENIX"
INSTRUMENT_HOST_ID = PHX
INSTRUMENT_NAME = "MECA ATOMIC FORCE MICROSCOPE"
INSTRUMENT_ID = "MECA_AFM"
INSTRUMENT_MODE_ID = "RESPONSE"
MISSION_NAME = "PHOENIX"
OPS_TOKEN = "16#BABA#"
OPS_TOKEN_ACTIVITY = "16#BABA#"
OPS_TOKEN_PAYLOAD = "16#5#"
OPS_TOKEN_SEQUENCE = "16#BAB#"
TARGET_NAME = MARS
/* History */
PROCESSING_HISTORY_TEXT = "CODMAC LEVEL 1 to LEVEL 2 CONVERSION
VIA JPL/MIPL PHXTELEMPROC"
/* Telemetry */
TELEMETRY_SOURCE_TYPE = SFDU
/* Time information */
MISSION_PHASE_NAME = "TEST"
SPACECRAFT_CLOCK_START_COUNT = "849989007.044"
SPACECRAFT_CLOCK_STOP_COUNT = "850006300.088"
START_TIME = 2006-12-07T20:03:13.172
STOP_TIME = 2006-12-08T00:51:26.344
PLANET_DAY_NUMBER = UNK
EARTH_RECEIVED_START_TIME = 2006-01-01T00:00:00.000
EARTH_RECEIVED_STOP_TIME = 2006-12-08T00:51:52.488
LOCAL_TRUE_SOLAR_TIME = "14:01:48"
PRODUCT_CREATION_TIME = 2007-04-10T17:00:10.000
/* Processing information */
APPLICATION_PROCESS_ID = 50
APPLICATION_PROCESS_NAME = APID_MECA_AFM_KEY_STRAT
PRODUCER_FULL_NAME = "N/A"
PRODUCER_INSTITUTION_NAME = "MULTIMISSION IMAGE PROCESSING SUBSYSTEM,
JET PROPULSION LAB"
SOFTWARE_NAME = PHXTELEMPROC
SOFTWARE_VERSION_ID = "V2.0 03-16-07"
SPICE_FILE_NAME = "phx.furn"
/* Data object definition */
OBJECT = AFM_TABLE
INTERCHANGE_FORMAT = BINARY
COLUMNS = 12
ROWS = 11
ROW_BYTES = 49
OBJECT = COLUMN
COLUMN_NUMBER = 1
NAME = "CMDTIME WHOLE SECONDS"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 1
BYTES = 4
UNIT = SECOND
DESCRIPTION = "Spacecraft command receipt time,
whole seconds portion"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 2
NAME = "CMDTIME FRACTION"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 5
BYTES = 4
UNIT = "SECOND/2**32"
DESCRIPTION = "Spacecraft command receipt time,
fractional seconds portion
(value / 2**32)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 3
NAME = "READTIME WHOLE SECONDS"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 9
BYTES = 4
UNIT = SECOND
DESCRIPTION = "Time at which this data was received
from the instrument, whole seconds
portion"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 4
NAME = "READTIME FRACTION"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 13
BYTES = 4
UNIT = "SECOND/2**32"
DESCRIPTION = "Time at which this data was received
from the instrument, fractional seconds
portion (value / 2**32)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 5
NAME = "DATA LENGTH"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 17
BYTES = 4
DESCRIPTION = "Product length in bytes, minus headers"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 6
NAME = "OF TOTAL"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 21
BYTES = 2
DESCRIPTION = "Total number of records in this
product"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 7
NAME = "PART NUM"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 23
BYTES = 2
DESCRIPTION = "Number of this record within the
product (starting with 1)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 8
NAME = "DATA TYPE"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 25
BYTES = 2
DESCRIPTION = "Telemetry type"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 9
NAME = "INST_PART_1"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 27
BYTES = 2
DESCRIPTION = "Unused (zero) TBR"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 10
NAME = "INST_PART_2"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 29
BYTES = 4
DESCRIPTION = "Unused (zero) TBR"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 11
NAME = "OPS TOKEN"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 33
BYTES = 4
DESCRIPTION = "Ops token"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 12
NAME = "AFM RESPONSE"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 37
BYTES = 13
ITEMS = 13
ITEM_BYTES = 1
ITEM_OFFSET = 1
DESCRIPTION = "The actual AFM response to the command,
including the STX, checksum and ETX protocol bytes."
END_OBJECT = COLUMN
END_OBJECT = AFM_TABLE
END
PDS_VERSION_ID = PDS3
LABEL_REVISION_NOTE = "2006-10-27, Initial"
/* File characteristics */
RECORD_TYPE = FIXED_LENGTH
RECORD_BYTES = 1316
LABEL_RECORDS = 10
FILE_RECORDS = 14
/* Pointers to object in file */
^AFM_TABLE = 11845 <BYTES>
/* Identification */
DATA_SET_ID = "PHX-M-MECA-2-NIEDR-V1.0"
DESCRIPTION = "UNK"
PRODUCT_ID = "FT___EM2_00_00500ABABABABM0"
PRODUCT_VERSION_ID = "V1.0 D-22850"
PRODUCT_TYPE = "MECA-EM2"
RELEASE_ID = "0001"
INSTRUMENT_HOST_NAME = "PHOENIX"
INSTRUMENT_HOST_ID = PHX
INSTRUMENT_NAME = "MECA ATOMIC FORCE MICROSCOPE"
INSTRUMENT_ID = "MECA_AFM"
INSTRUMENT_MODE_ID = "SCAN"
MISSION_NAME = "PHOENIX"
OPS_TOKEN = "16#BABA#"
OPS_TOKEN_ACTIVITY = "16#BABA#"
OPS_TOKEN_PAYLOAD = "16#5#"
OPS_TOKEN_SEQUENCE = "16#BAB#"
TARGET_NAME = MARS
/* History */
PROCESSING_HISTORY_TEXT = "CODMAC LEVEL 1 to LEVEL 2 CONVERSION
VIA JPL/MIPL PHXTELEMPROC"
/* Telemetry */
TELEMETRY_SOURCE_TYPE = SFDU
/* Time information */
MISSION_PHASE_NAME = "TEST"
SPACECRAFT_CLOCK_START_COUNT = "849993940.065"
SPACECRAFT_CLOCK_STOP_COUNT = "849993940.065"
START_TIME = 2006-12-07T21:25:26.254
STOP_TIME = 2006-12-07T21:25:26.254
PLANET_DAY_NUMBER = UNK
EARTH_RECEIVED_START_TIME = 2006-12-07T21:30:26.939
EARTH_RECEIVED_STOP_TIME = 2006-12-07T21:30:26.939
LOCAL_TRUE_SOLAR_TIME = "15:21:50"
PRODUCT_CREATION_TIME = 2007-04-10T16:59:43.000
/* Processing information */
APPLICATION_PROCESS_ID = 50
APPLICATION_PROCESS_NAME = APID_MECA_AFM_KEY_STRAT
PRODUCER_FULL_NAME = "N/A"
PRODUCER_INSTITUTION_NAME = "MULTIMISSION IMAGE PROCESSING SUBSYSTEM,
JET PROPULSION LAB"
SOFTWARE_NAME = PHXTELEMPROC
SOFTWARE_VERSION_ID = "V2.0 03-16-07"
SPICE_FILE_NAME = "phx.furn"
/* Data object definition */
OBJECT = AFM_TABLE
INTERCHANGE_FORMAT = BINARY
COLUMNS = 20
ROWS = 4
ROW_BYTES = 1316
OBJECT = COLUMN
COLUMN_NUMBER = 1
NAME = "CMDTIME WHOLE SECONDS"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 1
BYTES = 4
UNIT = SECOND
DESCRIPTION = "Spacecraft command receipt time,
whole seconds portion"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 2
NAME = "CMDTIME FRACTION"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 5
BYTES = 4
UNIT = "SECOND/2**32"
DESCRIPTION = "Spacecraft command receipt time,
fractional seconds portion
(value / 2**32)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 3
NAME = "READTIME WHOLE SECONDS"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 9
BYTES = 4
UNIT = SECOND
DESCRIPTION = "Time at which this data was received
from the instrument, whole seconds
portion"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 4
NAME = "READTIME FRACTION"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 13
BYTES = 4
UNIT = "SECOND/2**32"
DESCRIPTION = "Time at which this data was received
from the instrument, fractional seconds
portion (value / 2**32)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 5
NAME = "DATA LENGTH"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 17
BYTES = 4
DESCRIPTION = "Product length in bytes, minus headers"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 6
NAME = "OF TOTAL"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 21
BYTES = 2
DESCRIPTION = "Total number of records in this
product"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 7
NAME = "PART NUM"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 23
BYTES = 2
DESCRIPTION = "Number of this record within the
product (starting with 1)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 8
NAME = "DATA TYPE"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 25
BYTES = 2
DESCRIPTION = "Telemetry type"
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = COLS
COLUMN_NUMBER = 9
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 27
BYTES = 2
DESCRIPTION = "Image width."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = LINES
COLUMN_NUMBER = 10
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 29
BYTES = 2
DESCRIPTION = "Image height."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = DIR_CHANNEL_MASKS
COLUMN_NUMBER = 11
DATA_TYPE = MSB_BIT_STRING
START_BYTE = 31
BYTES = 1
DESCRIPTION = "Direction and channel masks."
OBJECT = BIT_COLUMN
NAME = "DIRECTION MASK"
BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BIT = 1
BITS = 4
DESCRIPTION = "Direction mask indicating scan
direction. 1=forward, 2=backward."
END_OBJECT = BIT_COLUMN
OBJECT = BIT_COLUMN
NAME = "CHANNEL MASK"
BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BIT = 5
BITS = 4
DESCRIPTION = "Channel represented. 1=height,
2=error. Note that this is the opposite
of the commanded channel mask."
END_OBJECT = BIT_COLUMN
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 12
NAME = "ZOOM REGION"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 32
BYTES = 1
DESCRIPTION = "Zoom region represented (1 is
upper-left corner, 4 is upper-right
corner, 16 is lower-right corner."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 13
NAME = "OPS TOKEN"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 33
BYTES = 4
DESCRIPTION = "Ops token"
END_OBJECT = COLUMN
OBJECT = CONTAINER
NAME = "AFM SCAN DATA."
BYTES = 64
START_BYTE = 37
REPETITIONS = 32
DESCRIPTION = "This container represents one AFM
scan line, including the 8-byte line
header. The REPETITIONS keyword
indicates the number of scan lines
in this record. The size of a scan line
and the number of scan lines per record
may vary from one AFM_SCAN
product to another, but they do not
vary within a single product."
OBJECT = COLUMN
COLUMN_NUMBER = 14
NAME = "DIRECTION"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 1
BYTES = 1
DESCRIPTION = "Direction (0=forward, 1=backward)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 15
NAME = "CHANNEL MASK"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 2
BYTES = 1
DESCRIPTION = "Channel mask (1=error, 2=height)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 16
NAME = "Y VALUE"
DATA_TYPE = MSB_INTEGER
START_BYTE = 3
BYTES = 2
DESCRIPTION = "Line number."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 17
NAME = "Z OFFSET"
DATA_TYPE = MSB_INTEGER
START_BYTE = 5
BYTES = 2
DESCRIPTION = "Maps the range specified by Z channel gain."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 18
NAME = "Z CHANNEL GAIN"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 7
BYTES = 1
DESCRIPTION = "(0=maps the entire z-range,
1=maps half the range, etc."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 19
NAME = "VAP"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 8
BYTES = 1
DESCRIPTION = "V x 25.5, currently not implemented."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 20
NAME = "SCAN DATA"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 9
BYTES = 56
ITEMS = 56
ITEM_BYTES = 1
ITEM_OFFSET = 1
DESCRIPTION = "One AFM scan line"
END_OBJECT = COLUMN
END_OBJECT = CONTAINER
END_OBJECT = AFM_TABLE
END
PDS_VERSION_ID = PDS3
LABEL_REVISION_NOTE = "2006-10-27, Initial"
/* File characteristics */
RECORD_TYPE = FIXED_LENGTH
RECORD_BYTES = 8360
LABEL_RECORDS = 1
FILE_RECORDS = 3
/* Pointers to object in file */
^AFM_TABLE = 8361 <BYTES>
/* Identification */
DATA_SET_ID = "PHX-M-MECA-2-NIEDR-V1.0"
DESCRIPTION = "UNK"
PRODUCT_ID = "FT___EM3_00_02084ABABABABM0"
PRODUCT_VERSION_ID = "V1.0 D-22850"
PRODUCT_TYPE = "MECA-EM3"
RELEASE_ID = "0001"
INSTRUMENT_HOST_NAME = "PHOENIX"
INSTRUMENT_HOST_ID = PHX
INSTRUMENT_NAME = "MECA ATOMIC FORCE MICROSCOPE"
INSTRUMENT_ID = "MECA_AFM"
INSTRUMENT_MODE_ID = "TIPS_TABLE"
MISSION_NAME = "PHOENIX"
OPS_TOKEN = "16#BABA#"
OPS_TOKEN_ACTIVITY = "16#BABA#"
OPS_TOKEN_PAYLOAD = "16#5#"
OPS_TOKEN_SEQUENCE = "16#BAB#"
TARGET_NAME = MARS
/* History */
PROCESSING_HISTORY_TEXT = "CODMAC LEVEL 1 to LEVEL 2 CONVERSION
VIA JPL/MIPL PHXTELEMPROC"
/* Telemetry */
TELEMETRY_SOURCE_TYPE = SFDU
/* Time information */
MISSION_PHASE_NAME = "TEST"
SPACECRAFT_CLOCK_START_COUNT = "849981522.049"
SPACECRAFT_CLOCK_STOP_COUNT = "850003126.061"
START_TIME = 2006-12-07T17:58:28.191
STOP_TIME = 2006-12-07T23:58:32.238
PLANET_DAY_NUMBER = UNK
EARTH_RECEIVED_START_TIME = 2006-01-12T00:00:00.000
EARTH_RECEIVED_STOP_TIME = 2006-12-08T00:00:41.624
LOCAL_TRUE_SOLAR_TIME = "12:00:23"
PRODUCT_CREATION_TIME = 2007-04-10T16:59:58.000
/* Processing information */
APPLICATION_PROCESS_ID = 50
APPLICATION_PROCESS_NAME = APID_MECA_AFM_KEY_STRAT
PRODUCER_FULL_NAME = "N/A"
PRODUCER_INSTITUTION_NAME = "MULTIMISSION IMAGE PROCESSING SUBSYSTEM,
JET PROPULSION LAB"
SOFTWARE_NAME = PHXTELEMPROC
SOFTWARE_VERSION_ID = "V2.0 03-16-07"
SPICE_FILE_NAME = "phx.furn"
/* Data object definition */
OBJECT = AFM_TABLE
INTERCHANGE_FORMAT = BINARY
COLUMNS = 20
ROWS = 2
ROW_BYTES = 8360
OBJECT = COLUMN
COLUMN_NUMBER = 1
NAME = "CMDTIME WHOLE SECONDS"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 1
BYTES = 4
UNIT = SECOND
DESCRIPTION = "Spacecraft command receipt time,
whole seconds portion"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 2
NAME = "CMDTIME FRACTION"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 5
BYTES = 4
UNIT = "SECOND/2**32"
DESCRIPTION = "Spacecraft command receipt time,
fractional seconds portion
(value / 2**32)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 3
NAME = "READTIME WHOLE SECONDS"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 9
BYTES = 4
UNIT = SECOND
DESCRIPTION = "Time at which this data was received
from the instrument, whole seconds
portion"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 4
NAME = "READTIME FRACTION"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 13
BYTES = 4
UNIT = "SECOND/2**32"
DESCRIPTION = "Time at which this data was received
from the instrument, fractional seconds
portion (value / 2**32)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 5
NAME = "DATA LENGTH"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 17
BYTES = 4
DESCRIPTION = "Product length in bytes, minus headers"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 6
NAME = "OF TOTAL"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 21
BYTES = 2
DESCRIPTION = "Total number of records in this
product"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 7
NAME = "PART NUM"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 23
BYTES = 2
DESCRIPTION = "Number of this record within the
product (starting with 1)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 8
NAME = "DATA TYPE"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 25
BYTES = 2
DESCRIPTION = "Telemetry type"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 9
NAME = "INST_PART_1"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 27
BYTES = 2
DESCRIPTION = "Unused (zero) TBR"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 10
NAME = "INST_PART_2"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 29
BYTES = 4
DESCRIPTION = "Unused (zero) TBR"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 11
NAME = "OPS TOKEN"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 33
BYTES = 4
DESCRIPTION = "Ops token"
END_OBJECT = COLUMN
OBJECT = CONTAINER
NAME = "AFM TIPS"
BYTES = 8324
START_BYTE = 37
REPETITIONS = 1
DESCRIPTION = "AFM tips test results."
^STRUCTURE = "AFM_TIPS.FMT"
END_OBJECT = CONTAINER
END_OBJECT = AFM_TABLE
END
PDS_VERSION_ID = PDS3
LABEL_REVISION_NOTE = "2006-10-27, Initial"
/* File characteristics */
RECORD_TYPE = FIXED_LENGTH
RECORD_BYTES = 58
LABEL_RECORDS = 132
FILE_RECORDS = 281
/* Pointers to object in file */
^CME_TABLE = 7135 <BYTES>
/* Identification */
DATA_SET_ID = "PHX-M-MECA-2-NIEDR-V1.0"
DESCRIPTION = "UNK"
PRODUCT_ID = "XT___EM4_00_00016ABABABABM0"
PRODUCT_VERSION_ID = "V1.0 D-22850"
PRODUCT_TYPE = "MECA-EM4"
RELEASE_ID = "0001"
INSTRUMENT_HOST_NAME = "PHOENIX"
INSTRUMENT_HOST_ID = PHX
INSTRUMENT_NAME = "MECA COMMON ELECTRONICS"
INSTRUMENT_ID = "MECA_ELEC"
INSTRUMENT_MODE_ID = "CME"
MISSION_NAME = "PHOENIX"
OPS_TOKEN = "16#BABA#"
OPS_TOKEN_ACTIVITY = "16#BABA#"
OPS_TOKEN_PAYLOAD = "16#5#"
OPS_TOKEN_SEQUENCE = "16#BAB#"
TARGET_NAME = MARS
/* History */
PROCESSING_HISTORY_TEXT = "CODMAC LEVEL 1 to LEVEL 2 CONVERSION
VIA JPL/MIPL PHXTELEMPROC"
/* Telemetry */
TELEMETRY_SOURCE_TYPE = SFDU
/* Time information */
MISSION_PHASE_NAME = "TEST"
SPACECRAFT_CLOCK_START_COUNT = "849980535.053"
SPACECRAFT_CLOCK_STOP_COUNT = "870620446.056"
START_TIME = 2006-12-07T17:42:01.207
STOP_TIME = 2007-08-03T15:00:32.219
PLANET_DAY_NUMBER = UNK
EARTH_RECEIVED_START_TIME = 2006-01-01T00:00:00.000
EARTH_RECEIVED_STOP_TIME = 2006-01-01T00:00:00.000
LOCAL_TRUE_SOLAR_TIME = "11:44:22"
PRODUCT_CREATION_TIME = 2007-04-10T17:00:11.000
/* Processing information */
APPLICATION_PROCESS_ID = 52
APPLICATION_PROCESS_NAME = APID_MECA_ANCIL_KEY_STRAT
PRODUCER_FULL_NAME = "N/A"
PRODUCER_INSTITUTION_NAME = "MULTIMISSION IMAGE PROCESSING SUBSYSTEM,
JET PROPULSION LAB"
SOFTWARE_NAME = PHXTELEMPROC
SOFTWARE_VERSION_ID = "V2.0 03-16-07"
SPICE_FILE_NAME = "phx.furn"
/* Data object definition */
OBJECT = CME_TABLE
INTERCHANGE_FORMAT = BINARY
COLUMNS = 11
ROWS = 149
ROW_BYTES = 58
OBJECT = COLUMN
COLUMN_NUMBER = 1
NAME = "CMDTIME WHOLE SECONDS"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 1
BYTES = 4
UNIT = SECOND
DESCRIPTION = "Spacecraft command receipt time,
whole seconds portion"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 2
NAME = "CMDTIME FRACTION"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 5
BYTES = 4
UNIT = "SECOND/2**32"
DESCRIPTION = "Spacecraft command receipt time,
fractional seconds portion
(value / 2**32)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 3
NAME = "READTIME WHOLE SECONDS"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 9
BYTES = 4
UNIT = SECOND
DESCRIPTION = "Time at which this data was received
from the instrument, whole seconds
portion"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 4
NAME = "READTIME FRACTION"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 13
BYTES = 4
UNIT = "SECOND/2**32"
DESCRIPTION = "Time at which this data was received
from the instrument, fractional seconds
portion (value / 2**32)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 5
NAME = "DATA LENGTH"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 17
BYTES = 4
DESCRIPTION = "Product length in bytes, minus headers"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 6
NAME = "OF TOTAL"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 21
BYTES = 2
DESCRIPTION = "Total number of records in this
product"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 7
NAME = "PART NUM"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 23
BYTES = 2
DESCRIPTION = "Number of this record within the
product (starting with 1)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 8
NAME = "DATA TYPE"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 25
BYTES = 2
DESCRIPTION = "Telemetry type"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 9
NAME = "INST_PART_1"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 27
BYTES = 2
DESCRIPTION = "Unused (zero) TBR"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 10
NAME = "INST_PART_2"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 29
BYTES = 4
DESCRIPTION = "Unused (zero) TBR"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 11
NAME = "OPS TOKEN"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 33
BYTES = 4
DESCRIPTION = "Ops token"
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "CME STATUS"
DATA_TYPE = "MSB_UNSIGNED_INTEGER"
START_BYTE = 37
BYTES = 22
ITEMS = 22
ITEM_BYTES = 1
DESCRIPTION = "The CME status returned in the FPGA command response."
END_OBJECT = COLUMN
END_OBJECT = CME_TABLE
END
PDS_VERSION_ID = PDS3
LABEL_REVISION_NOTE = "2006-10-27, Initial"
/* File characteristics */
RECORD_TYPE = FIXED_LENGTH
RECORD_BYTES = 56
LABEL_RECORDS = 210
FILE_RECORDS = 211
/* Pointers to object in file */
^PWR_TABLE = 11649 <BYTES>
/* Identification */
DATA_SET_ID = "PHX-M-MECA-2-NIEDR-V1.0"
DESCRIPTION = "UNK"
PRODUCT_ID = "XT___EM5_00_00014ABABABABM0"
PRODUCT_VERSION_ID = "V1.0 D-22850"
PRODUCT_TYPE = "MECA-EM5"
RELEASE_ID = "0001"
INSTRUMENT_HOST_NAME = "PHOENIX"
INSTRUMENT_HOST_ID = PHX
INSTRUMENT_NAME = "MECA COMMON ELECTRONICS"
INSTRUMENT_ID = "MECA_ELEC"
INSTRUMENT_MODE_ID = "PWR"
MISSION_NAME = "PHOENIX"
OPS_TOKEN = "16#BABA#"
OPS_TOKEN_ACTIVITY = "16#BABA#"
OPS_TOKEN_PAYLOAD = "16#5#"
OPS_TOKEN_SEQUENCE = "16#BAB#"
TARGET_NAME = MARS
/* History */
PROCESSING_HISTORY_TEXT = "CODMAC LEVEL 1 to LEVEL 2 CONVERSION
VIA JPL/MIPL PHXTELEMPROC"
/* Telemetry */
TELEMETRY_SOURCE_TYPE = SFDU
/* Time information */
MISSION_PHASE_NAME = "TEST"
SPACECRAFT_CLOCK_START_COUNT = "870614837.068"
SPACECRAFT_CLOCK_STOP_COUNT = "870614837.068"
START_TIME = 2007-08-03T13:27:03.266
STOP_TIME = 2007-08-03T13:27:03.266
PLANET_DAY_NUMBER = UNK
EARTH_RECEIVED_START_TIME = 2006-12-08T17:22:42.229
EARTH_RECEIVED_STOP_TIME = 2006-12-08T17:22:42.229
LOCAL_TRUE_SOLAR_TIME = "21:04:08"
PRODUCT_CREATION_TIME = 2007-04-10T16:58:23.000
/* Processing information */
APPLICATION_PROCESS_ID = 52
APPLICATION_PROCESS_NAME = APID_MECA_ANCIL_KEY_STRAT
PRODUCER_FULL_NAME = "N/A"
PRODUCER_INSTITUTION_NAME = "MULTIMISSION IMAGE PROCESSING SUBSYSTEM,
JET PROPULSION LAB"
SOFTWARE_NAME = PHXTELEMPROC
SOFTWARE_VERSION_ID = "V2.0 03-16-07"
SPICE_FILE_NAME = "phx.furn"
/* Data object definition */
OBJECT = PWR_TABLE
INTERCHANGE_FORMAT = BINARY
COLUMNS = 15
ROWS = 1
ROW_BYTES = 56
OBJECT = COLUMN
COLUMN_NUMBER = 1
NAME = "CMDTIME WHOLE SECONDS"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 1
BYTES = 4
UNIT = SECOND
DESCRIPTION = "Spacecraft command receipt time,
whole seconds portion"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 2
NAME = "CMDTIME FRACTION"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 5
BYTES = 4
UNIT = "SECOND/2**32"
DESCRIPTION = "Spacecraft command receipt time,
fractional seconds portion
(value / 2**32)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 3
NAME = "READTIME WHOLE SECONDS"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 9
BYTES = 4
UNIT = SECOND
DESCRIPTION = "Time at which this data was received
from the instrument, whole seconds
portion"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 4
NAME = "READTIME FRACTION"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 13
BYTES = 4
UNIT = "SECOND/2**32"
DESCRIPTION = "Time at which this data was received
from the instrument, fractional seconds
portion (value / 2**32)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 5
NAME = "DATA LENGTH"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 17
BYTES = 4
DESCRIPTION = "Product length in bytes, minus headers"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 6
NAME = "OF TOTAL"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 21
BYTES = 2
DESCRIPTION = "Total number of records in this
product"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 7
NAME = "PART NUM"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 23
BYTES = 2
DESCRIPTION = "Number of this record within the
product (starting with 1)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 8
NAME = "DATA TYPE"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 25
BYTES = 2
DESCRIPTION = "Telemetry type"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 9
NAME = "SAMPLES"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 27
BYTES = 1
DESCRIPTION = "Number of samples in each record of
this product"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 10
NAME = "SAMPLE SIZE"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 28
BYTES = 1
DESCRIPTION = "Sample size in bytes"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 11
NAME = "INST"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 29
BYTES = 4
DESCRIPTION = "Unused (zero) TBR"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 12
NAME = "OPS TOKEN"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 33
BYTES = 4
DESCRIPTION = "Ops token"
END_OBJECT = COLUMN
OBJECT = CONTAINER
NAME = "POWER DATA"
BYTES = 20
START_BYTE = 37
REPETITIONS = 1
DESCRIPTION = "Power data for commanded power measurements."
OBJECT = COLUMN
COLUMN_NUMBER = 1
NAME = "READING"
DATA_TYPE = MSB_BIT_STRING
START_BYTE = 1
BYTES = 20
DESCRIPTION = "Commanded power measurement."
OBJECT = BIT_COLUMN
NAME = "5V LOGIC VOLTS"
BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BIT = 1
BITS = 12
DESCRIPTION = "5V logic volts"
END_OBJECT = BIT_COLUMN
OBJECT = BIT_COLUMN
NAME = "5V LOAD VOLTS"
BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BIT = 13
BITS = 12
DESCRIPTION = "5V load volts"
END_OBJECT = BIT_COLUMN
OBJECT = BIT_COLUMN
NAME = "15V LOAD VOLTS"
BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BIT = 25
BITS = 12
DESCRIPTION = "15V load volts"
END_OBJECT = BIT_COLUMN
OBJECT = BIT_COLUMN
NAME = "15V AFM VOLTS"
BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BIT = 37
BITS = 12
DESCRIPTION = "15V AFM volts"
END_OBJECT = BIT_COLUMN
OBJECT = BIT_COLUMN
NAME = "5V LOGIC CURRENT"
BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BIT = 49
BITS = 12
DESCRIPTION = "5V logic current"
END_OBJECT = BIT_COLUMN
OBJECT = BIT_COLUMN
NAME = "5V LOAD CURRENT"
BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BIT = 61
BITS = 12
DESCRIPTION = "5V load current"
END_OBJECT = BIT_COLUMN
OBJECT = BIT_COLUMN
NAME = "15V LOAD CURRENT"
BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BIT = 73
BITS = 12
DESCRIPTION = "15V load current"
END_OBJECT = BIT_COLUMN
OBJECT = BIT_COLUMN
NAME = "15V AFM CURRENT"
BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BIT = 85
BITS = 12
DESCRIPTION = "15V AFM current"
END_OBJECT = BIT_COLUMN
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "SAMPLE TIME"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 13
BYTES = 4
UNIT = SECOND
DESCRIPTION = "Time at which data was received from
instrument, whole seconds portion"
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "SAMPLE TIME FRACTION"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 17
BYTES = 4
UNIT = "SECOND/2**32"
DESCRIPTION = "Time at which data was received from
instrument, fractional seconds portion
(value / 2**32)"
END_OBJECT = COLUMN
END_OBJECT = CONTAINER
END_OBJECT = PWR_TABLE
END
This is an example label for one of several types of table data. See Appendix F for an explanation of the different types.
PDS_VERSION_ID = PDS3
LABEL_REVISION_NOTE = "2006-10-27, Initial"
/* File characteristics */
RECORD_TYPE = FIXED_LENGTH
RECORD_BYTES = 3056
LABEL_RECORDS = 3
FILE_RECORDS = 5
/* Pointers to object in file */
^TBL_TABLE = 9661 <BYTES>
/* Identification */
DATA_SET_ID = "PHX-M-MECA-2-NIEDR-V1.0"
DESCRIPTION = "UNK"
PRODUCT_ID = "XT___EM6_00_00C70ABABABABM0"
PRODUCT_VERSION_ID = "V1.0 D-22850"
PRODUCT_TYPE = "MECA-EM6"
RELEASE_ID = "0001"
INSTRUMENT_HOST_NAME = "PHOENIX"
INSTRUMENT_HOST_ID = PHX
INSTRUMENT_NAME = "MECA COMMON ELECTRONICS"
INSTRUMENT_ID = "MECA_ELEC"
INSTRUMENT_MODE_ID = "PARAM_RANGE_TABLE"
MISSION_NAME = "PHOENIX"
OPS_TOKEN = "16#BABA#"
OPS_TOKEN_ACTIVITY = "16#BABA#"
OPS_TOKEN_PAYLOAD = "16#5#"
OPS_TOKEN_SEQUENCE = "16#BAB#"
TARGET_NAME = MARS
/* History */
PROCESSING_HISTORY_TEXT = "CODMAC LEVEL 1 to LEVEL 2 CONVERSION
VIA JPL/MIPL PHXTELEMPROC"
/* Telemetry */
TELEMETRY_SOURCE_TYPE = SFDU
/* Time information */
MISSION_PHASE_NAME = "TEST"
SPACECRAFT_CLOCK_START_COUNT = "849981132.029"
SPACECRAFT_CLOCK_STOP_COUNT = "850002836.081"
START_TIME = 2006-12-07T17:51:58.113
STOP_TIME = 2006-12-07T23:53:42.316
PLANET_DAY_NUMBER = UNK
EARTH_RECEIVED_START_TIME = 2006-01-12T00:00:00.000
EARTH_RECEIVED_STOP_TIME = 2006-12-07T23:54:15.956
LOCAL_TRUE_SOLAR_TIME = "11:54:03"
PRODUCT_CREATION_TIME = 2007-04-10T16:59:58.000
/* Processing information */
APPLICATION_PROCESS_ID = 52
APPLICATION_PROCESS_NAME = APID_MECA_ANCIL_KEY_STRAT
PRODUCER_FULL_NAME = "N/A"
PRODUCER_INSTITUTION_NAME = "MULTIMISSION IMAGE PROCESSING SUBSYSTEM,
JET PROPULSION LAB"
SOFTWARE_NAME = PHXTELEMPROC
SOFTWARE_VERSION_ID = "V2.0 03-16-07"
SPICE_FILE_NAME = "phx.furn"
/* Data object definition */
OBJECT = TBL_TABLE
INTERCHANGE_FORMAT = BINARY
COLUMNS = 16
ROWS = 2
ROW_BYTES = 3056
OBJECT = COLUMN
COLUMN_NUMBER = 1
NAME = "CMDTIME WHOLE SECONDS"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 1
BYTES = 4
UNIT = SECOND
DESCRIPTION = "Spacecraft command receipt time,
whole seconds portion"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 2
NAME = "CMDTIME FRACTION"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 5
BYTES = 4
UNIT = "SECOND/2**32"
DESCRIPTION = "Spacecraft command receipt time,
fractional seconds portion
(value / 2**32)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 3
NAME = "READTIME WHOLE SECONDS"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 9
BYTES = 4
UNIT = SECOND
DESCRIPTION = "Time at which this data was received
from the instrument, whole seconds
portion"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 4
NAME = "READTIME FRACTION"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 13
BYTES = 4
UNIT = "SECOND/2**32"
DESCRIPTION = "Time at which this data was received
from the instrument, fractional seconds
portion (value / 2**32)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 5
NAME = "DATA LENGTH"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 17
BYTES = 4
DESCRIPTION = "Product length in bytes, minus headers"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 6
NAME = "OF TOTAL"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 21
BYTES = 2
DESCRIPTION = "Total number of records in this
product"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 7
NAME = "PART NUM"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 23
BYTES = 2
DESCRIPTION = "Number of this record within the
product (starting with 1)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 8
NAME = "DATA TYPE"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 25
BYTES = 2
DESCRIPTION = "Telemetry type"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 9
NAME = "TABLE ID"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 27
BYTES = 1
DESCRIPTION = "Table type (0=STATE,
1=PARAMVALUES, 2=PARAMRANGES,
3=AFMATTRIBUTES, 4=COUPONS, 5=TIPS)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 10
NAME = "INST"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 28
BYTES = 4
DESCRIPTION = "Unused (zero) TBR"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 11
NAME = "INST1"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 32
BYTES = 1
DESCRIPTION = "Unused (zero) TBR"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 12
NAME = "OPS TOKEN"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 33
BYTES = 4
DESCRIPTION = "Ops token"
END_OBJECT = COLUMN
OBJECT = CONTAINER
NAME = "TBL2 DATA"
BYTES = 3024
START_BYTE = 37
REPETITIONS = 189
DESCRIPTION = "Table contents for PARAMRANGES table downloads."
^STRUCTURE = "TBL_2_PARAMETER_RANGE_DATA.FMT"
END_OBJECT = CONTAINER
END_OBJECT = TBL_TABLE
END
PDS_VERSION_ID = PDS3
LABEL_REVISION_NOTE = "2006-10-27, Initial"
/* File characteristics */
RECORD_TYPE = FIXED_LENGTH
RECORD_BYTES = 1936
LABEL_RECORDS = 5
FILE_RECORDS = 8
/* Pointers to object in file */
^TECP_TABLE = 9681 <BYTES>
/* Identification */
DATA_SET_ID = "PHX-M-MECA-2-NIEDR-V1.0"
DESCRIPTION = "UNK"
PRODUCT_ID = "PT___EM7_00_0076CABABABABM0"
PRODUCT_VERSION_ID = "V1.0 D-22850"
PRODUCT_TYPE = "MECA-EM7"
RELEASE_ID = "0001"
INSTRUMENT_HOST_NAME = "PHOENIX"
INSTRUMENT_HOST_ID = PHX
INSTRUMENT_NAME = "MECA THERMAL AND ELECTRICAL
CONDUCTIVITY PROBE"
INSTRUMENT_ID = "MECA_TECP"
INSTRUMENT_MODE_ID = "N/A"
MISSION_NAME = "PHOENIX"
OPS_TOKEN = "16#BABA#"
OPS_TOKEN_ACTIVITY = "16#BABA#"
OPS_TOKEN_PAYLOAD = "16#5#"
OPS_TOKEN_SEQUENCE = "16#BAB#"
TARGET_NAME = MARS
/* History */
PROCESSING_HISTORY_TEXT = "CODMAC LEVEL 1 to LEVEL 2 CONVERSION
VIA JPL/MIPL PHXTELEMPROC"
/* Telemetry */
TELEMETRY_SOURCE_TYPE = SFDU
/* Time information */
MISSION_PHASE_NAME = "TEST"
SPACECRAFT_CLOCK_START_COUNT = "870614869.051"
SPACECRAFT_CLOCK_STOP_COUNT = "870614869.051"
START_TIME = 2007-08-03T13:27:35.199
STOP_TIME = 2007-08-03T13:27:35.199
PLANET_DAY_NUMBER = UNK
EARTH_RECEIVED_START_TIME = 2006-12-08T17:27:51.895
EARTH_RECEIVED_STOP_TIME = 2006-12-08T17:27:51.895
LOCAL_TRUE_SOLAR_TIME = "21:04:39"
PRODUCT_CREATION_TIME = 2007-04-10T16:58:23.000
/* Processing information */
APPLICATION_PROCESS_ID = 60
APPLICATION_PROCESS_NAME = APID_MECA_TECP_KEY_STRAT
PRODUCER_FULL_NAME = "N/A"
PRODUCER_INSTITUTION_NAME = "MULTIMISSION IMAGE PROCESSING SUBSYSTEM,
JET PROPULSION LAB"
SOFTWARE_NAME = PHXTELEMPROC
SOFTWARE_VERSION_ID = "V2.0 03-16-07"
SPICE_FILE_NAME = "phx.furn"
/* Data object definition */
OBJECT = TECP_TABLE
INTERCHANGE_FORMAT = BINARY
COLUMNS = 21
ROWS = 3
ROW_BYTES = 1936
OBJECT = COLUMN
COLUMN_NUMBER = 1
NAME = "CMDTIME WHOLE SECONDS"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 1
BYTES = 4
UNIT = SECOND
DESCRIPTION = "Spacecraft command receipt time,
whole seconds portion"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 2
NAME = "CMDTIME FRACTION"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 5
BYTES = 4
UNIT = "SECOND/2**32"
DESCRIPTION = "Spacecraft command receipt time,
fractional seconds portion
(value / 2**32)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 3
NAME = "READTIME WHOLE SECONDS"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 9
BYTES = 4
UNIT = SECOND
DESCRIPTION = "Time at which this data was received
from the instrument, whole seconds
portion"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 4
NAME = "READTIME FRACTION"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 13
BYTES = 4
UNIT = "SECOND/2**32"
DESCRIPTION = "Time at which this data was received
from the instrument, fractional seconds
portion (value / 2**32)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 5
NAME = "DATA LENGTH"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 17
BYTES = 4
DESCRIPTION = "Product length in bytes, minus headers"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 6
NAME = "OF TOTAL"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 21
BYTES = 2
DESCRIPTION = "Total number of records in this
product"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 7
NAME = "PART NUM"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 23
BYTES = 2
DESCRIPTION = "Number of this record within the
product (starting with 1)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 8
NAME = "DATA TYPE"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 25
BYTES = 2
DESCRIPTION = "Telemetry type"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 9
NAME = "SAMPLES"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 27
BYTES = 1
DESCRIPTION = "Number of samples in each record of
this product"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 10
NAME = "SAMPLE SIZE"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 28
BYTES = 1
DESCRIPTION = "Sample size in bytes"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 11
NAME = "INST"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 29
BYTES = 4
DESCRIPTION = "Unused (zero) TBR"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 12
NAME = "OPS TOKEN"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 33
BYTES = 4
DESCRIPTION = "Ops token"
END_OBJECT = COLUMN
OBJECT = CONTAINER
NAME = "TECP SAMPLE"
BYTES = 100
START_BYTE = 37
REPETITIONS = 19
DESCRIPTION = "One TECP record may contain up to 19
samples of 100 bytes each. The number of
samples per record may vary from one TECP
product to another, but it is the same
within a single TECP product. The keyword
REPETITIONS indicates the number of samples
in each record in this product."
^STRUCTURE = "TECP_SAMPLE.FMT"
END_OBJECT = CONTAINER
END_OBJECT = TECP_TABLE
END
WCHEM types 9 through 15 have labels similar to this one for Type 8 and therefore are not given here.
PDS_VERSION_ID = PDS3
LABEL_REVISION_NOTE = "2006-10-27, Initial"
/* File characteristics */
RECORD_TYPE = FIXED_LENGTH
RECORD_BYTES = 212
LABEL_RECORDS = 61
FILE_RECORDS = 64
/* Pointers to object in file */
^WCHEM_TABLE = 8585 <BYTES>
/* Identification */
DATA_SET_ID = "PHX-M-MECA-2-NIEDR-V1.0"
DESCRIPTION = "UNK"
PRODUCT_ID = "WT___EM8_00_00070ABABABABM0"
PRODUCT_VERSION_ID = "V1.0 D-22850"
PRODUCT_TYPE = "MECA-EM8"
RELEASE_ID = "0001"
INSTRUMENT_HOST_NAME = "PHOENIX"
INSTRUMENT_HOST_ID = PHX
INSTRUMENT_NAME = "MECA WET CHEMISTRY LABORATORY"
INSTRUMENT_ID = "MECA_WCL"
INSTRUMENT_MODE_ID = "ISES"
MISSION_NAME = "PHOENIX"
OPS_TOKEN = "16#BABA#"
OPS_TOKEN_ACTIVITY = "16#BABA#"
OPS_TOKEN_PAYLOAD = "16#5#"
OPS_TOKEN_SEQUENCE = "16#BAB#"
TARGET_NAME = MARS
/* History */
PROCESSING_HISTORY_TEXT = "CODMAC LEVEL 1 to LEVEL 2 CONVERSION
VIA JPL/MIPL PHXTELEMPROC"
/* Telemetry */
TELEMETRY_SOURCE_TYPE = SFDU
/* Time information */
MISSION_PHASE_NAME = "TEST"
SPACECRAFT_CLOCK_START_COUNT = "870615466.027"
SPACECRAFT_CLOCK_STOP_COUNT = "870615466.027"
START_TIME = 2007-08-03T13:37:32.105
STOP_TIME = 2007-08-03T13:37:32.105
PLANET_DAY_NUMBER = UNK
EARTH_RECEIVED_START_TIME = 2006-12-08T17:34:29.169
EARTH_RECEIVED_STOP_TIME = 2006-12-08T17:34:29.169
LOCAL_TRUE_SOLAR_TIME = "21:14:20"
PRODUCT_CREATION_TIME = 2007-04-10T16:58:27.000
/* Processing information */
APPLICATION_PROCESS_ID = 63
APPLICATION_PROCESS_NAME = APID_MECA_WC_KEY_STRAT
PRODUCER_FULL_NAME = "N/A"
PRODUCER_INSTITUTION_NAME = "MULTIMISSION IMAGE PROCESSING SUBSYSTEM,
JET PROPULSION LAB"
SOFTWARE_NAME = PHXTELEMPROC
SOFTWARE_VERSION_ID = "V2.0 03-16-07"
SPICE_FILE_NAME = "phx.furn"
/* Data object definition */
OBJECT = WCHEM_TABLE
INTERCHANGE_FORMAT = BINARY
COLUMNS = 14
ROWS = 3
ROW_BYTES = 212
OBJECT = COLUMN
COLUMN_NUMBER = 1
NAME = "CMDTIME WHOLE SECONDS"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 1
BYTES = 4
UNIT = SECOND
DESCRIPTION = "Spacecraft command receipt time,
whole seconds portion"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 2
NAME = "CMDTIME FRACTION"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 5
BYTES = 4
UNIT = "SECOND/2**32"
DESCRIPTION = "Spacecraft command receipt time,
fractional seconds portion
(value / 2**32)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 3
NAME = "READTIME WHOLE SECONDS"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 9
BYTES = 4
UNIT = SECOND
DESCRIPTION = "Time at which this data was received
from the instrument, whole seconds
portion"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 4
NAME = "READTIME FRACTION"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 13
BYTES = 4
UNIT = "SECOND/2**32"
DESCRIPTION = "Time at which this data was received
from the instrument, fractional seconds
portion (value / 2**32)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 5
NAME = "DATA LENGTH"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 17
BYTES = 4
DESCRIPTION = "Product length in bytes, minus headers"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 6
NAME = "OF TOTAL"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 21
BYTES = 2
DESCRIPTION = "Total number of records in this
product"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 7
NAME = "PART NUM"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 23
BYTES = 2
DESCRIPTION = "Number of this record within the
product (starting with 1)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 8
NAME = "DATA TYPE"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 25
BYTES = 2
DESCRIPTION = "Telemetry type"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 9
NAME = "INST_PART_1"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 27
BYTES = 2
DESCRIPTION = "Unused (zero) TBR"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 10
NAME = "INST_PART_2"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 29
BYTES = 4
DESCRIPTION = "Unused (zero) TBR"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 11
NAME = "OPS TOKEN"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 33
BYTES = 4
DESCRIPTION = "Ops token"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 12
NAME = "WCHEM DATA"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 37
BYTES = 112
ITEMS = 56
ITEM_BYTES = 2
ITEM_OFFSET = 2
BIT_MASK = 2#0000111111111111#
DESCRIPTION = "WCL data stream. Content varies depending
on command. See Microscopy, Electrochemistry
and Conductivity Analyzer (MECA) - Non-Imaging
Experiment Data Record (EDR). PHX-274-309.
Results from ISE measurements."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 13
NAME = "CME COMMAND"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 149
BYTES = 42
ITEMS = 42
ITEM_BYTES = 1
ITEM_OFFSET = 1
DESCRIPTION = "CME command."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 14
NAME = "CME STATUS"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 191
BYTES = 22
ITEMS = 22
ITEM_BYTES = 1
ITEM_OFFSET = 1
DESCRIPTION = "CME status."
END_OBJECT = COLUMN
END_OBJECT = WCHEM_TABLE
END
Appendix F. EDR Type 6 Table Contents
MECA EDR data of Type 6, Table Data, consists of the contents of any of six onboard tables that modify the operation of the MECA flight software (see Appendix B, section B.2.2). The six tables are the State Table, Parameter Values Table, Parameter Ranges Table, AFM Attributes Table, Coupons Table, and Tips Table. The structures of the tables vary slightly and are given below. Note that the headers (marked in gray) are not included in the EDR.
The state table holds configuration items which may change
in flight without explicit commands, and is maintained
across reboots. The state table is uploaded by MECA flight
software internals only; it may not be changed explicitly
by command.
|
Section |
Offset |
Datatype |
Description |
Default (fixed if underlined) |
|
Header |
0 |
uint16 |
The table type (STATE, PARAMVALUES, PARAMRANGES, AFMATTRIBUTES, COUPONS, TIPS) |
0 |
|
2 |
uint16 |
Table identifier (currently unused) |
0 |
|
|
4 |
uint32 |
Table size in bytes, not including the header |
88 |
|
|
Entries |
8 |
uint32 |
State index 0 (AFM_STATUS) |
0 |
|
12 |
uint32 |
Level of AFM initialization:
0 = Not booted 1 = Booted 2 = Tip tested (static mode) 3 = Frequency tested (dynamic mode)
Not saved across reboots. Zeroed on bootup. |
0 |
|
|
16 |
uint32 |
State index 1 (CME_POWER) |
1 |
|
|
20 |
uint32 |
A bitmask showing which MECA instrument circuits are powered:
00000001 LED breaker 00000002 Reagent actuator/stirrer breaker 00000004 Always 0 00000008 CME power 00000010 CME power 00000020 TECP breaker 00000040 TECP power 00000080 Beaker actuator/htr breaker 00000100 Beaker actuator/htr breaker 00000200 Beaker actuator/htr breaker 00000400 Beaker actuator/htr breaker 00000800 AFM breaker 00001000 AFM power 00002000 WCL breaker 00004000 WCL power 00008000 Always 0 00010000 Stirrer #1 power 00020000 Stirrer #2 power 00040000 Stirrer #3 power 00080000 Stirrer #4 power 00100000 Stage motor breaker
Not saved across reboots. Zeroed on bootup. |
0 |
|
|
Entries |
24 |
uint32 |
State index 2 (CURRENT_HW_OP) |
2 |
|
28 |
uint32 |
The last operation started by the hardware task. Not saved across reboots. Zeroed at bootup. |
0 |
|
|
32 |
uint32 |
State index 3 (CURRENT_TELEM_OP) |
3 |
|
|
36 |
uint32 |
The last operation started by the telemetry task. Not saved across reboots. Zeroed at bootup. |
0 |
|
|
40 |
uint32 |
State index 4 (ENABLED) |
4 |
|
|
44 |
uint32 |
A bitmask showing which MECA components are enabled:
00000001 AFM 00000002 OM 00000004 Stage 00000008 TECP 00000010 Wet-chem
Not saved across reboots. Zeroed on bootup. |
0 |
|
|
48 |
uint32 |
State index 5 (LEDS_ON) |
5 |
|
|
52 |
uint32 |
Bitmask showing which LEDs are on:
00000001 Green #3 00000002 Blue #3 00000004 Blue #2 00000008 Green #2 00000010 Green #1 00000020 Blue #1 00000040 UV #3 00000080 Red #3 00000100 UV #2 00000200 UV #1 00000400 Red #2 00000800 Red #1
Not saved across reboots. Zeroed on bootup. |
0 |
|
|
56 |
uint32 |
State index 6 (AFM_TIP) |
6 |
|
|
60 |
uint32 |
Which AFM tip is currently in use. Saved across reboots. |
0 |
|
|
64 |
uint32 |
State index 7 (POS_ROTATE) |
7 |
|
|
68 |
uint32 |
The current stage rotation position in steps CW from the zero position. Saved across reboots. |
0 |
|
|
72 |
uint32 |
State index 8 (POS_XLATE) |
8 |
|
|
76 |
uint32 |
The current stage translation position in steps IN from the OUT limit switch, plus 10000. Saved across reboots. |
0 |
|
|
80 |
uint32 |
State index 9 (MOTOR_INIT_MASK) |
9 |
|
|
84 |
uint32 |
A bitmask showing which stage motors have been initialized:
00000001 Translation 00000002 Rotation
Saved across reboots. |
0 |
|
|
Entries |
88 |
uint32 |
State index 10 (TANKS_PUNCTURED_MASK) |
10 |
|
92 |
uint32 |
A bitmask indicating which tanks have been punctured:
00000001 Cell 1 00000002 Cell 2 00000004 Cell 3 00000008 Cell 4
Saved across reboots. |
0 |
|
|
96 |
uint32 |
State index 11 (REAGENTS_USED_WORD) |
11 |
|
|
100 |
uint32 |
A nibblemask indicating how many reagents have been used for each cell:
000000xx Cell 1 0000xx00 Cell 2 00xx0000 Cell 3 xx000000 Cell 4
Saved across reboots. |
0 |
|
|
104 |
uint32 |
State index 12 (OPS_TOKEN) |
12 |
|
|
108 |
uint32 |
The current ops token, used by operations to indicate context. Saved across reboots. |
0 |
|
|
112 |
uint32 |
State index 13 (LAST_CMD_NUM) |
13 |
|
|
116 |
uint32 |
The number of commands dequeued by the main task, including pings and other system commands, as well as instrument commands. Saved across reboots. |
0 |
|
|
|
120 |
uint32 |
State index 14 (CMDS_STARTED) |
14 |
|
|
124 |
uint32 |
The number of instrument commands started; count doesn't include system commands. Saved across reboots. |
0 |
|
|
128 |
uint32 |
State index 15 (CMDS_COMPLETED) |
15 |
|
|
132 |
uint32 |
The number of instrument commands completed; count doesn't include system commands. May include commands which terminated early but which could not be identified as rejects. Saved across reboots. |
0 |
|
|
136 |
uint32 |
State index 16 (CMDS_REJECTED) |
16 |
|
|
140 |
uint32 |
The number of instrument commands rejected; count doesn't include system commands. Rejection may be for any reason, and count may include commands which generated some partial results before failing. Saved across reboots. |
0 |
The parameter value table gives the current value of 200 different configuration parameters.
|
Section |
Offset |
Datatype |
Description |
Default (fixed if underlined) |
|
Header |
0 |
uint16 |
The table type (STATE, PARAMVALUES, PARAMRANGES, AFMATTRIBUTES, COUPONS, TIPS) |
1 |
|
2 |
uint16 |
Table identifier (currently unused) |
0 |
|
|
4 |
uint32 |
Table size in bytes, not including the header |
1512 |
|
|
Entries |
8 |
uint32 |
Identifier for parameter #0 |
0 |
|
12 |
uint32 |
Value for parameter #0 |
10 |
|
|
… |
… |
… |
… |
|
|
1592 |
uint32 |
Identifier for parameter #199 |
188 |
|
|
1596 |
uint32 |
Value for parameter #199 |
60 |
The actual parameters and their default values are:
|
# |
Name |
Default Value |
Notes |
|
|
0 |
AFMBRK_COUPON |
16 |
The coupon index of the coupon to use for breaking tips, where the first coupon is numbered 0 |
|
|
1 |
AFMBRK_STEPS |
17 |
The number of steps past AFM-near assertion required to break the tip (legacy value) |
|
|
2 |
AFM_DYNAMIC_I_GAIN |
6 |
I-gain to use for dynamic mode |
|
|
3 |
AFM_DYNAMIC_P_GAIN |
7 |
P-gain to use for dynamic mode |
|
|
4 |
AFM_DYNAMIC_SETPOINT_HIVAP_IN_MV |
10000 |
Setpoint used when Vap is high but not unusable |
|
|
5 |
AFM_DYNAMIC_SETPOINT_LOVAP_IN_MV |
2000 |
Setpoint used for nominal Vaps |
|
|
6 |
AFM_GAP_VOLTAGE_IN_MV |
-4000 |
Usage described in the AFM protocol manual |
|
|
7 |
AFM_HEXFILE_LENGTH |
31612 |
Length of the file in bytes |
|
|
8 |
AFM_MAX_IMAGING_RESTARTS |
10 |
The maximum number of times MECA FSW will restart imaging in dynamic mode after stopping for a bad Vap |
|
|
9 |
AFM_MAX_RANGE |
66 |
The max range in microns for both axes |
|
|
10 |
AFM_MAX_TIP_NOISE |
10 |
The maximum acceptable range of values during a tip test. Because the tip isn't in contact with a sample, the variation in values represents noise about the 0 point. |
|
|
11 |
AFM_MAX_X |
255 |
||
|
12 |
AFM_MAX_Y |
255 |
Unused. Duplicate of AFM_PHYSICAL_MAX_Y_IN_UM |
|
|
13 |
AFM_MAX_Z |
255 |
Unused. Duplicate of AFM_PHYSICAL_MAX_Z_IN_DUM |
|
|
14 |
AFM_MIDDLE_VAP_THRESHOLD_IN_MV |
2000 |
If the Vap value is higher than this threshold, MECA FSW uses the higher setpoint specified by parameter #4 above. |
|
|
15 |
AFM_NOISE_MIDDLE_THRESHOLD |
40 |
The threshold against which the sum of min and max scan values from the tip test are compared. If scan values are centered around zero (which they should be in air), the sum of min and max should also be close to zero. A min+max sum above this threshold indicates a bad tip. |
|
|
16 |
AFM_PHYSICAL_MAX_X_IN_UM |
65 |
The physical maximum for the X dimension in micrometers |
|
|
17 |
AFM_PHYSICAL_MAX_Y_IN_UM |
65 |
The physical maximum for the Y dimension in micrometers |
|
|
18 |
AFM_PHYSICAL_MAX_Z_IN_DUM |
138 |
The physical maximum for the Z (height) dimension in tenths of a micrometer |
|
|
19 |
AFM_PLL_I_GAIN_APPR |
3 |
The PLL I-gain to use for approach |
|
|
20 |
AFM_PLL_I_GAIN_FRQTEST |
3 |
The PLL I-gain to use for the frequency test |
|
|
21 |
AFM_PLL_LOOP_GAIN |
0 |
The PLL loop gain, as described in the AFM protocol manual |
|
|
22 |
AFM_PLL_STEPS_IN_SWEEP |
1000 |
The number of steps the PLL should make in looking for a resonant frequency. This parameter multiplied by the step frequency in Hz (parameter #27) gives the total sweep range in Hz. |
|
|
23 |
AFM_PRESCAN_Z_THRESHOLD |
64 |
The maximum sample height expected by the prescan algorithm |
|
|
24 |
AFM_STATIC_I_GAIN |
14 |
I-gain to use for static mode |
|
|
25 |
AFM_STATIC_P_GAIN |
16 |
P-gain to use for static mode |
|
|
26 |
AFM_STATIC_SETPOINT_IN_MV |
-50 |
Default setpoint to use for static mode |
|
|
27 |
AFM_STEP_FRQ_IN_HZ |
15 |
The frequency step the PLL should use in looking for a resonant frequency |
|
|
28 |
AFM_TIP_BREAK_ENABLED |
0 |
If 0, tip breaking is disabled. |
|
|
29 |
AFM_UPLOAD_LENGTH |
30788 |
The number of bytes of AFM code actually uploaded to the AFM. Doesn't include file whitespace. |
|
|
30 |
AFM_UPPER_VAP_THRESHOLD_IN_MV |
5000 |
The highest Vap allowable in dynamic mode. |
|
|
31 |
AFM_X2Y |
0 |
A value between -10 and 10, scaled to the -1 to 1 range, indicating how X varies with changes in Y and vice versa. See the AFM user's guide for more details. |
|
|
32 |
AFM_X_SLOPE_IN_DEG_CURRENT |
0 |
The current estimated slope in X |
|
|
33 |
AFM_X_SLOPE_IN_DEG_NOMINAL |
0 |
The baseline slope in X |
|
|
34 |
AFM_Y2X |
0 |
A value between -10 and 10, scaled to the -1 to 1 range, indicating how X varies with changes in Y and vice versa. See the AFM user's guide for more details. |
|
|
35 |
AFM_Y_SLOPE_IN_DEG_CURRENT |
-5 |
The current estimated slope in Y |
|
|
36 |
AFM_Y_SLOPE_IN_DEG_NOMINAL |
-5 |
The baseline slope in Y |
|
|
37 |
APID_AFM |
50 |
The APID used for AFM science data, including low-level responses |
|
|
38 |
APID_CME |
52 |
The APID used for most low-level CME responses, including stage and wet chemistry mechanism control status |
|
|
39 |
APID_OM |
52 |
The APID used for OM-specific CME responses |
|
|
40 |
APID_TABLE |
52 |
The APID used for table downloads |
|
|
41 |
APID_TECP |
56 |
The APID used for TECP science data |
|
|
42 |
APID_WCHEM |
59 |
The APID used for wet chemistry science data. Actuator status responses are sent using the CME APID. |
|
|
43 |
LS_OVERRIDES |
0 |
Bitmask:
01 - ignore rotation zero-point 02 - ignore AFM near 04 - ignore safe-to-rotate 08 - ignore focus and out 10 - use alternate rotation switch 20 - use alternate safe-to-rotate switch
Note that FSW functionality diminishes when switches are ignored because movement is keyed to switch transitions. |
|
|
44 |
LS_WORKING_MASK |
0x0f |
Which stage status bits can be assumed to be valid in CME responses |
|
|
45 |
MTR_RETRIES |
10 |
The number of attempts MECA FSW should make to "crawl onto" the limit switch when the FPGA stops movement but the status byte doesn't indicate switch actuation |
|
|
46 |
MTR_ROT_BACKLASH_CCW |
2 |
How many steps of play there are when reversing direction to counterclockwise. If MECA FSW must approach a target position from the counterclockwise direction, it will first overshoot by twice this amount. |
|
|
47 |
MTR_ROT_BACKLASH_CW |
1 |
How many steps of play there are when reversing direction to clockwise. If MECA FSW must approach a target position from the clockwise direction, it will first overshoot by twice this amount. |
|
|
48 |
MTR_ROT_DRIVE_MODE |
2 |
The required direction from which to approach a target position. 0 means finish movement clockwise, 1 means finish movement counterclockwise, and 2 means approach direction doesn't matter. |
|
|
49 |
MTR_ROT_DUTY_CYCLE |
8 |
The duty cycle value to use in rotation movements, per the HW/SW ICD |
|
|
50 |
MTR_ROT_FUDGE_STEPS |
3 |
The number of steps to move to nudge the stage onto the rotational switch |
|
|
51 |
MTR_ROT_MAX_STEPS |
24000 |
The number of steps in a complete wheel rotation |
|
|
52 |
MTR_ROT_MOVEMENT_TOLERANCE |
100 |
Step variability in the location of the switch expected during normal operation. If the switch is found further away than this tolerance, MECA FSW forces stage reinit. |
|
|
53 |
MTR_ROT_PAUSE_WIDTH |
0 |
The pause value to use in rotation movements, per the HW/SW ICD |
|
|
54 |
MTR_ROT_POSN_OFF_CW |
264 |
The step position at which the rotational switch nominally turns off when rotating clockwise |
|
|
55 |
MTR_ROT_POSN_ON_CCW |
264 |
The step position at which the rotational switch nominally turns on when rotating counterclockwise |
|
|
56 |
MTR_ROT_PULSE_WIDTH |
800 |
The pulse value to use in rotation movements, per the HW/SW ICD |
|
|
57 |
MTR_ROT_TEST_CYCLES |
3 |
The number of times MECA FSW should test wheel rotation during a stage healthcheck |
|
|
58 |
MTR_ROT_VIRTUAL_REF_1 |
0 |
The real reference to use when rotation is commanded to virtual substrate 1 - set by sequence |
|
|
59 |
MTR_ROT_VIRTUAL_REF_2 |
0 |
The real reference to use when rotation is commanded to virtual substrate 2 - set by sequence |
|
|
60 |
MTR_ROT_VIRTUAL_REF_3 |
0 |
The real reference to use when rotation is commanded to virtual substrate 3 - set by sequence |
|
|
61 |
MTR_ROT_VIRTUAL_REF_4 |
0 |
The real reference to use when rotation is commanded to virtual substrate 4 - set by sequence |
|
|
62 |
MTR_ROT_VIRTUAL_REF_5 |
0 |
The real reference to use when rotation is commanded to virtual substrate 5 - set by sequence |
|
|
63 |
MTR_ROT_VIRTUAL_REF_6 |
0 |
The real reference to use when rotation is commanded to virtual substrate 6 - set by sequence |
|
|
64 |
MTR_ROT_VIRTUAL_REF_7 |
0 |
The real reference to use when rotation is commanded to virtual substrate 7 - set by sequence |
|
|
65 |
MTR_ROT_VIRTUAL_REF_8 |
0 |
The real reference to use when rotation is commanded to virtual substrate 8 - set by sequence |
|
|
66 |
MTR_ROT_VIRTUAL_REF_9 |
0 |
The real reference to use when rotation is commanded to virtual substrate 9 - set by sequence |
|
|
67 |
MTR_ROT_VIRTUAL_REF_10 |
0 |
The real reference to use when rotation is commanded to virtual substrate 10 - set by sequence |
|
|
68 |
MTR_ROT_VIRTUAL_REF_11 |
0 |
The real reference to use when rotation is commanded to virtual substrate 11 - set by sequence |
|
|
69 |
MTR_ROT_VIRTUAL_REF_12 |
0 |
The real reference to use when rotation is commanded to virtual substrate 12 - set by sequence |
|
|
70 |
MTR_ROT_VIRTUAL_REF_13 |
0 |
The real reference to use when rotation is commanded to virtual substrate 13 - set by sequence |
|
|
71 |
MTR_ROT_VIRTUAL_REF_14 |
0 |
The real reference to use when rotation is commanded to virtual substrate 14 - set by sequence |
|
|
72 |
MTR_ROT_VIRTUAL_REF_15 |
0 |
The real reference to use when rotation is commanded to virtual substrate 15 - set by sequence |
|
|
73 |
MTR_ROT_VIRTUAL_REF_16 |
0 |
The real reference to use when rotation is commanded to virtual substrate 16 - set by sequence |
|
|
74 |
MTR_ROT_VIRTUAL_REF_17 |
0 |
The real reference to use when rotation is commanded to virtual substrate 17 - set by sequence |
|
|
75 |
MTR_ROT_VIRTUAL_REF_18 |
0 |
The real reference to use when rotation is commanded to virtual substrate 18 - set by sequence |
|
|
76 |
MTR_ROT_VIRTUAL_REF_19 |
0 |
The real reference to use when rotation is commanded to virtual substrate 19 - set by sequence |
|
|
77 |
MTR_ROT_VIRTUAL_REF_20 |
0 |
The real reference to use when rotation is commanded to virtual substrate 20 - set by sequence |
|
|
78 |
MTR_ROT_WAVEFORM |
0 |
The waveform to use for rotation, per the HW/SW ICD (bit 3 of byte 7 in the FPGA command) |
|
|
79 |
MTR_XLATE_AFM_APPR_ITERATIONS |
100 |
The number of iterations MECA FSW should make looking for AFM-near from the focus position. Each iteration moves the number of steps identified by parameter #80. |
|
|
80 |
MTR_XLATE_AFM_APPR_ITER_STEPS |
20 |
The number of steps to make at a time when moving in from the focus position, looking for AFM-near. See also parameter #79 above. |
|
|
81 |
MTR_XLATE_BACKLASH_IN |
1 |
How many steps of play there are when reversing direction to "in". If MECA FSW must approach a target position from the "in" direction, it will first overshoot by twice this amount. |
|
|
82 |
MTR_XLATE_BACKLASH_OUT |
2 |
How many steps of play there are when reversing direction to "out". If MECA FSW must approach a target position from the "out" direction, it will first overshoot by twice this amount. |
|
|
83 |
MTR_XLATE_DRIVE_MODE |
2 |
The required direction from which to approach a target position. 0 means finish movement moving "in", 1 means finish movement moving "out", and 2 means approach direction doesn't matter. |
|
|
84 |
MTR_XLATE_DUTY_CYCLE |
8 |
The duty cycle value to use in translation movements, per the HW/SW ICD |
|
|
85 |
MTR_XLATE_FUDGE_STEPS |
3 |
The number of steps to move to nudge the stage onto a translational switch switch |
|
|
86 |
MTR_XLATE_MAX_STEPS |
50500 |
Both the maximum number of steps that can be moved and the maximum value to which the current position can be forced through the MECA_STG_FORCPOS command |
|
|
87 |
MTR_XLATE_MOVEMENT_TOLERANCE |
400 |
Step variability in the locations of switches expected during normal operation. If a switch is found further away than this tolerance, MECA FSW forces stage reinit. |
|
|
88 |
MTR_XLATE_PAUSE_WIDTH |
0 |
The pause value to use in translation movements, per the HW/SW ICD |
|
|
89 |
MTR_XLATE_POSN_AFM_NEAR_ON |
50000 |
The step position at which the AFM-near switch is nominally expected to actuate |
|
|
90 |
MTR_XLATE_POSN_FOCUS |
48811 |
The nominal focus position in steps. This value may be adjusted separately from the focus-switch-on position if samples are found to not be in focus when the switch is actuated. |
|
|
91 |
MTR_XLATE_POSN_FOCUS_ON |
49511 |
The step position at which the in-focus switch is nominally expected to actuate |
|
|
92 |
MTR_XLATE_POSN_OUT_OFF |
10274 |
The step position at which the "out" limit switch turns off when moving in |
|
|
93 |
MTR_XLATE_POSN_OUT_ON |
10000 |
The step position at which the "out" limit switch turns on when moving out |
|
|
94 |
MTR_XLATE_POSN_ROTATE |
45124 |
The nominal safe-to-rotate position in steps. This value may be adjusted separately from the safe-switch-on position. |
|
|
95 |
MTR_XLATE_POSN_SAFE_OFF |
44664 |
The step position at which the "safe to rotate" switch turns off when moving out |
|
|
96 |
MTR_XLATE_POSN_SAFE_ON |
45124 |
The step position at which the "safe to rotate" switch turns on when moving in. |
|
|
97 |
MTR_XLATE_POSN_SAMPLE |
9500 |
The nominal sample-receive position in steps. The value may be adjusted separately from the out-switch-on position. |
|
|
98 |
MTR_XLATE_PULSE_WIDTH |
1000 |
The pulse value to use in translation movements, per the HW/SW ICD |
|
|
99 |
MTR_XLATE_WAVEFORM |
0 |
The waveform to use for translation, per the HW/SW ICD (bit 3 of byte 7 in the FPGA command) |
|
|
100 |
NANNY_SEM_WAIT |
30 |
How long in seconds the nanny task can go before checking for a spacecraft ping. This is a tuning parameter for the spacecraft interface only. |
|
|
101 |
OPS_TOKEN |
0xaaaaaaaa |
The current ops context, as specified by the sequence |
|
|
102 |
RDPOWER_MAX_READ_INTERVAL |
100 |
The maximum amount of time between read-power samplings (in seconds) |
|
|
103 |
RDPOWER_MAX_READ_TIME |
36000 |
The maximum amount of time over which read-power sampling can take place (in seconds) |
|
|
104 |
TECP_MAX_READ_INTERVAL |
100 |
The maximum amount of time between TECP readings (in seconds) |
|
|
105 |
TECP_MAX_READ_TIME |
36000 |
The maximum amount of time over which TECP readings can take place (in seconds) |
|
|
106 |
TELEM_PACKET_SIZE |
2005 |
The maximum packet size in bytes, including MECA science headers |
|
|
107 |
WCHEM_AS_ADCREADCOUNT |
0 |
Usage per the HW/SW ICD |
|
|
108 |
WCHEM_AS_DACHOLD |
0 |
Usage per the HW/SW ICD |
|
|
109 |
WCHEM_AS_DACINC |
15 |
Usage per the HW/SW ICD |
|
|
110 |
WCHEM_AS_DACMAX |
3500 |
Usage per the HW/SW ICD |
|
|
111 |
WCHEM_AS_DACMIN |
500 |
Usage per the HW/SW ICD |
|
|
112 |
WCHEM_AS_SAMPLES |
0 |
Usage per the HW/SW ICD |
|
|
113 |
WCHEM_AS_SELECT0 |
0x21 |
Usage per the HW/SW ICD |
|
|
114 |
WCHEM_AS_STEPINC |
14 |
Usage per the HW/SW ICD |
|
|
115 |
WCHEM_AS_STEPTICKS |
200 |
Usage per the HW/SW ICD |
|
|
116 |
WCHEM_CHRONOAS_ADCREADCOUNT |
0 |
Usage per the HW/SW ICD |
|
|
117 |
WCHEM_CHRONOAS_DACHOLD |
0 |
Usage per the HW/SW ICD |
|
|
118 |
WCHEM_CHRONOAS_DACINC |
15 |
Usage per the HW/SW ICD |
|
|
119 |
WCHEM_CHRONOAS_DACMAX |
3500 |
Usage per the HW/SW ICD |
|
|
120 |
WCHEM_CHRONOAS_DACMIN |
500 |
Usage per the HW/SW ICD |
|
|
121 |
WCHEM_CHRONOAS_SAMPLES |
0 |
Usage per the HW/SW ICD |
|
|
122 |
WCHEM_CHRONOAS_SELECT0 |
0x21 |
Usage per the HW/SW ICD |
|
|
123 |
WCHEM_CHRONOAS_STEPINC |
14 |
Usage per the HW/SW ICD |
|
|
124 |
WCHEM_CHRONOAS_STEPTICKS |
200 |
Usage per the HW/SW ICD |
|
|
125 |
WCHEM_CHRONOCV_ADCREADCOUNT |
0 |
Usage per the HW/SW ICD |
|
|
126 |
WCHEM_CHRONOCV_DACHOLD |
0 |
Usage per the HW/SW ICD |
|
|
127 |
WCHEM_CHRONOCV_DACINC |
15 |
Usage per the HW/SW ICD |
|
|
128 |
WCHEM_CHRONOCV_DACMAX |
3500 |
Usage per the HW/SW ICD |
|
|
129 |
WCHEM_CHRONOCV_DACMIN |
500 |
Usage per the HW/SW ICD |
|
|
130 |
WCHEM_CHRONOCV_SAMPLES |
0 |
Usage per the HW/SW ICD |
|
|
131 |
WCHEM_CHRONOCV_SELECT0 |
0x21 |
Usage per the HW/SW ICD |
|
|
132 |
WCHEM_CHRONOCV_STEPINC |
14 |
Usage per the HW/SW ICD |
|
|
133 |
WCHEM_CHRONOCV_STEPTICKS |
200 |
Usage per the HW/SW ICD |
|
|
134 |
WCHEM_COND_ADCREADCOUNT |
0 |
Usage per the HW/SW ICD |
|
|
135 |
WCHEM_COND_KHZCLK |
0 |
Usage per the HW/SW ICD |
|
|
136 |
WCHEM_COND_SELECT0 |
0 |
Usage per the HW/SW ICD |
|
|
137 |
WCHEM_COND_SELECT1 |
0 |
Usage per the HW/SW ICD |
|
|
138 |
WCHEM_COND_STEPTICKS |
0 |
Usage per the HW/SW ICD |
|
|
139 |
WCHEM_CV_ADCREADCOUNT |
0 |
Usage per the HW/SW ICD |
|
|
140 |
WCHEM_CV_DACHOLD |
0 |
Usage per the HW/SW ICD |
|
|
141 |
WCHEM_CV_DACINC |
15 |
Usage per the HW/SW ICD |
|
|
142 |
WCHEM_CV_DACMAX |
3500 |
Usage per the HW/SW ICD |
|
|
143 |
WCHEM_CV_DACMIN |
500 |
Usage per the HW/SW ICD |
|
|
144 |
WCHEM_CV_SAMPLES |
0 |
Usage per the HW/SW ICD |
|
|
145 |
WCHEM_CV_SELECT0 |
0x21 |
Usage per the HW/SW ICD |
|
|
146 |
WCHEM_CV_STEPINC |
14 |
Usage per the HW/SW ICD |
|
|
147 |
WCHEM_CV_STEPTICKS |
200 |
Usage per the HW/SW ICD |
|
|
148 |
WCHEM_DOX_ADCREADCOUNT |
0 |
Usage per the HW/SW ICD |
|
|
149 |
WCHEM_DOX_DACHOLD |
0 |
Usage per the HW/SW ICD |
|
|
150 |
WCHEM_DOX_DACINC |
15 |
Usage per the HW/SW ICD |
|
|
151 |
WCHEM_DOX_DACMAX |
3500 |
Usage per the HW/SW ICD |
|
|
152 |
WCHEM_DOX_DACMIN |
500 |
Usage per the HW/SW ICD |
|
|
153 |
WCHEM_DOX_SAMPLES |
0 |
Usage per the HW/SW ICD |
|
|
154 |
WCHEM_DOX_SELECT0 |
0x11 |
Usage per the HW/SW ICD |
|
|
155 |
WCHEM_DOX_STEPINC |
14 |
Usage per the HW/SW ICD |
|
|
156 |
WCHEM_DOX_STEPTICKS |
200 |
Usage per the HW/SW ICD |
|
|
157 |
WCHEM_DRAWER_CLOSE_RETRIES |
1 |
Default number of times MECA should reattempt drawer close after a failure; used when command argument is -1 |
|
|
158 |
WCHEM_DRAWER_CLOSE_WAIT |
180 |
Nominal amount of time required to close a drawer |
|
|
159 |
WCHEM_DRAWER_OPEN_CHECK_INTERVAL |
10 |
Interval in seconds on which MECA FSW should check the drawer-open switch |
|
|
160 |
WCHEM_DRAWER_RECLOSE_WAIT |
12 |
How long (in seconds) MECA FSW should wait before checking drawer-closed switch on retry |
|
|
161 |
WCHEM_DRAWER_REOPEN_WAIT |
90 |
On a drawer close retry, the amount of time (in seconds) over which MECA FSW should reopen the drawer before retrying the close |
|
|
162 |
WCHEM_ISE_ADCREADCOUNT |
0 |
Usage per the HW/SW ICD |
|
|
163 |
WCHEM_ISE_SELECT0 |
0 |
Usage per the HW/SW ICD |
|
|
164 |
WCHEM_ISE_SELECT1 |
0 |
Usage per the HW/SW ICD |
|
|
165 |
WCHEM_ISE_STEPTICKS |
0 |
Usage per the HW/SW ICD |
|
|
166 |
WCHEM_MAX_DRWR_ACTR_TIME |
1200 |
Maximum time in seconds the drawer open actuator can be powered |
|
|
167 |
WCHEM_MAX_DRWR_CLOSE_RETRIES |
3 |
The maximum number of drawer-close retries allowable |
|
|
168 |
WCHEM_MAX_DRWR_HOLD_TIME |
1200 |
The maximum time (in seconds) for which the drawer can be held open |
|
|
169 |
WCHEM_MAX_DUTY_INTERVAL |
150 |
The maximum number of seconds for which stirring can take place uninterrupted. Constant stirring can be performed for longer intervals by using a 0 value for the rest interval, parameter #174. |
|
|
170 |
WCHEM_MAX_H2O_WAIT |
6000 |
The maximum amount of time (in seconds) over which the water-release actuator can be powered |
|
|
171 |
WCHEM_MAX_HEAT_TIME |
36000 |
The maximum commandable duration (in seconds) for temperature control |
|
|
172 |
WCHEM_MAX_READ_INTERVAL |
100 |
The maximum interval (in seconds) between wet chemistry sensor reads |
|
|
173 |
WCHEM_MAX_REAGENT_TIME |
300 |
The maximum amount of time (in seconds) over which the reagent-release actuator can be powered |
|
|
174 |
WCHEM_MAX_REST_INTERVAL |
150 |
The maximum number of seconds of stirring "rest" per stirring interval |
|
|
175 |
WCHEM_MAX_STIR_TIME |
36000 |
The maximum duration (in seconds) for stirring |
|
|
176 |
WCHEM_MAX_TOTAL_WCHEM_TIME |
36000 |
The maximum duration in seconds for wet chemistry sensor reading |
|
|
177 |
WCHEM_MIN_STIRRING_TEMP |
0 |
The minimum beaker temperature (in DN) required for stirring |
|
|
178 |
WCHEM_MIN_WATER_RELEASE_TEMP |
0 |
The minimum tank temperature (in DN) required for water release |
|
|
179 |
WCHEM_PT_ADCREADCOUNT |
0 |
Usage per the HW/SW ICD |
|
|
180 |
WCHEM_PT_STEPTICKS |
0 |
Usage per the HW/SW ICD |
|
|
181 |
WCHEM_REAGENTS_PER_CELL |
5 |
The number of reagents available in each cell |
|
|
182 |
WCHEM_REAGENT_RELEASE_TIME |
0 |
Default time to release reagent into beaker, used if command specifies 0 time |
|
|
183 |
WCHEM_STIR_EQUIL_TIME |
15 |
The number of seconds to wait after stirring starts before starting a sensor read |
|
|
184 |
WCHEM_STIR_SETTLING_TIME |
15 |
The number of seconds to wait after stirring stops before starting a sensor read |
|
|
185 |
0x33 |
A bitmask indicating which temp sensors should only be sampled with stirring off:
80 - ISES 40 - Pressure/temp 20 - CV 10 - ASV 08 - DOX 04 - Conductivity 02 - Chrono CV 01 - Chrono AS |
||
|
186 |
WCHEM_TEMP_CONTROL_CHECK_INTERVAL |
2 |
Interval in seconds on which heaters should be adjusted when MECA FSW is controlling temperature |
|
|
187 |
WCHEM_TEMP_MAX |
4095 |
The absolute highest that monitored temperature should get during heater control. If temp reads above this value, heater control is disabled. |
|
|
188 |
WCHEM_WATER_RELEASE_TIME |
60 |
Default time to release water from tank into beaker, used if command specifies 0 time |
|
|
189 |
WCHEM_WRITABLE_CELL |
0 |
The number of the cell that is enabled for heater/actuator operations. Valid range is 0-3 |
|
|
190 |
CME_05V_LOGIC_LOW_LIMIT |
614 |
The threshold for the CME voltage test upon a MECA_CMD_ENABLE. If the voltage is less than this value, the enable command fails. Units of DN |
|
|
191 |
CME_05V_LOGIC_HI_LIMIT |
751 |
The threshold for the CME voltage test upon a MECA_CMD_ENABLE. If the voltage is greater than this value, the enable command fails. Units of DN |
|
|
192 |
CME_05V_LOAD_LOW_LIMIT |
614 |
The threshold for the +5V load supply (used for TECP, LED, WCHEM stir and reagent) voltage test upon a MECA_CMD_ENABLE. If the voltage is less than this value, the enable command fails. Units of DN |
|
|
193 |
CME_05V_LOAD_HI_LIMIT |
751 |
The threshold for the +5V load supply (used for TECP, LED, AFM, WCHEM stir and reagent) voltage test upon a MECA_CMD_ENABLE. If the voltage is greater than this value, the enable command fails. Units of DN |
|
|
194 |
CME_15V_LOAD_LOW_LIMIT |
1843 |
The threshold for the +15V load supply (used for STAGE, WCHEM) voltage test upon a MECA_CMD_ENABLE. If the voltage is less than this value, the enable command fails. Units of DN |
|
|
195 |
CME_15V_LOAD_HI_LIMIT |
2252 |
The threshold for the +15V load supply (used for STAGE, WCHEM) voltage test upon a MECA_CMD_ENABLE. If the voltage is greater than this value, the enable command fails. Units of DN |
|
|
196 |
CME_15V_AFM_LOW_LIMIT |
1843 |
The threshold for the +15V AFM supply voltage test upon a MECA_CMD_ENABLE. If the voltage is less than this value, the enable command fails. Units of DN |
|
|
197 |
CME_15V_AFM_HI_LIMIT |
2252 |
The threshold for the +15V AFM supply voltage test upon a MECA_CMD_ENABLE. If the voltage is greater than this value, the enable command fails. Units of DN |
|
|
198 |
CME_PS_SETTLING_TIME_IN_MS |
1000 |
The time delay in milliseconds after which to apply the voltage check during MECA_CMD_ENABLE |
|
|
199 |
BASE TIMEOUT FOR CME |
|
|
|
The parameter range table indicates for each parameter the flight software task that updates the value, if necessary, and the range within which a new value must fall
|
Section |
Offset |
Datatype |
Description |
Default (fixed if underlined) |
|
Header |
0 |
uint16 |
The table type (STATE, PARAMVALUES, PARAMRANGES, AFMATTRIBUTES, COUPONS, TIPS) |
2 |
|
2 |
uint16 |
Table identifier (currently unused) |
0 |
|
|
4 |
uint32 |
Table size in bytes, not including the header |
3024 |
|
|
Entries |
8 |
uint32 |
Identifier for parameter #0 |
0 |
|
12 |
uint32 |
FSW task responsible for parameter #0 (0 = HW, 1 = TELEM) |
0 |
|
|
16 |
varies in 32 bits |
The minimum value allowed for the parameter |
0 |
|
|
20 |
varies in 32 bits |
The maximum value allowed for the parameter |
68 |
|
|
… |
… |
… |
… |
|
|
3176 |
uint32 |
Identifier for parameter #188 |
188 |
|
|
3180 |
uint32 |
FSW task responsible for parameter #188 (0 = HW, 1 = TELEM) |
0 |
|
|
3184 |
varies in 32 bits |
The minimum value allowed for the parameter |
0 |
|
|
3188 |
varies in 32 bits |
The maximum value allowed for the parameter |
120 |
The AFM Attributes table lists the range of permissible values of AFM settings that are accessible to MECA flight software. The actual values are not stored in the table, but can be queried and reported in AFM: RESPONSE telemetry (Type 1).
|
Section |
Offset |
Datatype |
Description |
Default (fixed if underlined) |
|
Header |
0 |
uint16 |
The table type (STATE, PARAMVALUES, PARAMRANGES, AFMATTRIBUTES, COUPONS, TIPS) |
3 |
|
2 |
uint16 |
Table identifier (currently unused) |
0 |
|
|
4 |
uint32 |
Table size in bytes, not including the header |
860 |
|
|
Entries |
8 |
uint32 |
Identifier for attribute #0 |
0 |
|
12 |
uint32 |
AFM identifier for the setting |
97 (61 hex) |
|
|
16 |
varies in 32 bits |
The minimum value allowed for the parameter |
0 |
|
|
20 |
varies in 32 bits |
The maximum value allowed for the parameter |
1 |
|
|
24 |
uint32 |
The parameter's datatype (0=uint8, 1=int16, 2=uint16, 3=uint24, 4=uint32) |
0 |
|
|
… |
… |
… |
… |
|
|
848 |
uint32 |
Identifier for parameter #42 |
42 |
|
|
852 |
uint32 |
AFM identifier for the setting |
67 (43 hex) |
|
|
856 |
varies in 32 bits |
The minimum value allowed for the parameter |
-32768 |
|
|
860 |
varies in 32 bits |
The maximum value allowed for the parameter |
32767 |
|
|
864 |
uint32 |
The parameter's datatype (0=uint8, 1=int16, 2=uint16, 3=uint24, 4=uint32) |
1 |
The actual parameters with their default values are:
|
Attribute Name |
AFM ID |
Minimum value |
Maximum value |
Datatype |
|
AUTO_Z_MODE |
0x61 |
0 |
1 |
uint8 |
|
AUTO_CH1_GAIN |
0x80 |
0 |
1 |
uint8 |
|
AXIS_SELECT |
0x3A |
0 |
1 |
uint8 |
|
AXIS_RANGE |
0x44 |
2 |
65535 |
uint16 |
|
AXIS_POSITION |
0x4B |
-32767 |
32767 |
int16 |
|
BRIDGE_NEG |
0x71 |
-32767 |
32767 |
int16 |
|
BRIDGE_OFF |
0x72 |
-32767 |
32767 |
int16 |
|
CHAN_GAIN |
0x46 |
0 |
8 |
uint8 |
|
CHAN_OFFSET |
0x57 |
-32767 |
32767 |
int16 |
|
CHAN_SELECT |
0x3B |
0 |
2 |
uint8 |
|
CHAN_VALUE |
0x4C |
-32767 |
32767 |
int16 |
|
DYN_MODE |
0x73 |
0 |
1 |
uint8 |
|
DYN_STATUS |
0x77 |
0 |
1 |
uint8 |
|
GAP_VOLTAGE |
0x3C |
-32767 |
32767 |
int16 |
|
LEVER_ALIVE_MASK |
0x7F |
0 |
0xFF |
uint8 |
|
LEVER_AMP |
0x70 |
-32767 |
32767 |
int16 |
|
LEVER_SELECT |
0x6F |
0 |
7 |
uint8 |
|
PLL_CTR_FRQ |
0x75 |
0 |
0xFFFFFF |
uint24 |
|
PLL_I_GAIN |
0x7C |
0 |
4 |
uint8 |
|
PLL_LOOP_GAIN |
0x76 |
0 |
1 |
uint8 |
|
PLL_MODE |
0x7E |
0 |
1 |
uint8 |
|
PLL_PHASE |
0x7D |
0 |
7 |
uint8 |
|
PLL_REPEAT |
0x7B |
0 |
65535 |
uint16 |
|
PLL_START_FRQ |
0x79 |
0 |
0xFFFFFF |
uint24 |
|
PLL_STEP_FRQ |
0x7A |
0 |
0xFFFFFF |
uint24 |
|
REG_HOLD |
0x3D |
0 |
1 |
uint8 |
|
REG_I_GAIN |
0x3F |
0 |
16 |
uint8 |
|
REG_INPUT_CORR |
0x60 |
0 |
2 |
uint8 |
|
REG_LOCKED |
0x4D |
-1 |
1 |
uint8 |
|
REG_P_GAIN |
0x40 |
0 |
16 |
uint8 |
|
REG_POL_MASK |
0x5F |
0 |
0xFF |
uint8 |
|
REG_SET_POINT |
0x4A |
-32767 |
32767 |
int16 |
|
REG_ZERO |
0x3E |
0 |
1 |
uint8 |
|
RETRACT |
0x5C |
-32767 |
32767 |
int16 |
|
SAMPLE_MASK |
0x56 |
0 |
0xFF |
uint8 |
|
SERIAL_NR |
0x6D |
0x80000000 |
0x7FFFFFFF |
uint32 |
|
TIME_PER_UNIT |
0x45 |
1 |
65535 |
uint16 |
|
OFFSET_X |
0x47 |
-32767 |
32767 |
int16 |
|
AXIS_UNITS_X |
0x41 |
-32767 |
32767 |
int16 |
|
OFFSET_Y |
0x48 |
-32767 |
32767 |
int16 |
|
AXIS_UNITS_Y |
0x42 |
-32767 |
32767 |
int16 |
|
OFFSET_Z |
0x49 |
-32767 |
32767 |
int16 |
|
AXIS_UNITS_Z |
0x43 |
-32767 |
32767 |
int16 |
The coupons table lists the rotation offset (in steps CW from the zero position) for each substrate, along with the substrate's height.
|
Section |
Offset |
Datatype |
Description |
Default (fixed if underlined) |
|
Header |
0 |
uint16 |
The table type (STATE, PARAMVALUES, PARAMRANGES, AFMATTRIBUTES, COUPONS, TIPS) |
4 |
|
2 |
uint16 |
Table identifier (currently unused) |
0 |
|
|
4 |
uint32 |
Table size in bytes, not including the header |
276 |
|
|
Entries |
8 |
uint16 |
Rotation offset for substrate #0 |
19003 |
|
12 |
uint16 |
Height of substrate #0 |
0 |
|
|
… |
… |
… |
… |
|
|
280 |
uint16 |
Rotation offset for substrate #68 |
17670 |
|
|
282 |
uint16 |
Height of substrate #68 |
0 |
The AFM tips table lists current information about each of the AFM's tips.
|
Section |
Offset |
Datatype |
Description |
Default (fixed if underlined) |
|
Header |
0 |
uint16 |
The table type (STATE, PARAMVALUES, PARAMRANGES, AFMATTRIBUTES, COUPONS, TIPS) |
5 |
|
2 |
uint16 |
Table identifier (currently unused) |
0 |
|
|
4 |
uint32 |
Table size in bytes, not including the header |
288 |
|
|
Entries |
8 |
int32 |
Default amplitude in mV for tip #0 |
-1000 |
|
12 |
uint32 |
Default phase for tip #0 (0-8)
For positive amplitudes, degrees = 20 * phase. For negative amplitudes, degrees = 20 * phase + 180. |
0 |
|
|
16 |
uint32 |
X offset for tip #0 (steps) |
0 |
|
|
20 |
uint32 |
The center frequency in Hz for tip #0 |
20000 |
|
|
24 |
uint32 |
The frequency at which to start the frequency test for tip #0 |
30000 |
|
|
28 |
uint32 |
Tip #0 state (0=NOT_TESTED, 1=DEAD, 2=NOT_CENTERED, 3=OUT_OF_RANGE, 4=NOISY, 5=OK)
This value is written by the software, and not usefully initialized to anything other than 0. |
0 |
|
|
… |
… |
… |
… |
|
|
176 |
uint32 |
Default amplitude in mV for tip #7 |
-1000 |
|
|
180 |
uint32 |
Default phase for tip #7 (0-8)
For positive amplitudes, degrees = 20 * phase. For negative amplitudes, degrees = 20 * phase + 180. |
0 |
|
|
184 |
uint32 |
X offset for tip #7 (steps) |
225 |
|
|
188 |
uint32 |
The center frequency in Hz for tip #7 |
20000 |
|
|
192 |
uint32 |
The frequency at which to start the frequency test for tip #7 |
30000 |
|
|
196 |
uint32 |
Tip #7 state (0=NOT_TESTED, 1=DEAD, 2=NOT_CENTERED, 3=OUT_OF_RANGE, 4=NOISY, 5=OK)
This value is written by the software, and not usefully initialized to anything other than 0. |
0 |
The PDS labels for some MECA EDR non-imaging products use the ^STRUCTURE keyword to indicate column definitions to be read from a separate file and treated as if they were included in the label. This is done to keep labels short and to easily maintain the static part of a label in a single location. The separate column definitions are stored in files called format files, with the extension FMT. They are kept in the LABEL directory of the archive. There are nine such files for the MECA EDR non-imaging data set, given below.
This file is included in labels for MECA EDR Type 0 data.
OBJECT = COLUMN
COLUMN_NUMBER = 12
NAME = "CURRENT TIP"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 1
BYTES = 1
DESCRIPTION = "Current tip (0-7)."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 13
NAME = "INITIAL VAP"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 2
BYTES = 1
DESCRIPTION = "Initial Vap (volts = value/25.5)."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 14
NAME = "PAD 1"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 3
BYTES = 2
DESCRIPTION = "Unused."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 15
NAME = "INITIAL FREQUENCY IN HZ"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 5
BYTES = 4
DESCRIPTION = "Unused."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 16
NAME = "VAP VALUES PASS 1"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 9
BYTES = 9
ITEMS = 9
ITEM_BYTES = 1
DESCRIPTION = "Vap values for pass1, phases 0, 20, ...,
160 deg (volts = value/25.5)."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 17
NAME = "VAP VALUES PASS 2"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 18
BYTES = 9
ITEMS = 9
ITEM_BYTES = 1
DESCRIPTION = "Vap values for pass2, phases 180, 200, ...,
340 deg (volts = value/25.5)."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 18
NAME = "PAD 2"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 27
BYTES = 2
DESCRIPTION = "Unused."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 19
NAME = "CENTER FREQUENCY PASS 1"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 29
BYTES = 36
ITEMS = 9
ITEM_BYTES = 4
DESCRIPTION = "Vap values for pass 1, phases 0, 20, ...,
160 deg (volts = value/25.5)."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 20
NAME = "CENTER FREQUENCY PASS 2"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 65
BYTES = 36
ITEMS = 9
ITEM_BYTES = 4
DESCRIPTION = "Vap values for pass 2, phases 180, 200, ...,
340 deg (volts = value/25.5)."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 21
NAME = "LOWEST VAP"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 101
BYTES = 1
DESCRIPTION = "Lowest Vap found in this test
(volts = value/25.5)."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 22
NAME = "NEW PHASE"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 102
BYTES = 1
DESCRIPTION = "Phase where lowest Vap found
(0=0 deg, 1=20, ...)."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 23
NAME = "NEW LOWEST VAP"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 103
BYTES = 1
DESCRIPTION = "Unused."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 24
NAME = "PAD 3"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 104
BYTES = 1
DESCRIPTION = "Unused."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 25
NAME = "NEW AMPLITUDE IN MV"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 105
BYTES = 4
DESCRIPTION = "New amplitude (signed - if negative,
add 180 deg to phase."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 26
NAME = "NEW CENTER FREQUENCY IN HZ"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 109
BYTES = 4
DESCRIPTION = "New center frequency."
END_OBJECT = COLUMN
This file is included in labels for MECA EDR Type 3 data.
OBJECT = COLUMN
COLUMN_NUMBER = 12
NAME = "CURRENT TIP"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 1
BYTES = 1
DESCRIPTION = "Current tip (0-7)."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 13
NAME = "PAD1"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 2
BYTES = 1
DESCRIPTION = "Unused."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 14
NAME = "PAD2"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 3
BYTES = 2
DESCRIPTION = "Unused."
END_OBJECT = COLUMN
OBJECT = CONTAINER
NAME = "TIP DATA"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 5
BYTES = 1040
REPETITIONS = 8
DESCRIPTION = "Tip data."
OBJECT = COLUMN
COLUMN_NUMBER = 15
NAME = "BRIDGE OFFSET 1"
DATA_TYPE = MSB_INTEGER
START_BYTE = 1
BYTES = 4
DESCRIPTION = "Bridge offset, pass 1."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 16
NAME = "BRIDGE OFFSET 2"
DATA_TYPE = MSB_INTEGER
START_BYTE = 5
BYTES = 4
DESCRIPTION = "Bridge offset, pass 2."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 17
NAME = "LEVER STATE 1"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 9
BYTES = 4
DESCRIPTION = "Lever state, pass 1,
(0=NOT_TESTED, 1=DEAD,
2=NOT_CENTERD, 3=OUT_OF_RANGE,
4=NOISY, 5=OK)."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 18
NAME = "LEVER STATE 2"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 13
BYTES = 4
DESCRIPTION = "Lever state, pass 2,
(0=NOT_TESTED, 1=DEAD,
2=NOT_CENTERD, 3=OUT_OF_RANGE,
4=NOISY, 5=OK)."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 19
NAME = "SCAN RESULTS 1"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 17
BYTES = 512
ITEMS = 512
ITEM_BYTES = 1
DESCRIPTION = "Scan results, pass 1."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 20
NAME = "SCAN RESULTS 2"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 529
BYTES = 512
ITEMS = 512
ITEM_BYTES = 1
DESCRIPTION = "Scan results, pass 2."
END_OBJECT = COLUMN
END_OBJECT = CONTAINER
This file is included in labels for MECA EDR Type 6, state table data.
OBJECT = COLUMN
NAME = "STATE INDEX 0"
COLUMN_NUMBER = 13
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 37
BYTES = 4
DESCRIPTION = "AFM_STATUS"
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "AFM INITIALIZATION LEVEL"
COLUMN_NUMBER = 14
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 41
BYTES = 4
DESCRIPTION = "0=Not booted, 1=Booted,
2=Tip tested (static mode),
3=Frequency tested (dynamic mode)."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "STATE INDEX 1"
COLUMN_NUMBER = 15
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 45
BYTES = 4
DESCRIPTION = "CME_POWER"
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "CIRCUIT POWER BITMASK"
COLUMN_NUMBER = 16
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 49
BYTES = 4
DESCRIPTION = "Bitmask showing which MECA instrument
circuits are powerd."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "STATE INDEX 2"
COLUMN_NUMBER = 17
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 53
BYTES = 4
DESCRIPTION = "CURRENT_HW_OP"
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "LAST HARDWARE OP"
COLUMN_NUMBER = 18
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 57
BYTES = 4
DESCRIPTION = "The last operation started by the
hardware task. Not saved across
reboots. Zeroed at bootup."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "STATE INDEX 3"
COLUMN_NUMBER = 19
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 61
BYTES = 4
DESCRIPTION = "CURRENT_TELEM_OP"
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "LAST TELEMETRY OP"
COLUMN_NUMBER = 20
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 65
BYTES = 4
DESCRIPTION = "The last operation started by the
telemetry task. Not saved across
reboots. Zeroed at bootup."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "STATE INDEX 4"
COLUMN_NUMBER = 21
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 69
BYTES = 4
DESCRIPTION = "ENABLED"
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "ENABLED MECA COMPONENTS"
COLUMN_NUMBER = 22
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 73
BYTES = 4
DESCRIPTION = "A bitmask showing which MECA
components are enabled. Not
saved across reboots. Zeroed
at bootup."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "STATE INDEX 5"
COLUMN_NUMBER = 23
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 77
BYTES = 4
DESCRIPTION = "LEDS_ON"
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "LED BITMASK"
COLUMN_NUMBER = 24
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 81
BYTES = 4
DESCRIPTION = "Bitmask showing which LEDs are one.
Not saved across reboots. Zeroed
on bootup."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "STATE INDEX 6"
COLUMN_NUMBER = 25
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 85
BYTES = 4
DESCRIPTION = "AFM_TIPS"
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "AFM TIPS"
COLUMN_NUMBER = 26
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 89
BYTES = 4
DESCRIPTION = "Which AFM tip is currently in use.
Saved across reboots."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "STATE INDEX 7"
COLUMN_NUMBER = 27
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 93
BYTES = 4
DESCRIPTION = "POS_ROTATE"
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "STAGE ROTATION POSITION"
COLUMN_NUMBER = 28
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 97
BYTES = 4
DESCRIPTION = "The current stage rotation position
in steps CW from the zero position.
Saved across reboots."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "STATE INDEX 8"
COLUMN_NUMBER = 29
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 101
BYTES = 4
DESCRIPTION = "POS_XLATE"
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "STAGE TRANSLATION POSITION"
COLUMN_NUMBER = 30
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 105
BYTES = 4
DESCRIPTION = "The current stage translation
position in steps IN from the
OUT limit switch, plus 10000.
Saved across reboots."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "STATE INDEX 9"
COLUMN_NUMBER = 31
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 109
BYTES = 4
DESCRIPTION = "MOTOR_INIT_MASK"
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "STAGE MOTOR BITMASK"
COLUMN_NUMBER = 32
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 113
BYTES = 4
DESCRIPTION = "A bitmask showing which stage motors
have been initialized."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "STATE INDEX 10"
COLUMN_NUMBER = 33
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 117
BYTES = 4
DESCRIPTION = "TANKS_PUNCTURED_MASK"
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "PUNCTURED TANKS BITMASK"
COLUMN_NUMBER = 34
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 121
BYTES = 4
DESCRIPTION = "A bitmask indicating which tanks
have been punctured. Saved across
reboots."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "STATE INDEX 11"
COLUMN_NUMBER = 35
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 125
BYTES = 4
DESCRIPTION = "REAGENTS_USED_WORD"
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "REAGENTS NIBBLEMASK"
COLUMN_NUMBER = 36
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 129
BYTES = 4
DESCRIPTION = "A nibblemask indicating how many
reagents have been used for each
cell. Saved across reboots."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "STATE INDEX 12"
COLUMN_NUMBER = 37
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 133
BYTES = 4
DESCRIPTION = "OPS_TOKEN"
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "OPS TOKEN"
COLUMN_NUMBER = 38
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 137
BYTES = 4
DESCRIPTION = "The current ops token, used by
operations to indicate context.
Saved across reboots."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "STATE INDEX 13"
COLUMN_NUMBER = 39
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 141
BYTES = 4
DESCRIPTION = "LAST_CMD_NUM"
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "DEQUED COMMANDS"
COLUMN_NUMBER = 40
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 145
BYTES = 4
DESCRIPTION = "The number of commands dequeued by
the main task, including pings and
other system commands, as well as
instrument commands. Saved across
reboots."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "STATE INDEX 14"
COLUMN_NUMBER = 41
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 149
BYTES = 4
DESCRIPTION = "CMDS_STARTED"
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "NUMBER COMMANDS STARTED"
COLUMN_NUMBER = 42
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 153
BYTES = 4
DESCRIPTION = "The number of instrument commands
started; count does not include
system commands. Saved across
reboots."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "STATE INDEX 15"
COLUMN_NUMBER = 43
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 157
BYTES = 4
DESCRIPTION = "CMDS_COMPLETED"
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "NUMBER COMMANDS COMPLETED"
COLUMN_NUMBER = 44
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 161
BYTES = 4
DESCRIPTION = "The number of instrument commands
completed; count does not include
system commands. May include
commands which terminated early
but which could not be identified
as rejects. Saved across reboots."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "STATE INDEX 16"
COLUMN_NUMBER = 45
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 165
BYTES = 4
DESCRIPTION = "CMDS_REJECTED"
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "NUMBER COMMANDS REJECTED"
COLUMN_NUMBER = 46
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 169
BYTES = 4
DESCRIPTION = "The number of instrument commands
rejected; count does not include
system commands. Rejection may be
for any reason, and count may
include commands which generated
some partial results before failing.
Saved across reboots."
END_OBJECT = COLUMN
This file is included in labels for MECA EDR Type 6, parameter values table data.
OBJECT = COLUMN
NAME = "PARAMETER IDENTIFIER"
COLUMN_NUMBER = 1
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 1
BYTES = 4
DESCRIPTION = "Identifier for parameter."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "PARAMETER VALUE"
COLUMN_NUMBER = 2
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 5
BYTES = 4
DESCRIPTION = "Value for parameter."
END_OBJECT = COLUMN
This file is included in labels for MECA EDR Type 6, parameter range table data.
OBJECT = COLUMN
NAME = "PARAMETER IDENTIFIER"
COLUMN_NUMBER = 1
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 1
BYTES = 4
DESCRIPTION = "Identifier for parameter."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "FSW TASK"
COLUMN_NUMBER = 2
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 5
BYTES = 4
DESCRIPTION = "FSW task responsible for
parameter."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "MINIMUM VALUE"
COLUMN_NUMBER = 3
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 9
BYTES = 4
DESCRIPTION = "The minimum value allowed
for the parameter."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "MAXIMUM VALUE"
COLUMN_NUMBER = 4
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 13
BYTES = 4
DESCRIPTION = "The maximum value allowed
for the parameter."
END_OBJECT = COLUMN
This file is included in labels for MECA EDR Type 6, AFM attribute table data.
OBJECT = COLUMN
NAME = "PARAMETER IDENTIFIER"
COLUMN_NUMBER = 1
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 1
BYTES = 4
DESCRIPTION = "Identifier for parameter."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "AFM IDENTIFIER"
COLUMN_NUMBER = 2
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 5
BYTES = 4
DESCRIPTION = "AFM identifier for the
setting."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "MINIMUM VALUE"
COLUMN_NUMBER = 3
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 9
BYTES = 4
DESCRIPTION = "The minimum value allowed
for the parameter."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "MAXIMUM VALUE"
COLUMN_NUMBER = 4
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 13
BYTES = 4
DESCRIPTION = "The maximum alue allowed
for the parameter."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "PARAMETER DATATYPE"
COLUMN_NUMBER = 5
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 17
BYTES = 4
DESCRIPTION = "The parameter datatype (0=uint8,
1=int16, 2=uint16, 3=uint24,
4=uint32)."
END_OBJECT = COLUMN
This file is included in labels for MECA EDR Type 6, coupons table data.
OBJECT = COLUMN
NAME ="ROTATION OFFSET"
COLUMN_NUMBER = 1
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 1
BYTES = 2
DESCRIPTION = "Rotation offset for substrate."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME ="HEIGHT"
COLUMN_NUMBER = 2
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 3
BYTES = 2
DESCRIPTION = "Height of substrate."
END_OBJECT = COLUMN
This file is included in labels for MECA EDR Type 6, tips table data.
OBJECT = COLUMN
NAME = "DEFAULT AMPLITUDE"
COLUMN_NUMBER = 1
DATA_TYPE = MSB_ INTEGER
START_BYTE = 1
BYTES = 4
DESCRIPTION = "Default amplitude in mV."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "DEFAULT PHASE"
COLUMN_NUMBER = 2
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 5
BYTES = 4
DESCRIPTION = "Default phase for tip (0-8).
For positive amplitudes,
degrees=20*phase. For negative
amplitudes, degrees=20*phase+180."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "X OFFSET"
COLUMN_NUMBER = 3
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 9
BYTES = 4
DESCRIPTION = "X offset for tip (steps)."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "CENTER FREQUENCY"
COLUMN_NUMBER = 4
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 13
BYTES = 4
DESCRIPTION = "The center frequency in Hz for tip."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "FREQUENCY"
COLUMN_NUMBER = 5
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 17
BYTES = 4
DESCRIPTION = "The frequency at which to start
the frequency test for tip."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "TIP STATE"
COLUMN_NUMBER = 6
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 21
BYTES = 4
DESCRIPTION = "Tip state (0=NOT_TESTED, 1=DEAD,
2=NOT_CENTERED, 3=OUT_OF_RANGE,
4=NOISY, 5=OK). This value is
written by the software, and not
usefully initialized to anything
other than 0."
END_OBJECT = COLUMN
This file is included in labels for MECA EDR Type 7 data.
OBJECT = COLUMN
COLUMN_NUMBER = 13
NAME = "A TO D COUNTS"
DATA_TYPE = MSB_BIT_STRING
START_BYTE = 1
BYTES = 12
DESCRIPTION = "The A-to-D Counts column consists of eight
12-bit fields, as described by the BIT_COLUMN
objects below."
OBJECT = BIT_COLUMN
NAME = "THERMOCOUPLE 1"
BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BIT = 1
BITS = 12
DESCRIPTION = "Thermocouple 1"
END_OBJECT = BIT_COLUMN
OBJECT = BIT_COLUMN
NAME = "THERMOCOUPLE 2"
BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BIT = 13
BITS = 12
DESCRIPTION = "Thermocouple 2"
END_OBJECT = BIT_COLUMN
OBJECT = BIT_COLUMN
NAME = "THERMOCOUPLE 3"
BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BIT = 25
BITS = 12
DESCRIPTION = "Thermocouple 3"
END_OBJECT = BIT_COLUMN
OBJECT = BIT_COLUMN
NAME = "HUMIDITY"
BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BIT = 37
BITS = 12
DESCRIPTION = "Humidity"
END_OBJECT = BIT_COLUMN
OBJECT = BIT_COLUMN
NAME = "ELECTRICAL CONDUCTIVITY"
BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BIT = 49
BITS = 12
DESCRIPTION = "Electrical conductivity"
END_OBJECT = BIT_COLUMN
OBJECT = BIT_COLUMN
NAME = "BOARD TEMPERATURE"
BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BIT = 61
BITS = 12
DESCRIPTION = "Board temperature"
END_OBJECT = BIT_COLUMN
OBJECT = BIT_COLUMN
NAME = "DIELECTRIC"
BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BIT = 73
BITS = 12
DESCRIPTION = "Dielectric constant (permittivity)"
END_OBJECT = BIT_COLUMN
OBJECT = BIT_COLUMN
NAME = "HEATER CURRENT"
BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BIT = 85
BITS = 12
DESCRIPTION = "Heater current"
END_OBJECT = BIT_COLUMN
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 14
NAME = "SAMPLE READTIME WHOLE SECONDS"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 13
BYTES = 4
UNIT = SECOND
DESCRIPTION = "Time at which this sample was received
from the instrument, whole seconds
portion"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 15
NAME = "SAMPLE READTIME FRACTIONAL SECONDS"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 17
BYTES = 4
UNIT = "SECOND/2**32"
DESCRIPTION = "Time at which this sample was received
from the instrument, fractional seconds
portion (value / 2*32)"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 16
NAME = "RA ENCODER JOINT ANGLES"
DATA_TYPE = IEEE_REAL
START_BYTE = 21
BYTES = 16
ITEMS = 4
ITEM_BYTES = 4
ITEM_OFFSET = 4
UNIT = RADIAN
DESCRIPTION = " Joint angles from RA encoders. The order of
the angles is: (1) shoulder azimuth,
(2) shoulder elevation, (3) elbow, and (4) wrist.
The zero radians position for joints 1-3 is
with the RA stretched out parallel to the
Payload Frame x axis. The zero radians
position for the wrist joint is with a vector
from the wrist rotation axis to the scoop, which
bisects the scoop mounting bracket, being
parallel to the Payload Frame -z axis (pointing
up). The positive rotation axis (using the right-
hand rule) for joints 2-4 points to the left if
you are viewing the scoop from the shoulder
joint. The positive rotation axis for joint 1 is
the Payload Frame +z axis."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 17
NAME = "RA POTS JOINT ANGLES"
DATA_TYPE = IEEE_REAL
START_BYTE = 37
BYTES = 16
ITEMS = 4
ITEM_BYTES = 4
ITEM_OFFSET = 4
UNIT = RADIAN
DESCRIPTION = " Joint angles from RA potentiometers. Same
description as previous column (16)."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 18
NAME = "TECP POSITION"
DATA_TYPE = IEEE_REAL
START_BYTE = 53
BYTES = 12
ITEMS = 3
ITEM_BYTES = 4
ITEM_OFFSET = 4
UNIT = METER
DESCRIPTION = "Cartesian coordinates (x, y, z) of the
centroid of the TECP needle tips in the
Payload Frame"
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 19
NAME = "TECP ORIENTATION"
DATA_TYPE = IEEE_REAL
START_BYTE = 65
BYTES = 16
ITEMS = 4
ITEM_BYTES = 4
ITEM_OFFSET = 4
DESCRIPTION = "Elements of the quaternion describing the
orientation of the TECP reference frame with
respect to the Payload Frame. The order of the
elements is (s, v1, v2, v3) where
s=cos(theta/2), v1=n_x*sin(theta/2),
v2=n_y*sin(theta/2), v3=n_z*sin(theta/2); n_x,
n_y, and n_z are the components of the
normalized rotation axis in the Payload Frame;
and theta is the rotation angle. The TECP
frame has its origin at the needle tips
centroid with the +x axis parallel to a vector
from the tip of needle 4 to the tip of needle
1 and its +z axis parallel to a vector from
the base of a needle to its tip."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 20
NAME = "RA JOINT TEMPERATURE"
DATA_TYPE = IEEE_REAL
START_BYTE = 81
BYTES = 16
UNIT = DEGC
ITEMS = 4
ITEM_BYTES = 4
ITEM_OFFSET = 4
DESCRIPTION = "Temperature of each RA joint motor casing. The
order of the temperatures is (1) shoulder
azimuth, (2) shoulder elevation, (3) elbow, and
(4) wrist."
END_OBJECT = COLUMN
OBJECT = COLUMN
COLUMN_NUMBER = 21
NAME = "RA TOOL"
DATA_TYPE = MSB_UNSIGNED_INTEGER
START_BYTE = 97
BYTES = 4
DESCRIPTION = "RA tool references (fixed at
ra_tool_value_RA_TECP = 6)"
END_OBJECT = COLUMN
|
AFM |
MECA Atomic Force Microscope |
|
ASCII |
American Standard Code for Information Interchange |
|
CME |
MECA Control and Measurement Electronics |
|
DN |
Data numbers (arbitrary units to be resolved through calibration) |
|
EDR |
Experiment Data Record |
|
FEI |
File Exchange Interface, a secure files subscription service developed at JPL |
|
FSW |
Flight Software |
|
GDS |
Ground Data System |
|
ICD |
Interface Control Document |
|
JPL |
Jet Propulsion Laboratory |
|
MECA |
Microscopy, Electrochemistry, and Conductivity Analyzer |
|
MGSS-IOS |
Multi-mission Ground Systems and Services, Instrument Operations element |
|
MIPL |
Multi-mission Instrument Processing Laboratory |
|
NASA |
National Aeronautics and Space Administration |
|
OM |
MECA Optical Microscope |
|
OPGS |
Operations Product Generation Subsystem |
|
PAWG |
Phoenix Archive Working Group |
|
PDS |
Planetary Data System |
|
RA |
Robotic Arm |
|
RAC |
Robotic Arm Camera |
|
RDR |
Reduced Data Record |
|
RSVP |
Rover Sequencing and Visualization Program |
|
SCLK |
Spacecraft Clock |
|
SFDU |
Standard Format Data Unit |
|
SIS |
Software Interface Specification |
|
SOC |
Science Operations Center |
|
SPICE |
Spacecraft, Planet, Instrument, C-matrix, Events kernels |
|
SSI |
Surface Stereoscopic Imager |
|
TBD |
To Be Determined |
|
TECP |
Thermal and Electrical Conductivity Probe |
|
WCL |
MECA Wet Chemistry Laboratory |