Call me back | My basket | Checkout | Add to email list

     You are here: Website » Knowledge base

« back to website

Legacy / UBLOXDataFormat

UBLOX Data format

All available uBlox messages can be configured at rates of up to 20Hz.

All multi-byte values are ordered in Little Endian manner, unless mentioned otherwise. All floating point values are transmitted in IEEE754 single or double precision. A technical Description of the IEEE754 format can be found in the AnswerBook from the ADS1.x toolkit.

The following table gives information about the various values:

uBlox values
Short Type Size (bytes) Comment Min/Max Res
U1 Unsigned char 1   0..255 1
I1 Signed char 1 2’s complement -128..127 1
U2 Unsigned short 2   0..65535 1
I2 Signed short 2 2’s complement -32768..32767 1
U4 Unsigned long 4   0..4’294’967’295 1
I4 Signed long 4 2’s complement -2’147’483’648..2’147’483’647 1
R4 IEEE 754 single precision 4   -1*2^+127 .. 2^+127 ~ value * 2^-24
R8 IEEE 754 double precision 8   -1*2^+1023 .. 2^+1023 ~ value * 2^-53
CH ASCII/ISO 8859.1 encoding 1      

The checksum is calculated over the packet, starting and including the CLASS field, up until, but excluding, the Checksum Field:


The checksum algorithm used is the 8-Bit Fletcher Algorithm, which is being used in the TCP standard (RFC 1145). This algorithm works as follows:

Buffer[N] contains the data over which the checksum is to be calculated.

The two CK_ values are 8-Bit Unsigned Integers, only! If you implement it with larger-sized integer values, make sure to Mask both CK_A and CK_B with 0xFF after both operations in the loop.

CK_A = 0, CK_B = 0

For(I=0;I<N;I++)

{

    CK_A = CK_A + Buffer[I]

    CK_B = CK_B + CK_A

}

Page last modified on June 24, 2015, at 06:44 AM