From Gerhard:
* gtm.cc MSVC compiler limit
Converted "else if" structure to array with the following perl snippet, so not hand coded
perl -ne 'BEGIN{$i=-1; $n=0} $t=0; if(/\bn\s*\<\s*(\d+)/){$n2=$1;} if(/indatum\s*=\s*(-?\d+).*\/\*\s*(.*)\*\//){$i=$1;$c=" : $2"; $t=1;}elsif(/\{\s*\}/){$i=-1;$c=""; $t=1;} if($t){print " ";while($n<$n2){print " $i,";$n++;}print " // < $n2$c\n"}' gtm.c.snippet
* QString toAscii() removed in Qt5.1
Replaced use of toAscii() with toLatin1() so Qt5.1 can be used with GPSBabel (commandline, GUI not tested)
Note that gtm.cc file contains "datum" patch too.
Three parts. The second/third part is normally inactive in the code.
gtrnctr.c
Average Cadence in laps was handled as floats with one decimal but the xml format specifies char.
Some programs therefore failed to parse the generated xml
CadenceValue_t in http://www8.garmin.com/xmlschemas/TrainingCenterDatabasev2.xsd
jeeps
Cadence is invalid if it is 255 in Garmin USB. This is handled for track points but not for lap data.
garmin.c
(inactive) function read_lap_as_track() was not updated to the new string handling
Another try at xml_parse_time - leave the parsing to us, but delegate the
storage to QDateTime. This is ugly, but is here to coddle Centos' ancient
version of Qt (4.6.2)...
robertlipe [Mon, 17 Jun 2013 05:12:58 +0000 (05:12 +0000)]
Move more of times into accessors, more modern times.
Many of the remaining explicit accesses to wpt->microseconds aren't actually
using it as microseconds at all, but rather as a generic integer. :-(
robertlipe [Mon, 17 Jun 2013 02:07:08 +0000 (02:07 +0000)]
A ridiculously large commit as a checkpoint in refactoring the time_t + an int
for microseconds into a QDateTime to give us sensible interface to time
beyond 1970 and 2032 and, more topically, more unified handling of sub-second
time now that 10Hz GPSes aren't uncommon.
This gets almost all of the accesses to wpt->creation_time into accessors
(with overloads for int/time_t and QDateTime) and eliminates many of
the problematic direct accesses to wpt->microseconds.
robertlipe [Mon, 10 Jun 2013 01:32:59 +0000 (01:32 +0000)]
Add, test code for reading speed from Garmin Training Center files as this
reportedly contains additional filtering/smoothing over pure
great-circle/timestamps as collected by GPS. (Perhaps distance is measured
by wheel sensors, for example...)
robertlipe [Sun, 9 Jun 2013 23:16:41 +0000 (23:16 +0000)]
garmin_gpi: Seek to image offset in case there's additional headers in the
bmp, such as those inserted by gimp, etc.
Fix warning when compiling with debug.
robertlipe [Sun, 9 Jun 2013 23:05:43 +0000 (23:05 +0000)]
garmin_gpi: Seek to image offset in case there's additional headers in the
bmp, such as those inserted by gimp, etc.
Fix warning when compiling with debug.
robertlipe [Sun, 2 Jun 2013 23:59:30 +0000 (23:59 +0000)]
Overhaul KML writer to not repeat input when called multiple times on output.
Destroy QXmlStreamWriter when we close since it seems to lose its mind if
called with an emptry string which makes Earth grump about the blank line.
Add tests for all that.
Minor code cleanups.
exif fixes.
supply default speed_ref for the reader.
report undefined alt_refs in the reader.
correctly output the gps tag version tag in the writer.
use the correct value for the altitude reference tag in the writer so that negative altitudes are correctly written.
robertlipe [Sat, 23 Mar 2013 21:25:32 +0000 (21:25 +0000)]
Remove hack from GPX writer that over-aggressively quoted apostrophes. Doing
that inside a CDATA, for example, is Very Bad.
Manually edited the GPS reference files that were affected - all of which
were our own data, anyway...
tsteven4 [Fri, 15 Mar 2013 01:51:01 +0000 (01:51 +0000)]
gpx: passthrough xmlns attributes. This resolves a bug where namespaces could be used but undeclared.
gpx: do not write schemaLocation attributes. This resolves a bug where the version referenced by schemaLocation didn't match the version we used.
gpx writer: reduce the amount of forced formatting, letting the QXmlStreamWriter formatter do its thing.
robertlipe [Sat, 9 Mar 2013 21:45:22 +0000 (21:45 +0000)]
Pencil-whipped the remaining OLDGPX cases and convinced myself we'd delivered
parity. Removed fprintf style output totally in favor in Qt XML serializer.
tsteven4 [Tue, 5 Mar 2013 13:35:41 +0000 (13:35 +0000)]
Fix gpx reader difficulty with elements that are not passed through who have parents that are.
Make fprint_xml_chain, garmin_fs_xml_fprint and gpx_write_common_extensions mutually exclusive.