GARMIN 12XL ASYNCHRONOUS BINARY TO RINEX

Dennis Milbert

Updated:  2-may-02

This program, g12rnx, takes an asynchronous binary file from the garbin logger, and converts the 0x38 message contents into a RINEX file. Its binary in, and ASCII (RINEX) out.

This page is dedicated to the work of Professor Antonio Tabernero Galán, who built freeware for "obtaining raw data from some Garmin units".

Contents




Operation

The program operates in the DOS window. Alternatively, you can simply run "g12rnx.exe" with a double click or with "Run..." in your "Start" menu. (I use the DOS window myself.)

One file is needed for input. One file is generated as output. The names are fixed. The files must be in the subdirectory where you are working. The program will also ask you for the GPS week #. This is necessary, because the 0x38 messages do not contain the GPS week.

Input File:

garbin.bin -- Binary format. This is the asynchronous binary file from the garbin logger. This file includes the full binary output, including Garmin binary protocol headers and trailers, "stuffed" DLE's, and checksums. An example 12XL async file is garbin.bin.

Output File:

g12xl.rnx -- ASCII, RINEX format. A RINEX observation file containing the pseudorange and carrier phase information in the 0x38 messages. A generic header is also constructed -- edit those elements you wish to change (like station ID and approximate position). An example converted 12XL RINEX is g12xl.rnx.

Discussion:

The program decimates the input data into one epoch per 5 seconds. Also, it corrects for the sizable GPS receiver clock drift using the fractional part of the timestamp.

The carrier phase is subject to numerous half-wavelength (L1) cycle slips. These are most evident if you log a slug of data, process it with tdxl, and plot the tdxl.res residual file. You will see half-wavelength, full wavelength, 1.5 wavelength, ..... residuals. Still, it is great fun. It's so interesting to see carrier phase.


Asynchronous Binary

This program interprets undocumented and unsupported messages (0x38, in particular). These were only created for testing purposes and could be discontinued. This program is supplied as is. No warranty is given or implied. Use at your own risk. Garmin is a registered trademark of Garmin Corporation.

Here is the basic Garmin communication protocol document. The asynchronous messages are encased by this protocol. For more information on the asynchronous messages, I can highly recommend "obtaining raw data from some Garmin units". The 0x38 message seems to contain pseudorange, full and fractional carrier phase, signal strength, and timestamp. But, of course, no guarantee, since the messages are undocumented.


RINEX Format

The RINEX version 2.10 format (25jan2002) can be obtained from the International GPS Service and the 8jun2001 version from the National Geodetic Survey.


Shortcomings

This is "no frills" software. There are no warranties of any sort. No Windows GUI. Just the core function.

You must have the input file with the name garbin.bin. The program will overwrite any existing "g12xl.rnx" file in the working directory.


Source Code and Binary Executable

The Fortran source code is g12rin.for.

The compiled executable (zipped) is g12rin.exe.


Links to Other Pages

This is the "kewlest" site. Salute!

These are other softwares for async binary logging and translation.




To Contact Me

My e-mail user name is the first initial of my first name followed by all the letters of my last name (see above). My ISP is "comcast", and it is a "dot-net", not a "dot-com". Sorry for not spelling out my e-mail address, but I try to keep the spam-bots from fingering me. But, just so the spam-bots don't feel left out, they can always go to abuse@comcast.net


Back To Home