[Pkg-running-devel] [SCM] Debian package garmin-forerunner-tools branch, master, updated. debian/0.10-3-3-g2d885bd
Christian Perrier
bubulle at debian.org
Sun Nov 6 18:53:37 UTC 2011
The following commit has been merged in the master branch:
commit 2d885bd4bf6455863e4f322dc1bb8f315b3f3bad
Author: Christian Perrier <bubulle at debian.org>
Date: Sun Nov 6 19:53:32 2011 +0100
Cleaning my mess
diff --git a/patches/output_laps_hr_cad_in_gpx.patch b/patches/output_laps_hr_cad_in_gpx.patch
deleted file mode 100644
index 2ca9d07..0000000
--- a/patches/output_laps_hr_cad_in_gpx.patch
+++ /dev/null
@@ -1,265 +0,0 @@
-Index: garmin-forerunner-tools/src/garmin_gpx.c
-===================================================================
---- garmin-forerunner-tools.orig/src/garmin_gpx.c
-+++ garmin-forerunner-tools/src/garmin_gpx.c
-@@ -20,6 +20,7 @@
- #include "config.h"
- #include <math.h>
- #include <stdio.h>
-+#include <string.h>
- #include <time.h>
- #include "garmin.h"
-
-@@ -34,16 +35,21 @@
- {
- float lat, lon, elev;
- time_t t;
-+ int lap;
-+ int pause;
-+ uint8 hr;
-+ uint8 cad;
- } route_point;
-
- int
--get_gpx_data ( garmin_data * data,
-- route_point ** points,
-+get_gpx_data ( garmin_data * fulldata,
-+ route_point *** tracks,
- position_type * sw,
- position_type * ne )
- {
- garmin_list * dlist;
- garmin_list_node * node;
-+ garmin_list_node * lapnode;
- garmin_data * point;
- D304 * d304;
- route_point * rp;
-@@ -52,9 +58,28 @@
- float minlon = 180.0;
- float maxlon = -180.0;
- int ok = 0;
-+ garmin_data * data;
-+ garmin_list * glaps;
-+ garmin_data* points;
-
-- if ( data != NULL ) {
-- data = garmin_list_data(data,2);
-+ if ( fulldata != NULL ) {
-+
-+ // lists: 1=laps, 2=points
-+
-+ glaps=garmin_list_data(fulldata,1)->data; // get lap information
-+
-+ // fixme: crash if we didn't get it
-+ int laps=glaps->elements+1;
-+
-+ *tracks = malloc(sizeof(route_point) * (laps));
-+ memset(*tracks,0,laps*sizeof(route_point));
-+
-+ int curlapnum=0;
-+
-+ lapnode=glaps->head;
-+ D1015* lapdata=lapnode->data->data;
-+
-+ data = garmin_list_data(fulldata, 2); // get track points
-
- if ( data == NULL ) {
-
-@@ -64,30 +89,81 @@
-
- dlist = data->data;
-
-- *points = malloc(sizeof(route_point) * (dlist->elements+1));
-- rp = *points;
-+ points = malloc(sizeof(route_point) * (dlist->elements+1+(laps*2)));
-+ (*tracks)[curlapnum]=points;
-+ rp = points;
-
-- for ( node = dlist->head; node != NULL; node = node->next ) {
-- point = node->data;
-- if ( point->type == data_D304 ) {
-+ int pause=0;
-
-- d304 = point->data;
-+ for ( node = dlist->head; node != NULL; node = node->next ) {
-+ point = node->data;
-
-- if ( d304->posn.lat == 0x7fffffff && d304->posn.lon == 0x7fffffff )
-- continue;
-+ switch (point->type) {
-+ case data_D304: // position point
-
-- rp->lat = SEMI2DEG(d304->posn.lat);
-- rp->lon = SEMI2DEG(d304->posn.lon);
-- rp->elev = d304->alt;
-- rp->t = d304->time;
--
-- if ( rp->lat < minlat ) minlat = rp->lat;
-- if ( rp->lat > maxlat ) maxlat = rp->lat;
-- if ( rp->lon < minlon ) minlon = rp->lon;
-- if ( rp->lon > maxlon ) maxlon = rp->lon;
-+ d304 = point->data;
-
-- ++rp;
-- }
-+ if ( d304->posn.lat == 0x7fffffff && d304->posn.lon == 0x7fffffff ) {
-+ pause++;
-+ continue;
-+ }
-+
-+ rp->lap=0;
-+ if (lapdata!=NULL) {
-+ if (d304->time >= lapdata->start_time) {
-+ if (curlapnum>0) {
-+ rp->t=0; // end previous lap
-+ rp++;
-+ (*tracks)[curlapnum]=rp; // new track
-+ }
-+ curlapnum++;
-+
-+ rp->lap=curlapnum;
-+ if (d304->time != lapdata->start_time) {
-+ // if lap start point doesn't exist, create it
-+ rp->lat = SEMI2DEG(lapdata->begin.lat);
-+ rp->lon = SEMI2DEG(lapdata->begin.lon);
-+
-+ rp->elev = d304->alt; // lap data doesn't contain alt :(
-+ rp->hr=d304->heart_rate;
-+ rp->cad=d304->cadence;
-+
-+ rp->t = lapdata->start_time;
-+ rp++;
-+ rp->lap=0;
-+ rp->pause=0;
-+ }
-+ lapnode=lapnode->next;
-+ if (lapnode!=NULL)
-+ lapdata=lapnode->data->data;
-+ else
-+ lapdata=NULL; // last lap
-+ }
-+ }
-+
-+ rp->lat = SEMI2DEG(d304->posn.lat);
-+ rp->lon = SEMI2DEG(d304->posn.lon);
-+ rp->elev = d304->alt;
-+ rp->t = d304->time;
-+ rp->hr=d304->heart_rate;
-+ rp->cad=d304->cadence;
-+
-+
-+ if (pause==2) {
-+ rp->pause=1;
-+ pause=0;
-+ } else rp->pause=0;
-+
-+ if ( rp->lat < minlat ) minlat = rp->lat;
-+ if ( rp->lat > maxlat ) maxlat = rp->lat;
-+ if ( rp->lon < minlon ) minlon = rp->lon;
-+ if ( rp->lon > maxlon ) maxlon = rp->lon;
-+
-+ ++rp;
-+ break;
-+ default: //printf("unknown frame %i\n", point->type);
-+ ;
-+ }
- }
- rp->t = 0;
-
-@@ -152,11 +228,15 @@
- {
- print_spaces(fp,spaces);
- fprintf(fp,"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
-- fprintf(fp,"<gpx version=\"1.0\"\n"
-+ fprintf(fp,"<gpx version=\"1.1\"\n"
- "creator=\"Garmin Forerunner Tools - http://garmintools.googlecode.com\"\n"
- "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-- "xmlns=\"http://www.topografix.com/GPX/1/0\"\n"
-- "xsi:schemaLocation=\"http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd\">\n");
-+ "xmlns:gpxtpx=\"http://www.garmin.com/xmlschemas/TrackPointExtension/v1\"\n"
-+ "xmlns=\"http://www.topografix.com/GPX/1/1\"\n"
-+ "xsi:schemaLocation=\"http://www.topografix.com/GPX/1/1 "
-+ "http://www.topografix.com/GPX/1/1/gpx.xsd "
-+ "http://www.garmin.com/xmlschemas/TrackPointExtension/v1 "
-+ "http://www8.garmin.com/xmlschemas/TrackPointExtensionv1.xsd\">\n");
- }
-
- static void
-@@ -192,11 +272,37 @@
- route_point * rp = points;
- while (rp->t > 0) {
- print_spaces(fp, spaces);
-- fprintf(fp, "<rtept lat=\"%f\" lon=\"%f\">\n", rp->lat, rp->lon);
-+ fprintf(fp, "<trkpt lat=\"%f\" lon=\"%f\">\n", rp->lat, rp->lon);
- print_spaces(fp, spaces+2);
- fprintf(fp, "<ele>%f</ele>\n", rp->elev);
- print_time_tag(rp->t + TIME_OFFSET, fp, spaces+2);
-- print_close_tag("rtept", fp, spaces);
-+ if (rp->lap) {
-+ print_spaces(fp, spaces+2);
-+ fprintf(fp,"<name>Lap %i</name>\n",rp->lap);
-+ } else if (rp->pause) {
-+ print_spaces(fp, spaces+2);
-+ fprintf(fp,"<name>Pause</name>\n");
-+ }
-+
-+ if ((rp->hr != 0) || (rp->cad != 0xff)) {
-+ print_spaces(fp, spaces+2);
-+ fprintf(fp,"<extensions>\n");
-+ print_spaces(fp, spaces+2);
-+ fprintf(fp,"<gpxtpx:TrackPointExtension>\n");
-+ if (rp->hr != 0) {
-+ print_spaces(fp, spaces+4);
-+ fprintf(fp,"<gpxtpx:hr>%i</gpxtpx:hr>\n",rp->hr);
-+ }
-+ if (rp->cad != 0xff) {
-+ print_spaces(fp, spaces+4);
-+ fprintf(fp,"<gpxtpx:cad>%i</gpxtpx:cad>\n",rp->cad);
-+ }
-+
-+ print_close_tag("gpxtpx:TrackPointExtension", fp, spaces+2);
-+ print_close_tag("extensions", fp, spaces+2);
-+ }
-+
-+ print_close_tag("trkpt", fp, spaces);
- ++rp;
- }
- }
-@@ -204,20 +310,29 @@
- void
- print_gpx_data ( garmin_data * data, FILE * fp, int spaces )
- {
-- route_point * points = NULL;
-+ route_point ** laps = NULL;
-+ route_point * points;
- position_type sw;
- position_type ne;
--
-- if ( get_gpx_data(data,&points,&sw,&ne) != 0 ) {
-+
-+ if ( get_gpx_data(data,&laps,&sw,&ne) != 0 ) {
- print_gpx_header(fp,spaces);
- print_time_tag(time(NULL),fp,spaces);
- print_bounds_tag(&sw,&ne,fp,spaces);
-- print_open_tag("rte",fp,spaces);
-- print_route_points(points,fp,spaces+2);
-- print_close_tag("rte",fp,spaces);
-+
-+ int i;
-+ print_open_tag("trk",fp,spaces);
-+ for (i=0; laps[i]!=NULL; i++) {
-+ points=laps[i];
-+ print_open_tag("trkseg",fp,spaces);
-+ print_route_points(points,fp,spaces+2);
-+ print_close_tag("trkseg",fp,spaces);
-+ }
-+ print_close_tag("trk",fp,spaces);
- print_close_tag("gpx",fp,spaces);
--
-- if ( points != NULL ) free(points);
-+
-+ free(laps[i]);
-+ free(laps);
- }
- }
-
diff --git a/patches/series b/patches/series
deleted file mode 100644
index f6ea02f..0000000
--- a/patches/series
+++ /dev/null
@@ -1 +0,0 @@
-output_laps_hr_cad_in_gpx.patch
--
Debian package garmin-forerunner-tools
More information about the Pkg-running-devel
mailing list