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".
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!
Professor Antonio Tabernero Galán: "Obtaining raw data from some Garmin units".
These are other softwares for async binary logging and translation.
Michal Hobot: "gar2rnx in Java".
Chris O'Byrne: "GarRec".
IESSG: "Gringo".
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