From 082da0127c6b7d7fbbde6cd6a3a0ec858ce9c11d Mon Sep 17 00:00:00 2001 From: Greg Lonnon Date: Wed, 7 Dec 2011 22:19:34 +0000 Subject: [PATCH] fixed the gps parser to take mapmyride routes Fixes #533. --- src/GpxParser.cpp | 13 +++++++++---- src/test/rides/A_ride_mapped_on_11_22_2011.gpx | 2 ++ 2 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 src/test/rides/A_ride_mapped_on_11_22_2011.gpx diff --git a/src/GpxParser.cpp b/src/GpxParser.cpp index 83a594cce..7e0040b70 100644 --- a/src/GpxParser.cpp +++ b/src/GpxParser.cpp @@ -184,11 +184,16 @@ bool double deltaLat = lat - prevPoint->lat; // Smart Recording High Water Mark. - if ((isGarminSmartRecording.toInt() == 0) || (deltaSecs == 1) || (deltaSecs >= GarminHWM.toInt())) { - // no smart recording, or delta exceeds HW treshold, just insert the data + if ((isGarminSmartRecording.toInt() == 0) || + (deltaSecs == 1) || + (deltaSecs >= GarminHWM.toInt()) || + (secs == 0)) { + + // no smart recording, or delta exceeds HW treshold, or no time elements; just insert the data rideFile->appendPoint(secs, 0, 0, distance, speed, 0,0, alt, lon, lat, 0, 0.0, RideFile::noTemp, 0); - } - else { + + } else { + // smart recording is on and delta is less than GarminHWM seconds. for(int i = 1; i <= deltaSecs; i++) { double weight = i/ deltaSecs; diff --git a/src/test/rides/A_ride_mapped_on_11_22_2011.gpx b/src/test/rides/A_ride_mapped_on_11_22_2011.gpx new file mode 100644 index 000000000..867936dd4 --- /dev/null +++ b/src/test/rides/A_ride_mapped_on_11_22_2011.gpx @@ -0,0 +1,2 @@ + +