Subversion Repositories Projects

Rev

Rev 406 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 406 Rev 414
Line 297... Line 297...
297
uint8_t KML_LineStringAddPoint(KML_Document_t *doc)
297
uint8_t KML_LineStringAddPoint(KML_Document_t *doc)
298
{
298
{
Line 299... Line 299...
299
 
299
 
300
        uint8_t retvalue = 0;
300
        uint8_t retvalue = 0;
301
        int8_t string[50];
301
        int8_t string[50];
Line 302... Line 302...
302
        int32_t rel_altitude = 0;
302
//      int32_t rel_altitude = 0;
Line 303... Line 303...
303
 
303
 
304
        if(doc == NULL) return(0);
304
        if(doc == NULL) return(0);
305
 
305
 
306
        //if((GPSData.Position.Status != INVALID) && (GPS_HomePosition.Status != INVALID))
306
        //if((GPSData.Position.Status != INVALID) && (GPS_HomePosition.Status != INVALID))
307
        {
307
        {
308
                if(doc->state == KML_DOC_LINESTRING_OPENED)
308
                if(doc->state == KML_DOC_LINESTRING_OPENED)
309
                {
309
                {
310
                        if(doc->file != NULL)
310
                        if(doc->file != NULL)
311
                        {
311
                        {
312
                                int32_t i1, i2;
312
                                int16_t i1, i2, i3;
313
                                uint8_t sign;
313
                                uint8_t sign;
314
                                if(GPSData.Position.Longitude < 0) sign = '-';
314
                                if(GPSData.Position.Longitude < 0) sign = '-';
-
 
315
                                else sign = '+';
315
                                else sign = '+';
316
                                i1 = (int16_t)(GPSData.Position.Longitude/10000000L);
316
                                i1 = abs(GPSData.Position.Longitude)/10000000L;
317
                                i2 = abs((int16_t)((GPSData.Position.Longitude%10000000L)/10000L));
317
                                i2 = abs(GPSData.Position.Longitude)%10000000L;
318
                                i3 = abs((int16_t)(((GPSData.Position.Longitude%10000000L)%10000L)/10L));
318
                                sprintf(string,"\r\n%c%ld.%07ld,",sign, i1, i2);
319
                                sprintf(string,"\r\n%c%d.%.3d%",sign, i1, i2, i3);
319
                                fputs_(string, doc->file);
320
                                fputs_(string, doc->file);
320
                                if(GPSData.Position.Latitude < 0) sign = '-';
321
                                if(GPSData.Position.Latitude < 0) sign = '-';
-
 
322
                                else sign = '+';
321
                                else sign = '+';
323
                                i1 = (int16_t)(GPSData.Position.Latitude/10000000L);
-
 
324
                                i2 = abs((int16_t)((GPSData.Position.Latitude%10000000L)/10000L));
-
 
325
                                i3 = abs((int16_t)(((GPSData.Position.Latitude%10000000L)%10000L)/10L));
322
                                i1 = abs(GPSData.Position.Latitude)/10000000L;
326
                                sprintf(string,"\r\n%c%d.%.3d%",sign, i1, i2, i3);
323
                                i2 = abs(GPSData.Position.Latitude)%10000000L;
-
 
324
                                sprintf(string,"%c%ld.%07ld,",sign, i1, i2);
327
                                fputs_(string, doc->file);
325
                                fputs_(string, doc->file);
328
                                sprintf(string,"\r\n%c%d.%.3d%",0.0 );
326
 
329
                                fputs_(string, doc->file);
327
                                retvalue = 1;
330
                                retvalue = 1;