Javad / GREIS
The implementation follows src/Asv.Gnss/Protocols/Javad/Docs/GREIS-4.2.01.pdf. It provides streaming parsing and serialization for 303 native receiver-message identifiers: 271 binary models and 32 text, reply, parameter, wrapper, and event models. The default registration includes the compatibility messages in Appendix A.4 as well as the current Chapter 3.4 messages.
GREIS receiver commands, command lines, response labels, compound parameter values, and the documented receiver-object catalog are also available. Protocol identifiers are case-sensitive: for example, PG, Pg, gd, and GD are distinct messages.
Connect the parser
Use the same registration with a router and transport from Quick Start. RegisterJavadProtocol accepts a factory callback after adding the defaults; it can remove a message or add a custom JavadMessageBase implementation. Registration selects decoders. Configure the receiver's output separately with GREIS commands.
JavadMessageParser accepts fragmented and adjacent frames, validates each message's checksum type, and recovers after malformed candidates. A standard frame has two ASCII identifier characters, three uppercase hexadecimal body-length digits, and a body of up to 4095 bytes, including its checksum. The maximum complete frame is 4100 bytes. Line endings between frames are optional.
A standard GREIS stream can contain non-standard ASCII lines such as NMEA sentences. The GREIS parser skips those lines; register the NMEA parser to decode them. Unwrapped RTCM, BINEX, and CMR binary streams are separate wire protocols. JavadWrapperMessage (>>) carries arbitrary bytes inside a GREIS frame and preserves its SourceId and Data.
Typed messages and serialization
All native models derive from JavadMessageBase. They consume one complete frame from the supplied span, leaving any subsequent bytes available to the caller. GetByteSize() includes the header and checksum.
Binary properties retain the specification's raw units, scaling, bit fields, and missing-value sentinels. For example, integer measurement encodings remain integer values and IEEE NaNs remain NaNs. The codecs preserve these values for callers that need exact data or subsequent calculations. They do not assemble observation epochs or apply satellite-index, relative-measurement, clock, or GNSS navigation calculations. Applications can build that processing from ~~, ::, RD, ST, SX/SI, and the measurement models.
MF sets the incoming stream's major/minor format version and byte order. Each parser has independent state; decoded messages retain the ByteOrder used for their payload. The default is little endian. Reset() clears partial framing while retaining the established format, because Asv.IO resets parsers at packet boundaries. Call ResetStream() when starting a different receiver stream to restore format 1.0 and little-endian defaults. Unsupported major versions suspend decoding of ordinary messages until a supported MF is received; JP and MF remain recognizable. When decoding a single binary frame directly, set its ByteOrder first if it is big endian. When writing a stream, set each binary message's ByteOrder consistently with the emitted MF message; serialization does not maintain a separate outbound session.
For extensible fixed layouts, trailing bytes before the checksum are captured in ExtensionData and serialized again. Known optional groups are represented by the corresponding model properties. Variable records retain their specified counts, lengths, and extensions. The exceptions are JP and MF, whose sizes are fixed by the specification.
Historical recordings can omit the final Edop field in DP, Nt in NU, Flags in WE, or DAf0 in EN. Their existing scalar properties remain available; HasEdop, HasNt, HasFlags, and HasDAf0 record whether the field is present on the wire. New messages include these fields by default. Decoding an older layout sets its presence flag to false and resets the absent scalar to zero. Set the flag to true when adding that field. An absent field cannot be followed by ExtensionData, because those bytes would be interpreted as the field on the next decode.
JavadTextMessage exposes typed properties and immutable Fields after the message title. Nested satellite, data-link, correction-text, timing, and reference-station groups have typed views. Omitted fields, nested lists, future fields, and original text spelling survive a decode/encode cycle. Editing a property updates the corresponding field while retaining unrelated fields. Decimal text values use invariant culture; a padded value such as 009 means decimal nine. Short forms selected by position or RAIM status are accepted.
An unregistered identifier is skipped using its declared length and reported through OnError as an unknown message. The parser does not guess a checksum for unknown layouts. For explicit forwarding or inspection when the layout is known, JavadRawMessage accepts an identifier and JavadChecksumKind; its Payload excludes the selected checksum. This raw utility is separate from the concrete native models in the catalog below.
Inspect and edit fields with a visitor
Native receiver messages implement IVisitable. Call Accept(IVisitor) to inspect or edit the payload through the standard Asv.IO visitor interfaces. Message headers and checksums are rebuilt by serialization; ExtensionData is visited as a byte list.
Binary models expose their wire scalar types, arrays, lists, and nested records. Computed lengths and legacy layout selectors carry readOnly=true metadata; attempting to change them throws InvalidOperationException. Change their source arrays or flags instead. Native text models expose nullable integers, doubles, ASCII strings, characters, and TimeSpan values. Satellite, signal-strength, data-link, timing, and reference-station groups are structured fields. Visitors can change values through ref parameters; resizing a counted text list also updates its wire count and retains trailing future fields. Text record views implement IVisitable too. When visiting a whole message, changes to nested records are written back into its immutable Fields tree. When visiting a detached record view, assign the edited view back through the corresponding message property or Fields.
Known layouts have cached static StructType metadata. TD and complete PM payloads have arbitrary nested shapes: GetVisitorType() returns cached metadata for their current value tree, and Accept traverses that structure. An incomplete PM fragment is visited as its literal Parameters string. RE and ER expose literal Text, preserving response labels and incomplete fragments; use Response to interpret their command semantics.
A visitor that leaves values unchanged preserves the original text bytes, decimal padding, whitespace, omitted fields, and immutable node identities. Editing a text field rebuilds only the affected nodes; unrelated known and future fields remain available. Derived convenience properties, such as latitude converted from a text angle into degrees, are not a second editable representation of the same wire field.
JavadCommand and JavadCommandLine also support Accept. They validate edited command values before publishing changes; inspection retains original whitespace, comments, and checksum spelling. Their argument and option trees use the same immutable-value visitor described below.
The typed text traversal covers the documented fields. To inspect or edit all fields, including unknown extensions and heterogeneous lists, use JavadValueVisitor.VisitFields(visitor, ref value) on a JavadValue.List created from message.Fields, then assign value.Items back only if the root value changed. JavadValueVisitor.GetType(value) returns the exact finite schema for an immutable value and reuses metadata while that value is unchanged. JavadValueVisitor.Visit(visitor, field, ref value) adds an enclosing structure callback; the field must use that value's current metadata. Use value factories to replace a tree's shape or add options before visiting it.
Receiver commands and responses
JavadCommand represents one statement, and JavadCommandLine represents statements separated by ;, &&, or ||. They serialize ASCII with CRLF and support the optional rotate/XOR checksum. The command catalog contains all 13 command names from Chapter 2.3: set, print, list, em, out, dm, init, create, remove, event, get, put, and fld.
Send a command through the selected endpoint or serialize it into the receiver's input stream. An explicit %label% forces a response and enables correlation with JavadCommandResponse.Matches. Unlabelled replies cannot identify which outstanding command produced them. JavadReplyMessage and JavadErrorMessage retain their complete ASCII payloads; the parsed response exposes Label, Text, and, for a complete error value, ErrorCode.
A print or list result can span multiple RE messages. TryGetValue succeeds only when the response text is a complete GREIS value. Accumulate the relevant fragments according to the request and application workflow before parsing a full object tree; one successful RE frame does not imply a complete response. PM retains the parameter payload and supports the same complete-value parsing approach.
For compatibility with recorded receiver streams, PM accepts both the documented ,@ checksum delimiter and a bare @. A decoded message retains its delimiter when serialized or edited; newly constructed messages use ,@.
JavadValue represents quoted strings, omitted values, empty lists, nested or prefixed lists, named values, and options. JavadParameterValues supplies scheduling, IPv4, datum, Cartesian-position, and geodetic-position values. JavadTimeSpecification handles recurring time fields and wildcards. Receiver-only TextAtom values require explicit quoting before they can be used in commands.
Data Transfer Protocol
The Appendix A.2 Data Transfer Protocol (DTP) is an explicit transfer mode used after a suitable get, put, or fld command. It has its own framing; route transfer bytes to the DTP helpers while that mode is active. JavadMessageParser handles ordinary GREIS receiver messages.
JavadDtpCodec encodes and decodes ordinal, last, error, and abort blocks. DTP integers are always little endian, independently of MF. Its CRC16 continues from the previous accepted block, and a last block carries its actual byte count plus zero padding. The codec accepts the negotiated block size; both ends must use the same value.
JavadDtpReceiver accepts bytes incrementally. Start with InitialRequest, process the returned JavadDtpReceiveResult, deliver each new block's data once, and send Request only when it is non-null. It tracks sequence numbers, cumulative checksums, completion, and duplicate blocks. Call RequestRetry() after a deadline to discard a partial block and request retransmission.
JavadDtpTransmitter prepares one block with Prepare and interprets incoming requests with ProcessRequest. A retransmission uses the unchanged CurrentBlock; the checksum and sequence number advance when the current ordinal block is acknowledged. Call MarkCurrentBlockSent() after the transport finishes writing CurrentBlock. Mark the final block with isLast: true, including an empty final block when needed; sending that last block completes the transmitter without waiting for a final acknowledgement.
The get command's attempts option selects its output format; it is not always DTP:
| Output handling |
|---|---|
Greater than 1 | Ordinary DTP with receiver requests and retransmission attempts. |
| Streaming DTP: the sender does not wait for ACKs, and a NACK aborts the transfer. The same block decoder accepts the stream. |
| Raw object bytes; the application handles their boundaries. |
| GREIS |
| GREIS |
These helpers maintain block and transfer state. The application owns stream I/O, initiating commands, negotiated options, deadlines, pacing, file access, and switching back to GREIS messages after transfer completion. No receiver connection or file transfer starts merely by constructing a helper.
Receiver-object catalog
JavadParameterCatalog.All contains 1227 documented object declarations, including 1209 /par declarations and compatibility entries. Each descriptor retains the path template, original declaration, access, type, values, default, options, and PDF page. These are specification metadata; receiver firmware and installed options determine actual availability and accepted ranges.
Find returns every declaration with the exact template. Under selects a path prefix, and Bind substitutes explicit template identifiers such as X, SYS, or [port]. JavadObjectPath also supports relative paths, dynamic objects, and &attribute access, so object access is not restricted to this manual's catalog.
Specification details and validation
The schema records the following inconsistencies in GREIS 4.2.01:
The S4 and SigmaPhi body-size expressions on page 103 conflict with their
f4arrays. The codecs follow the field declarations:4 * nSats + 1bytes including checksum.The
Spsize expression omitsn. Its payload uses8 + n * m * 2bytes and the documented optional 33-byte extension.IEuses the required 122-byte GPS ephemeris data plusnavTypeand checksum.QEfollows the GPS ephemeris optional layouts, including CNAV2, despite its abbreviated printed length list.The
SvDelayreference on page 119 points to the precedingSvDelaysrecord.sjappears on page 130 but is absent from the table of contents; it is included in the implementation and catalog.The access field for
/par/[cport]/sid/out/firston page 514 is mislabelledName: rw; the parameter generator treats it as access metadata.
Tests cover the three TD frames printed on page 393, checksum algorithms, fragmentation and recovery, byte-order isolation, each native model's round trip, optional/variable structures, command syntax, parameter declarations, and preservation of extensions.
Five public receiver recordings and upstream excerpts from RTKLIB, GPSD, and EarthScope gnsstools are included in src/Asv.Gnss.Test/Resources/Javad. They contain 6376 complete frames in total, plus the original incomplete tail of the RTKLIB recording. Replay tests verify file hashes, independently inventoried boundaries, message order, exact reserialization, selected dates/times/positions, historical layouts, and unchanged out-of-range ionosphere time fields. Tests use local files without network access. The resource README records pinned source URLs, SHA-256 hashes, provenance, and licenses. No physical JAVAD receiver was used for validation.
The binary source of truth is Protocols/Javad/Schema/binary-messages.json; custom variable codecs are maintained alongside the generated models. Regenerate and verify from the repository root:
Edit the schema, maintained codecs, or generator when changing their behavior. Do not edit Generated/JavadBinaryMessages.g.cs or Parameters/JavadParameterCatalog.Generated.cs by hand.
Specification message catalog
The table lists every native identifier covered by the supplied GREIS 4.2.01 specification, including measurement families, the omitted sj contents entry, legacy SI, and Appendix A.4 messages. Model present means the concrete model implements decoding and serialization of its documented layout. Default indicates inclusion in RegisterJavadProtocol; it does not promise support by a particular receiver firmware. Foreign NMEA/RTCM/CMR messages remain separate protocols or payloads of >>.
Page references are one-based PDF pages; printed page numbers coincide in this document.
GREIS ID | Message | Status | C# model | Default | PDF page |
|---|---|---|---|---|---|
| File Identifier | Model present |
| Yes | 73 |
| Messages Format | Model present |
| Yes | 74 |
| Receiver Time | Model present |
| Yes | 74 |
| Epoch Time | Model present |
| Yes | 75 |
| Receiver Date | Model present |
| Yes | 75 |
| Reference Time to Receiver Time Offset | Model present |
| Yes | 75 |
| Derivative of Receiver Time Offset | Model present |
| Yes | 75 |
| Rough Accuracy of Time Approximation | Model present |
| Yes | 76 |
| GPS Time | Model present |
| Yes | 76 |
| GPS to Receiver Time Offset | Model present |
| Yes | 76 |
| GLONASS Time | Model present |
| Yes | 76 |
| GLONASS to Receiver Time Offset | Model present |
| Yes | 76 |
| GALILEO to Receiver Time Offset | Model present |
| Yes | 76 |
| SBAS to Receiver Time Offset | Model present |
| Yes | 77 |
| QZSS to Receiver Time Offset | Model present |
| Yes | 77 |
| BeiDou to Receiver Time Offset | Model present |
| Yes | 77 |
| IRNSS to Receiver Time Offset | Model present |
| Yes | 77 |
| GPS UTC Time Parameters | Model present |
| Yes | 77 |
| SBAS UTC Time Parameters | Model present |
| Yes | 78 |
| GALILEO UTC and GPS Time Parameters | Model present |
| Yes | 78 |
| QZSS UTC Time Parameters | Model present |
| Yes | 78 |
| BeiDou UTC Time Parameters | Model present |
| Yes | 79 |
| IRNSS UTC Time Parameters | Model present |
| Yes | 79 |
| GLONASS UTC and GPS Time Parameters | Model present |
| Yes | 79 |
| Solution Time-Tag | Model present |
| Yes | 79 |
| Cartesian Position | Model present |
| Yes | 80 |
| (PoWgs,PoLoc) Cartesian Position in Specific System | Model present |
| Yes | 80 |
| Cartesian Velocity | Model present |
| Yes | 80 |
| Cartesian Position and Velocity | Model present |
| Yes | 80 |
| Geodetic Position | Model present |
| Yes | 81 |
| (PgWgs,PgLoc) Geodetic Position in Specific System | Model present |
| Yes | 81 |
| Geodetic Velocity | Model present |
| Yes | 81 |
| Position and Velocity RMS Errors | Model present |
| Yes | 81 |
| Position in Local Plane | Model present |
| Yes | 82 |
| Reference Station Position in Local Plane | Model present |
| Yes | 82 |
| Dilution of Precision (DOP) | Model present |
| Yes | 83 |
| Position Covariance Matrix | Model present |
| Yes | 83 |
| Velocity Covariance Matrix | Model present |
| Yes | 83 |
| Baseline | Model present |
| Yes | 83 |
| Attitude Baselines | Model present |
| Yes | 84 |
| Attitude Full Rotation Matrix | Model present |
| Yes | 84 |
| Position Statistics | Model present |
| Yes | 84 |
| Time of Continuous Position Computation | Model present |
| Yes | 85 |
| Extended Satellite Indices | Model present |
| Yes | 92 |
| Antenna Names | Model present |
| Yes | 92 |
| GLONASS Satellite System Numbers | Model present |
| Yes | 93 |
| Satellite Elevations | Model present |
| Yes | 93 |
| Satellite Azimuths | Model present |
| Yes | 93 |
| Pseudo-ranges | Model present |
| Yes | 93 |
| Pseudo-ranges | Model present |
| Yes | 93 |
| Pseudo-ranges | Model present |
| Yes | 93 |
| Pseudo-ranges | Model present |
| Yes | 93 |
| Pseudo-ranges | Model present |
| Yes | 93 |
| Pseudo-ranges | Model present |
| Yes | 93 |
| Pseudo-ranges | Model present |
| Yes | 93 |
| Integer Pseudo-ranges | Model present |
| Yes | 94 |
| Integer Pseudo-ranges | Model present |
| Yes | 94 |
| Integer Pseudo-ranges | Model present |
| Yes | 94 |
| Integer Pseudo-ranges | Model present |
| Yes | 94 |
| Integer Pseudo-ranges | Model present |
| Yes | 94 |
| Integer Pseudo-ranges | Model present |
| Yes | 94 |
| Integer Pseudo-ranges | Model present |
| Yes | 94 |
| Relative Pseudo-ranges | Model present |
| Yes | 95 |
| Relative Pseudo-ranges | Model present |
| Yes | 95 |
| Relative Pseudo-ranges | Model present |
| Yes | 95 |
| Relative Pseudo-ranges | Model present |
| Yes | 95 |
| Relative Pseudo-ranges | Model present |
| Yes | 95 |
| Relative Pseudo-ranges | Model present |
| Yes | 95 |
| Integer Relative Pseudo-ranges | Model present |
| Yes | 95 |
| Integer Relative Pseudo-ranges | Model present |
| Yes | 95 |
| Integer Relative Pseudo-ranges | Model present |
| Yes | 95 |
| Integer Relative Pseudo-ranges | Model present |
| Yes | 95 |
| Integer Relative Pseudo-ranges | Model present |
| Yes | 95 |
| Integer Relative Pseudo-ranges | Model present |
| Yes | 95 |
| Pseudo-range Corrections | Model present |
| Yes | 96 |
| Pseudo-range Corrections | Model present |
| Yes | 96 |
| Pseudo-range Corrections | Model present |
| Yes | 96 |
| Pseudo-range Corrections | Model present |
| Yes | 96 |
| Pseudo-range Corrections | Model present |
| Yes | 96 |
| Pseudo-range Corrections | Model present |
| Yes | 96 |
| Smoothing Corrections | Model present |
| Yes | 96 |
| Smoothing Corrections | Model present |
| Yes | 96 |
| Smoothing Corrections | Model present |
| Yes | 96 |
| Smoothing Corrections | Model present |
| Yes | 96 |
| Smoothing Corrections | Model present |
| Yes | 96 |
| Smoothing Corrections | Model present |
| Yes | 96 |
| Smoothing Corrections | Model present |
| Yes | 97 |
| Smoothing Corrections | Model present |
| Yes | 97 |
| Smoothing Corrections | Model present |
| Yes | 97 |
| Smoothing Corrections | Model present |
| Yes | 97 |
| Smoothing Corrections | Model present |
| Yes | 97 |
| Smoothing Corrections | Model present |
| Yes | 97 |
| Carrier Phases | Model present |
| Yes | 97 |
| Carrier Phases | Model present |
| Yes | 97 |
| Carrier Phases | Model present |
| Yes | 97 |
| Carrier Phases | Model present |
| Yes | 97 |
| Carrier Phases | Model present |
| Yes | 97 |
| Carrier Phases | Model present |
| Yes | 97 |
| Integer Carrier Phases | Model present |
| Yes | 97 |
| Integer Carrier Phases | Model present |
| Yes | 97 |
| Integer Carrier Phases | Model present |
| Yes | 97 |
| Integer Carrier Phases | Model present |
| Yes | 97 |
| Integer Carrier Phases | Model present |
| Yes | 97 |
| Integer Carrier Phases | Model present |
| Yes | 97 |
| Relative Carrier Phases | Model present |
| Yes | 98 |
| Relative Carrier Phases | Model present |
| Yes | 98 |
| Relative Carrier Phases | Model present |
| Yes | 98 |
| Relative Carrier Phases | Model present |
| Yes | 98 |
| Relative Carrier Phases | Model present |
| Yes | 98 |
| Relative Carrier Phases | Model present |
| Yes | 98 |
| Integer Relative Carrier Phases | Model present |
| Yes | 98 |
| Integer Relative Carrier Phases | Model present |
| Yes | 98 |
| Integer Relative Carrier Phases | Model present |
| Yes | 98 |
| Integer Relative Carrier Phases | Model present |
| Yes | 98 |
| Integer Relative Carrier Phases | Model present |
| Yes | 98 |
| Integer Relative Carrier Phases | Model present |
| Yes | 98 |
| Phase Corrections | Model present |
| Yes | 99 |
| Phase Corrections | Model present |
| Yes | 99 |
| Phase Corrections | Model present |
| Yes | 99 |
| Phase Corrections | Model present |
| Yes | 99 |
| Phase Corrections | Model present |
| Yes | 99 |
| Phase Corrections | Model present |
| Yes | 99 |
| Doppler | Model present |
| Yes | 99 |
| Doppler | Model present |
| Yes | 99 |
| Doppler | Model present |
| Yes | 99 |
| Doppler | Model present |
| Yes | 99 |
| Doppler | Model present |
| Yes | 99 |
| Doppler | Model present |
| Yes | 99 |
| Doppler | Model present |
| Yes | 99 |
| Relative Doppler | Model present |
| Yes | 100 |
| Relative Doppler | Model present |
| Yes | 100 |
| Relative Doppler | Model present |
| Yes | 100 |
| Relative Doppler | Model present |
| Yes | 100 |
| Relative Doppler | Model present |
| Yes | 100 |
| Relative Doppler | Model present |
| Yes | 100 |
| SNR | Model present |
| Yes | 100 |
| SNR | Model present |
| Yes | 100 |
| SNR | Model present |
| Yes | 100 |
| SNR | Model present |
| Yes | 100 |
| SNR | Model present |
| Yes | 100 |
| SNR | Model present |
| Yes | 100 |
| SNR x 4 | Model present |
| Yes | 101 |
| SNR x 4 | Model present |
| Yes | 101 |
| SNR x 4 | Model present |
| Yes | 101 |
| SNR x 4 | Model present |
| Yes | 101 |
| SNR x 4 | Model present |
| Yes | 101 |
| SNR x 4 | Model present |
| Yes | 101 |
| SNR x 256 | Model present |
| Yes | 101 |
| SNR x 256 | Model present |
| Yes | 101 |
| SNR x 256 | Model present |
| Yes | 101 |
| SNR x 256 | Model present |
| Yes | 101 |
| SNR x 256 | Model present |
| Yes | 101 |
| SNR x 256 | Model present |
| Yes | 101 |
| Data SNR x 256 | Model present |
| Yes | 101 |
| Data SNR x 256 | Model present |
| Yes | 101 |
| Data SNR x 256 | Model present |
| Yes | 101 |
| Data SNR x 256 | Model present |
| Yes | 101 |
| Data SNR x 256 | Model present |
| Yes | 101 |
| Data SNR x 256 | Model present |
| Yes | 101 |
| Signal Lock Loop Flags | Model present |
| Yes | 101 |
| Signal Lock Loop Flags | Model present |
| Yes | 101 |
| Signal Lock Loop Flags | Model present |
| Yes | 101 |
| Signal Lock Loop Flags | Model present |
| Yes | 101 |
| Signal Lock Loop Flags | Model present |
| Yes | 101 |
| Signal Lock Loop Flags | Model present |
| Yes | 101 |
| Raw Inphases (I) | Model present |
| Yes | 103 |
| Raw Inphases (I) | Model present |
| Yes | 103 |
| Raw Inphases (I) | Model present |
| Yes | 103 |
| Raw Inphases (I) | Model present |
| Yes | 103 |
| Raw Inphases (I) | Model present |
| Yes | 103 |
| Raw Quadratures (Q) | Model present |
| Yes | 103 |
| Raw Quadratures (Q) | Model present |
| Yes | 103 |
| Raw Quadratures (Q) | Model present |
| Yes | 103 |
| Raw Quadratures (Q) | Model present |
| Yes | 103 |
| Raw Quadratures (Q) | Model present |
| Yes | 103 |
| S4 | Model present |
| Yes | 103 |
| S4 | Model present |
| Yes | 103 |
| S4 | Model present |
| Yes | 103 |
| S4 | Model present |
| Yes | 103 |
| S4 | Model present |
| Yes | 103 |
| S4 | Model present |
| Yes | 103 |
| SigmaPhi | Model present |
| Yes | 103 |
| SigmaPhi | Model present |
| Yes | 103 |
| SigmaPhi | Model present |
| Yes | 103 |
| SigmaPhi | Model present |
| Yes | 103 |
| SigmaPhi | Model present |
| Yes | 103 |
| SigmaPhi | Model present |
| Yes | 103 |
| 1-millisecond I and Q Samples | Model present |
| Yes | 104 |
| CA/L1 Continuous Tracking Time | Model present |
| Yes | 104 |
| Satellite Navigation Status | Model present |
| Yes | 104 |
| Ionospheric Delays | Model present |
| Yes | 105 |
| Satellite Range Residuals | Model present |
| Yes | 105 |
| Satellite Velocity Residuals | Model present |
| Yes | 105 |
| GPS Almanac | Model present |
| Yes | 105 |
| GALILEO Almanac | Model present |
| Yes | 106 |
| QZSS Almanac | Model present |
| Yes | 106 |
| BeiDou Almanac | Model present |
| Yes | 106 |
| IRNSS Almanac | Model present |
| Yes | 106 |
| GLONASS Almanac | Model present |
| Yes | 107 |
| SBAS Almanac | Model present |
| Yes | 107 |
| GPS Ephemeris | Model present |
| Yes | 108 |
| GALILEO Ephemeris | Model present |
| Yes | 109 |
| QZSS Ephemeris | Model present |
| Yes | 110 |
| BeiDou Ephemeris | Model present |
| Yes | 110 |
| GLONASS Ephemeris | Model present |
| Yes | 111 |
| SBAS Ephemeris | Model present |
| Yes | 112 |
| IRNSS Ephemeris | Model present |
| Yes | 112 |
| GPS Raw Navigation Data | Model present |
| Yes | 113 |
| QZSS Raw Navigation Data | Model present |
| Yes | 114 |
| GLONASS Raw Navigation Data | Model present |
| Yes | 114 |
| SBAS Raw Navigation Data | Model present |
| Yes | 114 |
| GALILEO Raw Navigation Data | Model present |
| Yes | 115 |
| BeiDou Raw Navigation Data | Model present |
| Yes | 116 |
| IRNSS Raw Navigation Data | Model present |
| Yes | 117 |
| QZSS L6 Raw Navigation Data | Model present |
| Yes | 117 |
| Spectrum | Model present |
| Yes | 118 |
| Extended Spectrum | Model present |
| Yes | 118 |
| Single Spectrum | Model present |
| Yes | 118 |
| Modem Spectrum | Model present |
| Yes | 119 |
| GLONASS Delays | Model present |
| Yes | 119 |
| GLONASS Delays | Model present |
| Yes | 119 |
| GLONASS Delays | Model present |
| Yes | 119 |
| GLONASS Delays | Model present |
| Yes | 119 |
| Code Delays of Receiver RF Bands | Model present |
| Yes | 120 |
| Rotation Matrix | Model present |
| Yes | 121 |
| Rotation Matrix and Vectors | Model present |
| Yes | 121 |
| Rotation Angles | Model present |
| Yes | 121 |
| Angular Velocities | Model present |
| Yes | 121 |
| Inertial Measurements | Model present |
| Yes | 122 |
| Accelerometer and Magnetometer Measurements | Model present |
| Yes | 122 |
| Accelerometer Raw Data | Model present |
| Yes | 122 |
| Accelerometer Raw Data | Model present |
| Yes | 123 |
| Accelerometer and Gyroscope calibrated Data | Model present |
| Yes | 123 |
| Gyroscope Raw Data | Model present |
| Yes | 123 |
| Magnetometer Raw Data | Model present |
| Yes | 123 |
| Acceleration in ENU | Model present |
| Yes | 124 |
| WGS84 Coordinates of the Pole End | Model present |
| Yes | 124 |
| Local Coordinates of Antenna Phase Center | Model present |
| Yes | 124 |
| Tilt-compensated Solution (full) | Model present |
| Yes | 124 |
| Tilt-compensated Solution (short) | Model present |
| Yes | 126 |
| External Event | Model present |
| Yes | 127 |
| External Event | Model present |
| Yes | 127 |
| PPS Offset | Model present |
| Yes | 127 |
| PPS Offset | Model present |
| Yes | 127 |
| Time Offset at PPS Generation Time | Model present |
| Yes | 128 |
| Time Offset at PPS Generation Time | Model present |
| Yes | 128 |
| Heading and Pitch | Model present |
| Yes | 128 |
| Lever Arm Cartesian Position | Model present |
| Yes | 128 |
| Lever Arm Geodetic Position | Model present |
| Yes | 128 |
| Reply | Model present |
| Yes | 129 |
| Error | Model present |
| Yes | 129 |
| GPS Ionospheric Parameters | Model present |
| Yes | 129 |
| QZSS Ionospheric Parameters | Model present |
| Yes | 130 |
| BeiDou Ionospheric Parameters | Model present |
| Yes | 130 |
| IRNSS Ionospheric Parameters | Model present |
| Yes | 130 |
| Event | Model present |
| Yes | 131 |
| Message Output Latency | Model present |
| Yes | 131 |
| Wrapper | Model present |
| Yes | 131 |
| Parameters | Model present |
| Yes | 132 |
| Logging History | Model present |
| Yes | 133 |
| Antenna Information | Model present |
| Yes | 134 |
| Base Station Information | Model present |
| Yes | 134 |
| Security | Model present |
| Yes | 134 |
| Security for [rM] | Model present |
| Yes | 134 |
| CA/L1 Overall Continuous Tracking Time | Model present |
| Yes | 134 |
| Oscillator Offset | Model present |
| Yes | 135 |
| Epoch End | Model present |
| Yes | 135 |
| Data Link Status | Model present |
| Yes | 137 |
| GPS SVs Status | Model present |
| Yes | 138 |
| GALILEO SVs Status | Model present |
| Yes | 139 |
| SBAS SVs Status | Model present |
| Yes | 140 |
| GLONASS SVs Status | Model present |
| Yes | 140 |
| QZSS SVs Status | Model present |
| Yes | 141 |
| BeiDou SVs Status | Model present |
| Yes | 142 |
| IRNSS SVs Status | Model present |
| Yes | 142 |
| L-band SVs Status | Model present |
| Yes | 143 |
| Reference Station Status | Model present |
| Yes | 144 |
| RTCM/CMR Text Message | Model present |
| Yes | 144 |
| Results of RAIM Processing | Model present |
| Yes | 145 |
| Navigation Position | Model present |
| Yes | 146 |
| Position in Map Projection | Model present |
| Yes | 148 |
| Lever Arm Position | Model present |
| Yes | 150 |
| Geographic and Quasi Geographic Position | Model present |
| Yes | 151 |
| Time Residuals | Model present |
| Yes | 151 |
| Clock Offsets and Time Derivatives | Model present |
| Yes | 153 |
| Reference Station Parameters | Model present |
| Yes | 154 |
| RTK Solution Parameters | Model present |
| Yes | 155 |
| Position Covariance Matrix | Model present |
| Yes | 156 |
| Baseline | Model present |
| Yes | 157 |
| IMU Attitude Angles | Model present |
| Yes | 157 |
| IMU Measurements | Model present |
| Yes | 158 |
| IMU Integrated Antenna Velocities | Model present |
| Yes | 159 |
| Text Data | Model present |
| Yes | 159 |
| Satellite indices (obsolete USI form; compatibility section) | Model present |
| Yes | 87 |
| Spoofing/Jamming Information | Model present |
| Yes | 130 |
| Reference Epoch (obsolete) | Model present |
| Yes | 556 |
| Raw Measurements (obsolete) | Model present |
| Yes | 557 |
| Receiver Position and Velocity (obsolete) | Model present |
| Yes | 559 |
| Receiver Clock Offsets (obsolete) | Model present |
| Yes | 560 |
| GPS Raw Navigation Data (obsolete) | Model present |
| Yes | 561 |
| QZSS Raw Navigation Data (obsolete) | Model present |
| Yes | 561 |
| GLONASS Raw Navigation Data (obsolete) | Model present |
| Yes | 562 |
| RTCM 2.x Status (obsolete) | Model present |
| Yes | 562 |