Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 433 → Rev 434

/FollowMe/trunk/kml.c
118,6 → 118,9
{
 
uint8_t retvalue = 0;
uint16_t i;
int8_t c;
const prog_char *str;
 
if(doc == NULL) return(0);
 
127,10 → 130,14
if(doc->file != NULL) // could the file be opened?
{
retvalue = 1; // the document could be created on the drive.
doc->state = KML_DOC_OPENED; // change document state to opened. At next a placemark has to be opened.
fwrite_((void*)KML_DOCUMENT_HEADER, sizeof(KML_DOCUMENT_HEADER)-1,1,doc->file);// write the KML-header to the document.
doc->state = KML_DOC_OPENED; // change document state to opened. At next a placemark has to be opened.
str = KML_DOCUMENT_HEADER; // write the KML-header to the document.
for(i= 0; i < sizeof(KML_DOCUMENT_HEADER); i++)
{
c = (int8_t)pgm_read_byte(str++); // get byte from flash
fputc_(c, doc->file); // and write that to sd-card
}
}
 
return(retvalue);
}
 
147,6 → 154,9
{
 
uint8_t retvalue = 1;
uint16_t i;
int8_t c;
const prog_char *str;
 
if(doc == NULL) return(0);
 
165,7 → 175,12
case KML_DOC_OPENED: // close the file on the memorycard
if(doc->file != NULL)
{
fwrite_((void*)KML_DOCUMENT_FOOTER, sizeof(KML_DOCUMENT_FOOTER)-1,1,doc->file); // write the KML- footer to the document.
str = KML_DOCUMENT_FOOTER; // write the KML- footer to the document.
for(i= 0; i < sizeof(KML_DOCUMENT_FOOTER); i++)
{
c = (int8_t)pgm_read_byte(str++); // get byte from flash
fputc_(c, doc->file); // and write that to sd-card
}
fclose_(doc->file);
retvalue = 1;
}
193,6 → 208,10
uint8_t KML_PlaceMarkOpen(KML_Document_t *doc)
{
uint8_t retvalue = 0;
uint16_t i;
int8_t c;
const prog_char *str;
 
if(doc->state == KML_DOC_OPENED)
{
if(doc->file != NULL)
199,7 → 218,12
{
doc->state = KML_DOC_PLACEMARK_OPENED;
retvalue = 1;
fwrite_((void*)KML_PLACEMARK_HEADER, sizeof(KML_PLACEMARK_HEADER)-1,1,doc->file);
str = KML_PLACEMARK_HEADER;
for(i= 0; i < sizeof(KML_PLACEMARK_HEADER); i++)
{
c = (int8_t)pgm_read_byte(str++); // get byte from flash
fputc_(c, doc->file); // and write that to sd-card
}
}
}
return(retvalue);
217,7 → 241,10
uint8_t KML_PlaceMarkClose(KML_Document_t *doc)
{
 
uint8_t retvalue = 0; // close the Placemark-tag of the corosponding document.
uint8_t retvalue = 0;
uint16_t i;
int8_t c;
const prog_char *str;
 
if(doc->state == KML_DOC_PLACEMARK_OPENED)
{
224,11 → 251,15
if(doc->file != NULL)
{
doc->state = KML_DOC_OPENED;
fwrite_((void*)KML_PLACEMARK_FOOTER, sizeof(KML_PLACEMARK_FOOTER)-1,1,doc->file);
str = KML_PLACEMARK_FOOTER;
for(i= 0; i < sizeof(KML_PLACEMARK_FOOTER); i++)
{
c = (int8_t)pgm_read_byte(str++); // get byte from flash
fputc_(c, doc->file); // and write that to sd-card
}
retvalue = 1;
}
}
 
return(retvalue);
}
 
245,6 → 276,9
{
 
uint8_t retvalue = 0;
uint16_t i;
int8_t c;
const prog_char *str;
 
if(doc->state == KML_DOC_PLACEMARK_OPENED)
{
251,7 → 285,12
if(doc->file != NULL)
{
doc->state = KML_DOC_LINESTRING_OPENED;
fwrite_((void*)KML_LINESTRING_HEADER, sizeof(KML_LINESTRING_HEADER)-1,1,doc->file);
str = KML_LINESTRING_HEADER;
for(i= 0; i < sizeof(KML_LINESTRING_HEADER); i++)
{
c = (int8_t)pgm_read_byte(str++); // get byte from flash
fputc_(c, doc->file); // and write that to sd-card
}
retvalue = 1;
}
}
271,6 → 310,9
{
 
uint8_t retvalue = 0;
uint16_t i;
int8_t c;
const prog_char *str;
 
if(doc->state == KML_DOC_LINESTRING_OPENED)
{
277,7 → 319,12
if(doc->file != NULL)
{
doc->state = KML_DOC_PLACEMARK_OPENED;
fwrite_((void*)KML_LINESTRING_FOOTER, sizeof(KML_LINESTRING_FOOTER)-1,1,doc->file);
str = KML_LINESTRING_FOOTER;
for(i= 0; i < sizeof(KML_LINESTRING_FOOTER); i++)
{
c = (int8_t)pgm_read_byte(str++); // get byte from flash
fputc_(c, doc->file); // and write that to sd-card
}
retvalue = 1;
}
}
298,7 → 345,6
 
uint8_t retvalue = 0;
int8_t string[50];
// int32_t rel_altitude = 0;
 
if(doc == NULL) return(0);
 
331,7 → 377,6
}
}
}
 
return(retvalue);
}
 
352,7 → 397,7
switch(doc->state)
{
case KML_DOC_CLOSED: // document hasn't been opened yet therefore it will be initialized automatically
retval = KML_DocumentOpen("default.kml",doc); // open the kml-document with a standardname.
retval = KML_DocumentOpen("default.kml",doc); // open the kml-document with a standardname.
break;
 
case KML_DOC_OPENED: // if a document has been opened before but no placemark exists: