u-blox ZED-F9P Interface Description - Manual
Advance Information
The checksum algorithm used is the 8-Bit Fletcher Algorithm, which is used in the TCP standard (
).
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 implementing 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
}
• After the loop, the two U1 values contain the checksum, transmitted after the Message, which conclude the
Frame.
5.5 UBX Message Flow
There are certain features associated with the messages being sent back and forth:
5.5.1 Acknowledgement
When messages from the class CFG are sent to the receiver, the receiver will send an "acknowledge" (
) or a "not acknowledge" (
) message back to the sender, depending on whether or
not the message was processed correctly.
Some messages from other classes (e.g. LOG) also use the same acknowledgement mechanism.
5.5.2 Polling Mechanism
All messages that are output by the receiver in a periodic manner (i.e. messages in classes MON, NAV and
RXM) and Get/Set type messages, such as the configuration messages in the CFG class, can also be polled.
The UBX protocol is designed so that messages can be polled by sending the message required to the receiver
but without a payload (or with just a single parameter that identifies the poll request). The receiver then
UBX-18010854 - R04
Advance Information
Page 30 of 259