+ if (kml_file) {
+ int j = 0;
+
+ fprintf(kml_file, "%s", kml_header);
+ for (i = 0; i < f->gps.num; i++) {
+ int nsat = 0;
+ int k;
+ while (j < f->gps.numsats - 1) {
+ if (f->gps.sats[j].sat[0].time <= f->gps.data[i].time &&
+ f->gps.data[i].time < f->gps.sats[j+1].sat[0].time)
+ break;
+ j++;
+ }
+ nsat = 0;
+ for (k = 0; k < f->gps.sats[j].nsat; k++)
+ if (f->gps.sats[j].sat[k].state == 0xbf)
+ nsat++;
+
+ fprintf(kml_file, "%12.7f, %12.7f, %12.7f <!-- time %12.7f sats %d -->",
+ f->gps.data[i].lon,
+ f->gps.data[i].lat,
+ f->gps.data[i].alt,
+ (f->gps.data[i].time - boost_start) / 100.0,
+ nsat);
+ if (i < f->gps.num - 1)
+ fprintf(kml_file, ",\n");
+ else
+ fprintf(kml_file, "\n");
+ }
+ fprintf(kml_file, "%s", kml_footer);
+ }