Subversion Repositories NaviCtrl

Compare Revisions

Ignore whitespace Rev 552 → Rev 553

/trunk/gpx.c
349,6 → 349,7
{
if(doc->file != NULL)
{
static s32 altitude; // store to make sure they are all recorded in one timestamp
s32 i32_1, i32_2;
s16 i16_1;
u8 u8_1, u8_2;
372,17 → 373,18
sprintf(string, "lon=\"%c%ld.%07ld\">\r\n",u8_1, i32_1, i32_2);
} else sprintf(string, "<trkpt lat=\"\" lon=\"\">");
fputs_(string, doc->file);
altitude = GPSData.Position.Altitude;
break;
case 1:
// write <ele> tag
i32_2 = abs(GPSData.Position.Altitude - NaviData.HomePosition.Altitude);
i32_2 = altitude - NaviData.HomePosition.Altitude;
if(GPSData.Position.Status == INVALID) i32_2 = 0;
i32_1 = i32_2/1000L;
i32_2 = i32_2%1000L;
if(GPSData.Position.Altitude < 0) i32_1 *= -1;
sprintf(string,"<ele>%ld.%03ld</ele>\r\n",i32_1, i32_2);
if(altitude - NaviData.HomePosition.Altitude < 0) sprintf(string,"<ele>-%ld.%03ld</ele>\r\n",abs(i32_1),abs(i32_2));
else sprintf(string,"<ele>%ld.%03ld</ele>\r\n",i32_1,i32_2);
fputs_(string, doc->file);
// write <time> tag only at a resolution of one second
// write <time> tag only at a resolution of 1/100 second
// sprintf(string, "<time>%04d-%02d-%02dT%02d:%02d:%02dZ</time>\r\n",SystemTime.Year, SystemTime.Month, SystemTime.Day, SystemTime.Hour, SystemTime.Min, SystemTime.Sec);
sprintf(string, "<time>%04d-%02d-%02dT%02d:%02d:%02d.%dZ</time>\r\n",SystemTime.Year, SystemTime.Month, SystemTime.Day, SystemTime.Hour, SystemTime.Min, SystemTime.Sec,SystemTime.mSec/100);
fputs_(string, doc->file);
562,12 → 564,12
// sprintf(string, "<NaviUpdate>%d,%d</NaviUpdate>\r\n",FreqGpsProcessedIn5Sec,FreqNewGpsDataIn5Sec);
// fputs_(string, doc->file);
// eof extensions
i32_2 = abs(GPSData.Position.Altitude);
i32_2 = altitude;
if(GPSData.Position.Status == INVALID) i32_2 = 0;
i32_1 = i32_2/1000L;
i32_2 = i32_2%1000L;
if(GPSData.Position.Altitude < 0) i32_1 *= -1;
sprintf(string,"<ele_raw>%ld.%03ld</ele_raw>\r\n",i32_1, i32_2);
if(altitude < 0) sprintf(string,"<ele_raw>-%ld.%03ld</ele_raw>\r\n",abs(i32_1),abs(i32_2));
else sprintf(string,"<ele_raw>%ld.%03ld</ele_raw>\r\n",i32_1,i32_2);
fputs_(string, doc->file);
 
sprintf(string, "</extensions>\r\n");