decoder program?

Q&A forumdecoder program?
skypuppy asked 3 months ago

Thanks VERY much for the sample config files for base and rover. 
Does anyone know of a program to decode files / messages like those in the config files?  Would love to see what’s going on.  Hex to ASCII in Notepad++ was no help.  🙂
 

4 Answers

I programmed the Ublox Configure function for ESPrtk. In my opinion, you don’t need decode program, just read the datasheet about its configuration protocol.
If you want Enocde, the easiest way is to use their U-Center.
For example: 
Open U-Center and choose CFG-CFG. Select Show Hex Tonggle and you will see the configuration code.
Its full form is: [ B5 62 06 09 0D 00 00 00 00 00 FF FF 00 00 00 00 00 00 03 1D AB ]
You need to Copy the 13 Payload bytes behind the first 6 bytes (B5 62 06 09 0D 00) .
They are [ 00 00 00 00 FF FF 00 00 00 00 00 00 03 ].
You can then add to your configuration file. Please add to the end of the file.

  (Full Size)
 
If you want to Decode, look in the documentation for the configuration protocol.
Here is the link for F9P : https://www.u-blox.com/sites/default/files/u-blox_ZED-F9P_InterfaceDescription_%28UBX-18010854%29.pdf
Here is the link for M8P:  https://www.u-blox.com/sites/default/files/products/documents/u-blox8-M8_ReceiverDescrProtSpec_%28UBX-13003221%29_Public.pdf

/*The structure of a basic UBX Frame is shown in the following diagram.
_________________________________________________________________

< Ubx_SYNC1><Ubx_SYNC2> + <CLASS>+<ID> +<LENGTH_PAYLOAD>+<PAYLOAD> <Checksum_A> <Checksum_B>
< 1 byte>< 1 byte> +< 1 byte>+< 1 byte> +< 2 byte>+ < n byte> +< 1 byte>+< 1 byte>
_________________________________________________________________
• < Ubx_SYNC1><Ubx_SYNC2> : Every Frame starts with a 2-byte Preamble consisting of two synchronization characters: 0xB5
0x62.
• <CLASS> : A 1-byte Message Class field follows. A Class is a group of messages that are related to each
other.
• <ID> : A 1-byte Message ID field defines the message that is to follow.
•<LENGTH_PAYLOAD> : A 2-byte Length field follows. The length is defined as being that of the payload only. It does not
include the Preamble, Message Class, Message ID, Length, or CRC fields. The number format of
the length field is a Little-Endian unsigned 16-bit integer.
• <PAYLOAD> : The Payload field contains a variable number of bytes.
• <Checksum_A> <Checksum_B> : The two 1-byte CK_A and CK_B fields hold a 16-bit checksum whose calculation is defined below.

Checksum Range : <CLASS>+<ID> +<LENGTH_PAYLOAD>+<PAYLOAD>
UBX Frame Structure.png
 
For Example, Go to page #37 , you will see description for CFG-ANT ( Antenna Control Settings ) :
Frame for ANT.png

skypuppy answered 3 months ago

I think I do need a decoder, in order to understand what’s going on in these expensive gps’s.

skypuppy answered 3 months ago

Guess I’ll have to write one.

Sounds great . Besides, the new function CFG-VALGET will also help you in decode and decompose the stored data.