diff options
Diffstat (limited to 'contrib/ntp/html/mx4200data.htm')
-rw-r--r-- | contrib/ntp/html/mx4200data.htm | 443 |
1 files changed, 0 insertions, 443 deletions
diff --git a/contrib/ntp/html/mx4200data.htm b/contrib/ntp/html/mx4200data.htm deleted file mode 100644 index bca0474..0000000 --- a/contrib/ntp/html/mx4200data.htm +++ /dev/null @@ -1,443 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML Strict//EN"> -<HTML> -<HEAD> - <TITLE>MX4200 Receiver Data Format</TITLE> -</HEAD> -<BODY> -<h1>MX4200 Receiver Data Format</h1> - -<hr> -<h2>Table of Contents</h2> - -<ul> - <li><a href="#control">Control Port Sentences</a></li> - <li><a href="#input">Control Port Input Sentences</a></li> - <ul> - <li><a href="#input_000">$PMVXG,000</a> Initialization/Mode Control - Part A</li> - <li><a href="#input_001">$PMVXG,001</a> Initialization/Mode Control - Part B</li> - <li><a href="#input_007">$PMVXG,007</a> Control Port Configuration</li> - <li><a href="#input_023">$PMVXG,023</a> Time Recovery Configuration</li> - <li><a href="#input_gpq">$CDGPQ,YYY</a> Query From a Remote Device / Request to Output a Sentence</li> - </ul> - <li><a href="#output">Control Port Output Sentences</a></li> - <ul> - <li><a href="#output_000">$PMVXG,000</a> Receiver Status</li> - <li><a href="#output_021">$PMVXG,021</a> Position, Height, Velocity</li> - <li><a href="#output_022">$PMVXG,022</a> DOPs</li> - <li><a href="#output_030">$PMVXG,030</a> Software Configuration</li> - <li><a href="#output_101">$PMVXG,101</a> Control Sentence Accept/Reject</li> - <li><a href="#output_523">$PMVXG,523</a> Time Recovery Configuration</li> - <li><a href="#output_830">$PMVXG,830</a> Time Recovery Results</li> - </ul> -</ul> - -<hr> - -<h2><a name="control">Control Port Sentences</a></h2> - -<p>The Control (CDU) Port is used to initialize, monitor, and control -the receiver. The structure of the control port sentences is based on -the <cite>NMEA-0183</cite> Standard for Interfacing Marine Electronics -Navigation Devices (version 1.5). For more details, please refer to -the <cite>NMEA-0183</cite> Specification available from the -<a href="http://www.nmea.org/">National Marine Electronics -Association</a>.</p> - -<p>Reserved characters are used to indicate the beginning and the end -of records in the data stream, and to delimit data fields within a -sentence. Only printable ASCII characters (Hex 20 through 7F) may be -used in a sentence. <a href="#table_2">Table 2</a> lists the reserved -characters and defines their usage. <a href="#table_1">Table 1</a> -illustrates the general Magnavox proprietary NMEA sentence format. -</p> - -<h4><a name="table_1">Table 1. Magnavox Proprietary NMEA Sentence Format</a></h4> -<code> -$PMVXG,XXX,...................*CK -</code> - -<p> - -<table border> - <tr> <th>Character <th>Meaning - <tr> <td><code>$</code> <td>Sentence Start Character - <tr> <td><code>P</code> <td>Special ID (P = Proprietary) - <tr> <td><code>MVX</code> <td>Originator ID (MVX = Magnavox) - <tr> <td><code>G</code> <td>Interface ID (G = GPS) - <tr> <td><code>XXX</code> <td>Sentence Type - <tr> <td><code>...</code> <td>Data - <tr> <td><code>*</code> <td>Optional Checksum Field Delimiter - <tr> <td><code>CK</code> <td>Optional Checksum -</table> - -<h4><a name="table_2">Table 2. NMEA Sentence Reserved Characters</a></h4> - -<table border> - <tr> <th>Character <th>Hex Value <th>Usage - <tr> <td><code>$</code> <td>24 <td>Start of Sentence Identifier - <tr> <td><code>{cr}{lf}</code> <td>0D 0A <td>End of Sentence Identifier - <tr> <td><code>,</code> <td>2C <td>Sentence Delimiter - <tr> <td><code>*</code> <td>2A <td>Optional Checksum Field Delimiter -</table> - -<p>Following the start character <code>$</code>, are five characters -which constitute the block label of the sentence. For Magnavox -proprietary sentences, this label is always <code>PMVXG</code>. The -next field after the block label is the sentence type, consisting of -three decimal digits.</p> - -<p>The data, delimited by commas, follows the sentence type. Note that -the receiver uses a free-format parsing algorithm, so you need not send -the exact number of characters shown in the examples. You will need to -use the commas to determine how many bytes of data need to be -retrieved.</p> - -<p>The notation <code>CK</code> shown in <a href="#table_1">Table 1</a> -symbolically indicates the optional checksum in the examples. The -checksum is computed by exclusive-ORing all of the bytes between the -<code>$</code> and the <code>*</code> characters. The <code>$</code> , -<code>*</code> and the checksum are not included in the checksum -computation.</p> - -<p>Checksums are optional for Control Port input sentences, but are -highly recommended to limit the effects of communication errors. -Magnavox receivers always generate checksums for Control Port output -sentences.</p> - -<p>ASCII data characters are transmitted in the following format:</p> - -<table border> - <tr> <td> Data Bits <td>8 (msb always 0) - <tr> <td> Parity <td>None - <tr> <td> Stop Bits <td>1 -</table> - -<p>NULL fields are fields which do not contain any data. They would -appear as two commas together in the sentence format, except for the -final field. Some Magnavox proprietary sentences require that the -format contain NULL fields. mandatory NULL fields are identified by an -'*' next to the respective field.</p> - -<hr> - -<h2><a name="input">Control Port Input Sentences</a></h2> -These are the subset of the MX4200 control port input sentences sent by -the NTP driver to the GPS receiver. - -<hr> - -<h3><a name="input_000">$PMVXG,000</a></h3> -<h4>Initialization/Mode Control - Part A</h4> -Initializes the time, position and antenna height of the MX4200. - -<p> -<table border> - <tr> <th>Field <th>Description <th>Units <th>Format <th>Default <th>Range - <tr> <td>1 <td>Day <td>  <td>Int <td>  <td>1-31 - <tr> <td>2 <td>Month <td>  <td>Int <td>  <td>1-12 - <tr> <td>3 <td>Year <td>  <td>Int <td>  <td>1991-9999 - <tr> <td>4 <td>GMT Time <td>HHMMSS <td>Int <td>  <td>000000-235959 - <tr> <td>5 <td>WGS-84 Latitude <td>DDMM.MMMM<td>Float<td>0.0 <td>0 - 8959.9999 - <tr> <td>6 <td>North/South Indicator <td>  <td>Char <td>N <td>N,S - <tr> <td>7 <td>WGS-84 Longitude <td>DDDMM.MMMM<td>Float<td>0.0 <td>0 - 17959.9999 - <tr> <td>8 <td>East/West Indicator <td>  <td>Char <td>E <td>E,W - <tr> <td>9 <td>Altitude (height above Mean Sea Level) in meters (WGS-84) <td>Meters<td>Float<td>0.0<td>+/-99999.0 - <tr> <td>10 <td>Not Used <td>  <td>  <td>  <td>  -</table> -Example:<br> -<code>$PMVXG,000,,,,,,,,,,*48</code><br> -<code>$PMVXG,000,,,,,5128.4651,N,00020.0715,W,58.04,*4F</code> - -<hr> - -<h3><a name="input_001">$PMVXG,001</a></h3> -<h4>Initialization/Mode Control - Part B</h4> -Specifies various navigation parameters: Altitude aiding, acceleration -DOP limits, and satellite elevation limits. - -<p> -<table border> - <tr> <th>Field <th>Description <th>Units <th>Format <th>Default <th>Range - <tr> <td>*1 <td>Constrain Altitude <td>  <td>Int <td>1 <td>0=3D Only<br>1=Auto<br>2=2D Only - <tr> <td>2 <td>Not Used <td>  <td> <td>  <td>  - <tr> <td>*3 <td>Horizontal Acceleration Factor<td>m/sec^2 <td>Float <td>1.0 <td>0.5-10.0 - <tr> <td>*4 <td>Not Used <td>  <td> <td>  <td>  - <tr> <td>*5 <td>VDOP Limit <td>  <td>Int <td>10 <td>1-9999 - <tr> <td>*6 <td>HDOP Limit <td>  <td>Int <td>10 <td>1-9999 - <tr> <td>7 <td>Elevation Limit <td>Deg <td>Int <td>5 <td>0-90 - <tr> <td>8 <td>Time Output Mode <td>  <td>Char <td>U <td>U=UTC<br>L=Local Time - <tr> <td>9 <td>Local Time Offset <td>HHMM <td>Int <td>0 <td>+/- 0-2359 -</table> -Example:<br> -<code>$PMVXG,001,3,,0.1,0.1,10,10,5,U,0*06</code> - -<hr> - - -<h3><a name="input_007">$PMVXG,007</a></h3> -<h4>Control Port Output Configuration</h4> -This message enables or disables output of the specified sentence and -defines the output rate. The user sends this message for each sentence -that the receiver is to output. - -<p> -<table border> - <tr> <th>Field <th>Description <th>Units <th>Format <th>Default <th>Range - <tr> <td>1 <td>Control Port Output Block Label<td> <td>Char <td>  <td>  - <tr> <td>2 <td>Clear Current Output List<td> <td>Int <td>  <td>0=No<br>1=Yes - <tr> <td>3 <td>Add/Delete Sentence from List<td> <td>Int <td>  <td>1=Append<br>2=Delete - <tr> <td>4 <td>Not Used <td>  <td>  <td>  <td>  - <tr> <td>5 <td>Sentence Output Rate <td>Sec <td>Int <td>  <td>1-9999 - <tr> <td>6 <td># digits of Precision for CGA and GLL sentences<td>  <td>Int <td>2 <td>2-4 - <tr> <td>7 <td>Not Used <td>  <td>  <td>  <td>  - <tr> <td>8 <td>Not Used <td>  <td>  <td>  <td>  -</table> -Example:<br> -<code>$PMVXG,007,022,0,1,,1,,,*4F</code> - -<hr> - - -<h3><a name="input_023">$PMVXG,023</a></h3> -<h4>Time Recovery Configuration</h4> -This message is used to enable/disable the time recovery feature of the -receiver. The time synchronization for the 1PPS output is specified in -addition to a user time bias and an error tolerance for a valid pulse. -This record is accepted in units configured for time recovery. If the -back panel contains a 1PPS outlet, the receiver is a time recovery -unit. - -<p> -<table border> - <tr> <th>Field <th>Description <th>Units <th>Format <th>Default <th>Range - <tr> <td>*1 <td>Time Recovery Mode <td>  <td>Char <td>D <td>D=Dynamic<br>S=Static<br>K=Known Position<br>N=No Time Recovery - <tr> <td>2 <td>Time Synchronization <td>  <td>Char <td>G <td>U=UTC<br>G=GPS - <tr> <td>3 <td>Time Mark Mode <td>  <td>Char <td>A <td>A=Always<br>V=Valid Pulses Only - <tr> <td>4 <td>Maximum Time Error <td>Nsec <td>Int <td>100 <td>50-1000 - <tr> <td>5 <td>User Time Bias <td>Nsec <td>Int <td>0 <td>+/- 99999 - <tr> <td>6 <td>ASCII Time Message Control<td> <td>Int <td>0 <td>0=No Output<br>1=830 to Control Port<br>2=830 to Equipment Port - <tr> <td>7 <td>Known Pos PRN <td>  <td>Int <td>0 <td>1-32<br>0=Track All Sats -</table> -Example:<br> -<code>$PMVXG,023,S,U,A,500,0,1,*16</code> - -<hr> - - -<h3><a name="input_gpq">$CDGPQ,YYY</a></h3> -<h4>Query From a Remote Device / Request to Output a Sentence</h4> -Enables the controller to request a one-time transmission of a specific -block label. To output messages at a periodic rate, refer to input -sentence <a href="#input_007">$PMVXG,007</a>. - -<p> -<table border> - <tr> <th>Field <th>Description <th>Units <th>Format <th>Default <th>Range - <tr> <td>1:CD <td>ID of Remote Device <td>  <td>Char <td>  <td>(See <cite>NMEA-0183</cite>) - <tr> <td>2:GP <td>GPS <td>  <td>Char <td>  <td>(See <cite>NMEA-0183</cite>) - <tr> <td>3:Q <td>Query <td>  <td>Char <td>  <td>(See <cite>NMEA-0183</cite>) - <tr> <td>4:YYY <td>Label of Desired Sentence<td> <td>Char <td>  <td>Any Valid NMEA or Magnavox Sentence Type -</table> -Example:<br> -<code>$CDGPQ,030*5E</code> - - - -<hr> -<h2><a name="output">Control Port Output Sentences</a></h2> -These are the subset of the MX4200 control port output sentences -recognized by the NTP driver. - -<hr> - -<h3><a name="output_000">$PMVXG,000</a></h3> -<h4>Receiver Status</h4> -Returns the current status of the receiver including the operating -mode, number of satellites visible, and the number of satellites being -tracked. - -<p> -<table border> - <tr> <th>Field <th>Description <th>Units <th>Format <th>Range - <tr> <td>1 <td>Current Receiver Status <td>  <td>Char <td>ACQ=Reacquisition<br>ALT=Constellation Selection<br>IAC=Initial Acquisition<br>IDL=Idle, No Satellites<br>NAV=Navigating<br>STS=Search The Sky<br>TRK=Tracking - <tr> <td>2 <td>Number of Satellites that should be Visible <td> <td>Int <td>0-12 - <tr> <td>3 <td>Number of Satellites being Tracked <td>  <td>Int <td>0-12 - <tr> <td>4 <td>Time since Last Navigation <td>HHMM <td>Int <td>0-2359 - <tr> <td>5 <td>Initialization Status <td>  <td>Int <td>0=Waiting for Initialization<br>1=Initialization Complete -</table> -Example:<br> -<code>$PMVXG,000,TRK,3,3,0122,1*19</code> - -<hr> - -<h3><a name="output_021">$PMVXG,021</a></h3> -<h4>Position, Height, Velocity</h4> -This sentence gives the receiver position, height, navigation mode and -velocity north/east. <em>This sentence is intended for post analysis -applications.</em> - -<p> -<table border> - <tr> <th>Field <th>Description <th>Units <th>Format <th>Range - <tr> <td>1 <td>UTC Measurement Time <td>Seconds into the week<td>Float<td>0-604800.00 - <tr> <td>2 <td>WGS-84 Latitude <td>DDMM.MMMM<td>Float <td>0-89.9999 - <tr> <td>3 <td>North/South Indicator <td>  <td>Char <td>N, S - <tr> <td>4 <td>WGS-84 Longitude <td>DDDMM.MMMM <td>Float <td>0-179.9999 - <tr> <td>5 <td>East/West Indicator <td>  <td>Char <td>E, W - <tr> <td>6 <td>Altitude (MSL) <td>Meters <td>Float <td>  - <tr> <td>7 <td>Geoidal Height <td>Meters <td>Float <td>  - <tr> <td>8 <td>Velocity East <td>M/Sec <td>Float <td>  - <tr> <td>9 <td>Velocity North <td>M/Sec <td>Float <td>  - <tr> <td>10 <td>Navigation Mode <td>  <td>Int <td><em>Navigating</em><br> - 1=Position From a Remote Device<br> - 2=2D<br> - 3=3D<br> - 4=2D differential<br> - 5=3D differential<br> - <em>Not Navigating</em><br> - 51=Too Few Satellites<br> - 52=DOPs too large<br> - 53=Position STD too large<br> - 54=Velocity STD too large<br> - 55=Too many iterations for velocity<br> - 56=Too many iterations for position<br> - 57=3 Sat Startup failed -</table> -Example:<br> -<code>$PMVXG,021,142244.00,5128.4744,N,00020.0593,W,00054.4,0047.4,0000.1,-000.2,03*66</code> - -<hr> - -<h3><a name="output_022">$PMVXG,022</a></h3> -<h4>DOPs</h4> -This sentence reports the DOP (Dilution Of Precision) values actually -used in the measurement processing corresponding to the satellites -listed. The satellites are listed in receiver channel order. Fields -11-16 are output only on 12-channel receivers. - -<p> -<table border> - <tr> <th>Field <th>Description <th>Units <th>Format <th>Range - <tr> <td>1 <td>UTC Measurement Time <td>Seconds into the week<td>Float<td>0-604800.00 - <tr> <td>2 <td>East DOP (EDOP) <td>  <td>Float <td>  - <tr> <td>3 <td>North DOP (NDOP) <td>  <td>Float <td>  - <tr> <td>4 <td>Vertical DOP (VDOP) <td>  <td>Float <td>  - <tr> <td>5 <td>PRN on Channel #1 <td>  <td>Int <td>1-32 - <tr> <td>6 <td>PRN on Channel #2 <td>  <td>Int <td>1-32 - <tr> <td>7 <td>PRN on Channel #3 <td>  <td>Int <td>1-32 - <tr> <td>8 <td>PRN on Channel #4 <td>  <td>Int <td>1-32 - <tr> <td>9 <td>PRN on Channel #5 <td>  <td>Int <td>1-32 - <tr> <td>10 <td>PRN on Channel #6 <td>  <td>Int <td>1-32 - <tr> <td>11 <td>PRN on Channel #7 <td>  <td>Int <td>1-32 - <tr> <td>12 <td>PRN on Channel #8 <td>  <td>Int <td>1-32 - <tr> <td>13 <td>PRN on Channel #9 <td>  <td>Int <td>1-32 - <tr> <td>14 <td>PRN on Channel #10 <td>  <td>Int <td>1-32 - <tr> <td>15 <td>PRN on Channel #11 <td>  <td>Int <td>1-32 - <tr> <td>16 <td>PRN on Channel #12 <td>  <td>Int <td>1-32 -</table> -Example:<br> -<code>$PMVXG,022,142243.00,00.7,00.8,01.9,27,26,10,09,13,23*77</code> - -<hr> - -<h3><a name="output_030">$PMVXG,030</a></h3> -<h4>Software Configuration</h4> -This sentence contains the navigation processor and baseband firmware -version numbers. - -<p> -<table border> - <tr> <th>Field <th>Description <th>Units <th>Format <th>Range - <tr> <td>1 <td>Nav Processor Version Number <td>  <td>Char <td>  - <tr> <td>2 <td>Baseband Firmware Version Number <td>  <td>Char <td>  -</table> -Example:<br> -<code>$PMVXG,030,DA35,015</code> - -<hr> - -<h3><a name="output_101">$PMVXG,101</a></h3> -<h4>Control Sentence Accept/Reject</h4> -This sentence is returned (on the Control Port) for every -<strong>$PMVXG</strong> and <strong>$XXGPQ</strong> sentence that is -received. - -<p> -<table border> - <tr> <th>Field <th>Description <th>Units <th>Format <th>Range - <tr> <td>1 <td>Sentence ID <td>  <td>Char <td>  - <tr> <td>2 <td>Accept/Reject Status <td>  <td>Int <td>0=Sentence Accepted<br> - 1=Bad Checksum<br> - 2=Illegal Value<br> - 3=Unrecognized ID<br> - 4=Wrong # of fields<br> - 5=Required Data Field Missing<br> - 6=Requested Sentence Unavailable - <tr> <td>3 <td>Bad Field Index <td>  <td>Int <td>  - <tr> <td>4 <td>Requested Sentence ID (If field #1 = GPQ) <td>  <td>Char <td>  -</table> -Example:<br> -<code>$PMVXG,101,GPQ,0,,030*0D</code> - -<hr> - -<h3><a name="output_523">$PMVXG,523</a></h3> -<h4>Time Recovery Configuration</h4> -This sentence contains the configuration of the time recovery function -of the receiver. - -<p> -<table border> - <tr> <th>Field <th>Description <th>Units <th>Format <th>Range - <tr> <td>1 <td>Time Recovery Mode <td>  <td>Char <td>D=Dynamic<br>S=Static<br>K=Known Position<br>N=No Time Recovery - <tr> <td>2 <td>Time Synchronization <td>  <td>Char <td>U=UTC Time<br>G=GPS Time - <tr> <td>3 <td>Time Mark Mode <td>  <td>Char <td>A=Always Output Time Pulse<br>V=Only when Valid - <tr> <td>4 <td>Maximum Time Error for which a time mark will be considered valid <td>Nsec <td>Int <td>  - <tr> <td>5 <td>User Time Bias <td>Nsec <td>Int <td>  - <tr> <td>6 <td>Time Message Control <td>  <td>Int <td>0=No Message<br>1=830 to Control Port<br>2=830 to Equipment Port - <tr> <td>7 <td>Not Used <td>  <td>  <td>  -</table> -Example:<br> -<code>$PMVXG,523,S,U,A,0500,000000,1,0*23</code> - -<hr> - -<h3><a name="output_830">$PMVXG,830</a></h3> -<h4>Time Recovery Results</h4> -This sentence is output approximately 1 second preceding the 1PPS -output. It indicates the exact time of the next pulse, whether or not -the time mark will be valid (based on operator-specified error -tolerance), the time to which the pulse is synchronized, the receiver -operating mode, and the time error of the <strong>last</strong> 1PPS -output. The leap second flag (Field #11) is not output by older -receivers. - -<p> -<table border> - <tr> <th>Field <th>Description <th>Units <th>Format <th>Range - <tr> <td>1 <td>Time Mark Valid <td>  <td>Char <td>T=Valid<br>F=Not Valid - <tr> <td>2 <td>Year <td>  <td>Int <td>1993- - <tr> <td>3 <td>Month <td>  <td>Int <td>1-12 - <tr> <td>4 <td>Day <td>Nsec <td>Int <td>1-31 - <tr> <td>5 <td>Time <td>HH:MM:SS<td>Int <td>00:00:00-23:59:59 - <tr> <td>6 <td>Time Synchronization <td>  <td>Char <td>U=UTC<br>G=GPS - <tr> <td>7 <td>Operating Mode <td>  <td>Char <td>D=Dynamic<br>S=Static<br>K=Known Position - <tr> <td>8 <td>Oscillator Offset - estimate of oscillator frequency error <td>PPB <td>Int <td>  - <tr> <td>9 <td>Time Mark Error of last pulse <td>Nsec <td>Int <td>  - <tr> <td>10 <td>User Time Bias <td>Nsec <td>Int <td>  - <tr> <td>11 <td>Leap Second Flag - indicates that a leap second will occur. - This value is usually zero except during the week - prior to a leap second occurence, when this value - will be set to +/-1. A value of +1 indicates - that GPS time will be 1 second further ahead of - UTC time. - <td>  <td>Int <td>-1,0,1 -</table> -Example:<br> -<code>$PMVXG,830,T,1998,10,12,15:30:46,U,S,000298,00003,000000,01*02</code> - -<hr> - - -</BODY> -</HTML> |