summaryrefslogtreecommitdiff
path: root/geography/gpsbabel/patches/patch-af
diff options
context:
space:
mode:
authorgdt <gdt>2013-03-16 18:52:58 +0000
committergdt <gdt>2013-03-16 18:52:58 +0000
commiteed96184b20503919d842cf5b5789390a9799e67 (patch)
treecd1976918e67fcccc0e22b574bffe8c994a2f6d6 /geography/gpsbabel/patches/patch-af
parent1628c2bd0ed373f69d4369aa696d7acca91a7c5e (diff)
downloadpkgsrc-eed96184b20503919d842cf5b5789390a9799e67.tar.gz
Update to 1.4.4.
The patch to help serial garmins with prolific adaptors is retained, but it's perhaps a bit dicey because upstream code has changed a bit. Upstream NEWS content from web pages: 1.4.4: Add MotoActiv format. Thank you, Dan Brown. Kris Beevers contributes Lowrance USR v4 support. Allow EXIF to represent altitude below MSL. Allow reading known invalid (sigh) data in NMEA, such as that written by Canon Camera/GPS devices, probably including: Canon GPS shoes GP-E1 GP-E2 Powershot models with GPS capabilities S100 SX260 HS D20 Enhance Garmin Fit support for latest firmware. Skytraq fixes. Steve Eckert adds line styling to the National Geographic TPO3 reader. Erik Krause improves German translations. OS X Mountain Lion fixes. 1.4.3 beta: Fix translations for GUI on Windows. German, Italian, Hungarian, Russian, and a few others should now work. If your language is there, please contribute a translation. It's easy and doesn't require you to program. A new writer for geocaches in KML (Google Earth) provide better visualizations of high-density areas. Many KML improvements including validation fixes, aviations units, fixes for min/max alt. Adds iblue757 GPS support. Add support for Holux M-1200E GPS. Add the Minihomer variant of Skytraq. Add FlySight GPS support. Add Garmin FIT support. Add Land Air Sea format for GPS Tracking Key Pro. Many Navicache improvements. Fixes to track filter to not mangle tracks recorded at low speed when segement filter is applied.
Diffstat (limited to 'geography/gpsbabel/patches/patch-af')
-rw-r--r--geography/gpsbabel/patches/patch-af70
1 files changed, 35 insertions, 35 deletions
diff --git a/geography/gpsbabel/patches/patch-af b/geography/gpsbabel/patches/patch-af
index bce878d66e9..16e10cd9294 100644
--- a/geography/gpsbabel/patches/patch-af
+++ b/geography/gpsbabel/patches/patch-af
@@ -1,16 +1,16 @@
-$NetBSD: patch-af,v 1.3 2010/07/05 00:05:23 gdt Exp $
+$NetBSD: patch-af,v 1.4 2013/03/16 18:52:58 gdt Exp $
From Giles Lean, who places it in the public domain. Workarounds for
problems with buggy USB serial adapators. Not applied by upstream
2009-02-21 because it's too dangerous to work around problems without
understanding them.
---- jeeps/gpsread.c.orig 2010-03-26 03:09:20.000000000 +0000
+--- jeeps/gpsread.c.orig 2011-07-26 01:56:33.000000000 +0000
+++ jeeps/gpsread.c
-@@ -103,6 +103,36 @@ int32 GPS_Serial_Packet_Read(gpsdevh *fd
+@@ -98,6 +98,36 @@ int32 GPS_Serial_Packet_Read(gpsdevh* fd
+ GPS_Diag("%02x ", u);
- if(!len)
- {
+ if (!len) {
+ /*
+ * Missed DLE characters have been observed with Geko
+ * 201 and Legend GPSRs with Prolific USB-serial
@@ -41,35 +41,35 @@ understanding them.
+ goto dle_missed;
+ }
+
- if(u != DLE)
- {
- (void) fprintf(stderr,"GPS_Packet_Read: No DLE. Data received, but probably not a garmin packet.\n");
-@@ -113,6 +143,7 @@ int32 GPS_Serial_Packet_Read(gpsdevh *fd
- continue;
- }
+ if (u != DLE) {
+ (void) fprintf(stderr,"GPS_Packet_Read: No DLE. Data received, but probably not a garmin packet.\n");
+ (void) fflush(stderr);
+@@ -107,6 +137,7 @@ int32 GPS_Serial_Packet_Read(gpsdevh* fd
+ continue;
+ }
+dle_missed:
- if(len==1)
- {
- (*packet)->type = u;
-@@ -215,6 +246,20 @@ int32 GPS_Serial_Get_Ack(gpsdevh *fd, GP
-
- if(*(*rec)->data != (*tra)->type)
- {
-+ /*
-+ * When used with a buggy Prolific USB-serial converter the
-+ * calling sequence GPS_A000() -> GPS_Get_Ack() sometimes
-+ * returns data != type causing this routine to fail and the
-+ * following error message to be emitted:
-+ *
-+ * GARMIN:Can't init /dev/cu.usbserial
-+ *
-+ * Manually retrying usually works, and subsequent
-+ * investigation shows that the call that fails is made from
-+ * GPS_Init() which in this case is GPS_Serial_Init(). Simply
-+ * retrying the call a workaround: see note and retry loop in
-+ * gpsapp.c:GPS_Init().
-+ */
- gps_error = FRAMING_ERROR;
- return 0;
- }
+ if (len==1) {
+ (*packet)->type = u;
+ ++len;
+@@ -130,6 +161,20 @@ int32 GPS_Serial_Packet_Read(gpsdevh* fd
+ if (u == ETX)
+ if (isDLE) {
+ if (p-(*packet)->data-2 != (*packet)->n) {
++ /*
++ * When used with a buggy Prolific USB-serial converter the
++ * calling sequence GPS_A000() -> GPS_Get_Ack() sometimes
++ * returns data != type causing this routine to fail and the
++ * following error message to be emitted:
++ *
++ * GARMIN:Can't init /dev/cu.usbserial
++ *
++ * Manually retrying usually works, and subsequent
++ * investigation shows that the call that fails is made from
++ * GPS_Init() which in this case is GPS_Serial_Init(). Simply
++ * retrying the call a workaround: see note and retry loop in
++ * gpsapp.c:GPS_Init().
++ */
+ GPS_Error("GPS_Packet_Read: Bad count");
+ gps_errno = FRAMING_ERROR;
+ return 0;