Tripmate GPS
From Sfvlug
A few quick notes on the serial GPS DeLorme Tripmate. Notes compiled by G4rlic & DualDFlipFlop
Contents |
Working with Linux
Connecting
Serial port parameters for NMEA: 4800 n81, NO hardware OR software flow control. While most of the testing here was done using cat, echo and gpsd, it's possible that minicom correctly initialized the port before we did any of this.
Now, to use this bastard in Linux
The traditional tools of cat and echo are useful here, as is GPSD, sort of. Almost all of this has to be done as root, excepting telnetting to gpsd.
As it turns out, echo will raise the DTR line high to send the data, then lower it again. This trips the power reset for this particular unit. As such, the next time you cat from the serial port, you get the PWRID sentence, and then ASTRAL repeated a bunch of time. This was verified using an RS232 LED monitor.
To solve this problem, you need to use your serial port in a certain sequence:
Open the port using cat. e.g.: cat /dev/ttyUSB0 (in my case, using a USB->Serial port adapter) Send the "ASTRAL\\r" command sequence to the serial port. e.g.: echo -e "ASTRAL\\r" > /dev/ttyUSB0
That should correctly initialize the unit. Note the -e to interpret escape sequences, I'm reasonably sure this is necessary.
Now for getting it to work with gpsd.... This is tricky, I don't think we've been terribly successful. But in short, what we've done is cat the serial port and pipe it into gpsd, telling it to use /dev/stdin and not to daemonize. e.g.: `cat /dev/ttyUSB0 | gpsd -N -f /dev/stdin' & `echo -e "ASTRAL\\r" > /dev/ttyUSB0'
When telnetting manually to the gpsd port, I was able to issue 'r\ ' and 'd\ ' once or twice, and occasionally get a response!
What's important when testing this stuff though is using that serial port line monitor. The pulsewidth of the RD line's LED will tell you whether or not the unit is sending NMEA data at you, or just ASTRAL. (e.g.: long width = NMEA, short width = ASTRAL) Also, if you see the DTR line blink, you need to echo the ASTRAL\\r command to the serial port.
An example string of data spit out by the Tripmate
$PRWIRID,12,01.05,07/29/96,0003,*46 $GPRMC,235947,V,3347.8484,N,11801.1729,W,0.000,0.0,120895,13.8,E*47 $PRWIZCH,00,0,00,0,00,0,00,0,00,0,00,0,00,0,00,0,00,0,00,0,00,0,00,0*4D ASTRAL ASTRAL ASTRAL ASTRAL ASTRAL ASTRAL //Entered ASTRAL and hit the carriage return ASTRAL $GPRMC,000003,V,3403.8843,N,11840.7148,W,0.000,0.0,130895,14.0,E*46 $PRWIZCH,15,0,15,0,16,0,15,0,15,0,15,0,16,0,15,0,15,0,15,0,15,0,15,0*4D $GPRMC,000004,V,3403.8843,N,11840.7148,W,0.000,0.0,130895,14.0,E*41 $PRWIZCH,15,0,15,0,16,0,15,0,15,0,15,0,16,0,15,0,15,0,15,0,15,0,15,0*4D $GPRMC,000005,V,3403.8843,N,11840.7148,W,0.000,0.0,130895,14.0,E*40 $PRWIZCH,15,0,15,0,16,0,15,0,15,0,15,0,16,0,15,0,15,0,15,0,15,0,15,0*4D $GPRMC,000006,V,3403.8843,N,11840.7148,W,0.000,0.0,130895,14.0,E*43 $PRWIZCH,15,0,15,0,16,0,15,0,15,0,15,0,16,0,15,0,15,0,15,0,15,0,15,0*4D $GPRMC,000007,V,3403.8843,N,11840.7148,W,0.000,0.0,130895,14.0,E*42 $PRWIZCH,15,0,15,0,16,0,15,0,15,0,15,0,16,0,15,0,15,0,15,0,15,0,15,0*4D $PRWIZCH,15,0,15,0,16,0,15,0,15,0,15,0,16,0,15,0,15,0,15,0,15,0,15,0*4D $PRWIZCH,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0*4D $GPRMC,000009,V,3403.8843,N,11840.7148,W,0.000,0.0,130895,14.0,E*4C $PRWIZCH,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0*4D $GPRMC,000010,V,3403.8843,N,11840.7148,W,0.000,0.0,130895,14.0,E*44 $PRWIZCH,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0*4D $GPRMC,000011,V,3403.8843,N,11840.7148,W,0.000,0.0,130895,14.0,E*45 $PRWIZCH,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0*4D $GPRMC,000012,V,3403.8843,N,11840.7148,W,0.000,0.0,130895,14.0,E*46 $PRWIZCH,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0*4D $GPRMC,000013,V,3403.8843,N,11840.7148,W,0.000,0.0,130895,14.0,E*47 $PRWIZCH,16,0,17,0,17,0,17,0,16,0,17,0,17,0,17,0,17,0,17,0,16,0,17,0*4C $GPRMC,000014,V,3403.8843,N,11840.7148,W,0.000,0.0,130895,14.0,E*40 $PRWIZCH,16,0,17,0,17,0,17,0,16,0,17,0,17,0,17,0,17,0,17,0,16,0,17,0*4C $GPRMC,000015,V,3403.8843,N,11840.7148,W,0.000,0.0,130895,14.0,E*41 $PRWIZCH,16,0,17,0,17,0,17,0,16,0,17,0,17,0,17,0,17,0,17,0,16,0,17,0*4C $GPRMC,000016,V,3403.8843,N,11840.7148,W,0.000,0.0,130895,14.0,E*42 $PRWIZCH,16,0,17,0,17,0,17,0,16,0,17,0,17,0,17,0,17,0,17,0,16,0,17,0*4C $GPRMC,000017,V,3403.8843,N,11840.7148,W,0.000,0.0,130895,14.0,E*43 $PRWIZCH,16,0,17,0,17,0,17,0,16,0,17,0,17,0,17,0,17,0,17,0,16,0,17,0*4C $GPRMC,000018,V,3403.8843,N,11840.7148,W,0.000,0.0,130895,14.0,E*4C $PRWIZCH,17,0,18,0,18,0,18,0,17,0,17,0,17,0,18,0,17,0,17,0,17,0,17,0*4D $GPRMC,000019,V,3403.8843,N,11840.7148,W,0.000,0.0,130895,14.0,E*4D $PRWIZCH,17,0,18,0,18,0,18,0,17,0,17,0,17,0,18,0,17,0,17,0,17,0,17,0*4D
Working with Windows
Windows and the DeLorme software
So here is the deal... The Tripmate comes with some software, "Street Atlas". This particular device came with version 4.0, but there is a problem... All versions up to 6.0 had a Y2K bug, and only Street Atlas 5 and 6 where patched. According to some, the firmware on the actual Tripmate isn't Y2K fixed. That is why the unit reports 1995/8/12 23:59:00 (UTC). However there was a shareware software "GEM", which I could use the GPS tracking feature which reported at first the same 1995 date, but updated to system local time. The software has a monitor mode which is much more verbose than the Street Atlas one. Here is an example of what the device reported:
------------------------------------ Date / Time 1995/8/12 23:59:00 (UTC) //This updates to local time in under 5 minutes ------------------------------------ Lat / Lon /Alt No Fix //I got this to show data once ------------------------------------ Satellites PRN AZM ELV SS USED [06] 342 72 42 No [30] 204 44 00 No [21] 277 42 41 No [10] 046 36 39 No [18] 205 26 00 No [29] 113 22 00 No [26] 124 18 00 No [05] 174 15 00 No [07] 309 10 00 No [16] 325 05 00 No [02] 069 04 00 No [25] 281 00 00 No
IN THE END
Since the only version I have for Windows happens to be version 4, I wasn't able to really get far with tracking. I would like to test this device with "GPSy" however I don't want to spend any money, so oh well. Perhaps in the future we can turn the NMEA data into something useful. For now, I would rather stick to the USB GPS units. Another thing that would be nice to toy around with this unit is the external power source project that others have hacked up. Perhaps when we get some free time.