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"); |