Messages

The receiver handles incoming and outgoing NovAtel data in three different message formats: Abbreviated ASCII, ASCII and Binary. This allows for a great deal of versatility in the way the OEM7 and SMART2 receivers can be used. All NovAtel commands and logs can be entered, transmitted, output or received in any of the three formats. The receiver also supports RTCMV3, NOVATELX and NMEA format messaging.

When entering an ASCII or abbreviated ASCII command to request an output log, the message type is indicated by the character appended to the end of the message name. ‘A’ indicates the message is ASCII and ‘B’ indicates binary. No character means the message is Abbreviated ASCII. When issuing binary commands, the output message type is dependent on the bit format in the message’s binary header (refer to Binary).

Table: Field Type below, describes the field types used in the description of messages.

Field Type

Type

Binary Size (bytes)

Description

Char

1

The char type is an 8-bit integer in the range -128 to +127. As a binary value, a two's compliment format is used. This integer value may be the ASCII code corresponding to the specified character. In ASCII or Abbreviated ASCII this comes out as an actual character.

UChar

1

The uchar type is an 8-bit unsigned integer. Values are in the range from +0 to +255. In ASCII or Abbreviated ASCII this comes out as a number.

Short

2

The short type is 16-bit integer in the range -32768 to +32767. As a binary value, a two's compliment format is used.

UShort

2

The same as short except it is not signed. Values are in the range from +0 to +65535.

Long

4

The long type is 32-bit integer in the range -2147483648 to +2147483647. As a binary value, a two's compliment format is used.

ULong

4

The same as long except it is not signed. Values are in the range from +0 to +4294967295.

Double

8

The double type contains 64-bits: 1 for sign, 11 for the exponent and 52 for the mantissa. Its range is ±1.7E308 with at least 15 digits of precision. This is IEEE 754.

Float

4

The float type contains 32-bits: 1 for the sign, 8 for the exponent and 23 for the mantissa. Its range is ±3.4E38 with at least 7 digits of precision. This is IEEE 754.

Enum

4

A 4-byte enumerated type beginning at zero (an unsigned long). In binary, the enumerated value is output. In ASCII or Abbreviated ASCII, the enumeration label is spelled out.

GPSec

4

This type has two separate formats dependent on whether you requested a binary or an ASCII format output. For binary, the output is in milliseconds and is a long type. For ASCII, the output is in seconds and is a float type.

Hex

n

Hex is a packed, fixed length (n) array of bytes in binary but in ASCII or Abbreviated ASCII is converted into 2 character hexadecimal pairs.

Hex Ulong

4

An unsigned, 32-bit integer in hexadecimal format. Values are in the range from +0 to +4294967295.

String

n

String is a variable length array of bytes that is null-terminated in the binary case and additional bytes of padding are added to maintain 4-byte alignment. The maximum byte length for each String field is shown in the row in the log or command tables.

Byte Arrangements

Figure: Byte Arrangements shows the arrangement of bytes, within each field type, when used by IBM PC computers. All data sent to or from the OEM7 and SMART2 receivers is ordered least significant bit (LSB) first (little-endian). This is opposite to the most significant bit first (big-endian) ordering that is shown in Figure: Byte Arrangements. Data is then stored in the receiver LSB first. For example, in char type data, the LSB is bit 0 and the most significant bit (MSB) is bit 7. See Table: Channel Tracking Status for a more detailed example.