Вы находитесь на странице: 1из 5

PROGRAMS TO LOG AND USE RAW DATA FROM SOME GARMIN HANDHELDS.

(GPS12, 12XL, II+, III+, Etrex, Emap) ------------------------------------------------------------------Usual Disclaimer: These program are supplied as is. No warrantee is given or implied. Use them at your own risk. The undocumented commands that these programs use may cause corruption or lost of the data stored in your GPS. Garmin is a registered trademark of Garmin Corporation. Garmin Corporation takes no warranty for problems resulting in using products not sold by Garmin Corporation. This is specially true for this software. -------------------------------------------------------------------**************************************************************** CONTENTS ***************************************************************** There are two different packages, one for Linux, the other for Windows. The Linux version uses some modified functions from the Jeeps library for the low level serial communications. Source code is provided in both cases (VC++ for Windows, gcc for Linux). Each package contains: * async.c and async.exe: async event logger for the GPS12 (or XL). * gar2rnx.c and gar2rnx.exe: sources and executable for the garmin to rinex translator. It also works as a parser to study async messages. * README file: this file. ----------------------------------------------------------------------The latest versions are 1.23 (for async) and 1.48 (for gar2rnx). They include the ability to log Doppler shift data and some changes in how the serial communications are handled with respect to the earlier published version (async 1.10). I do hope that these modifications will avoid (or reduce) some problems that some would-be users have brought to my attention (thanks to all of them, BTW). However, as I only can test the new code on my trusty GPS12 (on which it already worked anyway), and given my lack of expertise on serial IO programming, I'm mantaining the oldish versions in this page so you can fall back to them if you find that my latest improvements don't work for you. ***************************************************************** USAGE of the ASYNC utility ***************************************************************** This info can be obsolete. You can get the latest help by typing async -h: ----------------------------------------------------------------* Async Software to log raw GPS data from some Garmin handhelds * * Version 1.20 Copyright 2000,2001 Antonio Tabernero Galan * ----------------------------------------------------------------Usage: async or async -h: shows this help async command [options]

------------------- ASYNC COMMANDS -----------------------------async async async async async -c : only checks port availability -i : only tries to get the GPS ID (default) -a 0xnnnn : Enable async events with hex mask nnnn -r 0xnnnn : Sends request type nnnn. -rinex : by enabling only those records relevant to the generation of a RINEX file you avoid missing observations (that can happen when there are too many async events coming). Use this option when you plan to generate a RINEX file from the collected data async -doppler: if you're using the latest version (1.2 or newer) of async you can get Doppler shift data in addition to pseudoranges and phase using this flag instead of -rinex. Be warned that since there is now more data coming from the serial port you might start missing some observations. -------------------- ASYNC OPTIONS ---------------------------------------

async -p port_name : Selects serial comm port (comx, ttySx) Default is com1 (Win) or ttyS0 (Linux) async -t ttt : Sets log time to ttt seconds. Default 30 sec. async -o filename : Save received packets in filename By default the output goes to week_second.g12 --------------------------------------------------------------------------The usual procedure would be to find an unused comm port using async -p com1 -c or async -p com2 -c (ttyS0,ttyS1 in Linux) Once you find the port, connect your GPS and check if the program sees it async -p comN -i If your GPS is identified you can start logging data using the async -a -r -rinex or -doppler commands. ---------------------------------------------------------------------------********************************************************************** USAGE OF THE GAR2RNX UTILITY ********************************************************************** This info can be obsolete. You can get the latest help by typing gar2rnx (without arguments): ----------------------------------------------------------------Gar2rnx (Garmin to Rinex) generates rinex2 compliant files from data obtained with some Garmin handhelds using the async logger ----------------------------------------------------------------* Version 1.30 Copyright 2000,2001 Antonio Tabernero Galan * ----------------------------------------------------------------Usage: gar2rnx g12file [-stat] [-parse options] [-rinex options] g12file is a file generated using the async logger utility. It's the only mandatory argument. On this data file,

the gar2rnx program can perform three basic functions, and those can have its own options ------------------------------------------------------------------stat : shows statistics about the number, Identity byte and length of received packets ------------------------------------------------------------------parse: this was the original functionality, designed to help us interprete the async messages sent by the GPS12. List of options that can be activated along with -parse: -sats: shows records 0x1a (Track status, signal, elevation, etc.) Default -all : displays info about all sats. Default. -s nn: for those fields with a SV ID field, displays only those records regarding the satellite with PRN nn -r 0xr1 0xr2 ... : displays info about records 0xr1 0xr2 (hexadecimal) The fields (more or less) known are interpreted. Unknown bytes are simply listed. -dif : presents some additional info about the increment of several fields in records 0x38 and 0x16 (Obsolete) ------------------------------------------------------------------rinex: this is the default functionality (hence the change of name of the program from parser to gar2rnx). Since it's the default you actually don't have to type it. List of options that can be used along with -rinex: -etrex -reset -f : when using an Etrex (or Emap) to log your data, you should use this option to obtain a proper Rinex file. : reset the time-tags to the nearest full second modifying the observables accordingly : Instead of sending the RINEX file to standard output (default) it creates a file using the RINEX conventions

------------------------------------------------------------------start tow: starts the generation of the RINEX file from tow (week_seconds). By default, it starts from the first record logged in g12file -stop tow: don't include in the RINEX file those records with a time-tag later than tow (week_seconds) -time tt : only tt seconds of observations go into the RINEX file -int tt : only those records from g12file that are time-tagged with a multiple of tt seconds go into the RINEX file -----------------------------------------------------------------Observables dumped into the RINEX file: By default, gar2rnx will output pseudoranges and L1 phases. These observables can be modified using the following options: -code -phase -doppler: eliminate the corresponding observables from the default set (code+phase) +code +phase +doppler: add the corresponding observables to the default set (code+phase) For instance: -phase : will output only pseudoranges

+doppler : will dump code, phase and doppler -code +doppler: will output phase and doppler ------------------------------------------------------------------date YYYY MM DD: date of the first observation (year month day) You should only use this option if you get an error message telling you that the date couldn't be obtained from the binary file. -xyz X Y Z : our approximate position in ECEF XYZ coordinates (meters). -llh lat long height: same but using lat-long (deg) and height (mt) (WGS84) There are two situations where the above options are to be used: * When no proper position could be obtained from the binary file. Wait until you see an error message telling you so when running gar2rnx * When you want to use that rinex file as data from a reference station and you know the coordinates of your observing site with a better precision than a navigation solution (+/- 10 mt) ---------------------------------------------------------------area name: Name of the station or area where observations are taken. If the option -f is given, the first 4 chars of this name are used to create the RINEX filename. -mark name: Marker name in the Rinex file. Name used to identify a particular point of measurement. -----------------------------------------------------------------****************************************************************** GENERATION OF RINEX FILES ****************************************************************** Simply put, the procedure to obtain a RINEX file is: * Power on your GPS12 with a good view of the sky. * Wait until a 3D fix is obtained (if you don't, the program will). * Run the async logger for a while with the -rinex (or -rinex2) option: async -p your_port -rinex -t 300 -o bindata.g12 that would generate a file bindata.g12 after a five minute logging. * Run the gar2rnx (GARmin to RiNeX) program and redirect the output to a file: gar2rnx bindata.g12 > data.00o Hopefully, the created file data.00o will be an observation RINEX file. * DGPS post-processing of raw data involves the comparison with data generated by other receiver at the SAME time. You could use another G12 or you can get data collected at a reference station nearby. American users will find this address quite convenient:

http://www.ngs.noaa.gov/CORS/Data.html For European users there is EUREF: ftp://igs.ifag.de/gpsdata/ * Also you need either a broadcast or precise ephemeris corresponding to the date you logged your data. You can find those in: http://www.ngs.noaa.gov/CORS/Data.html ftp://igs.ifag.de/ORBITS/ ftp://ftp.navcen.uscg.mil/GPS/precise/pebinary/ * Postprocess the RINEX file with your prefered public domain postprocessing software. I have used GeoGenius. It's not public domain, but you can get a functional evaluation demo from: http://www.terrasat.de/

Вам также может понравиться