/trunk/ftphelper.c |
---|
81,7 → 81,7 |
u16 CompressBuffer(char *buf, u16 size, u16 offset) |
{ |
#define KEYWORD_COUNT 27 |
#define KEYWORD_COUNT 44 |
// most used gpx tags can be compressed |
const char keyword[KEYWORD_COUNT][16]= |
111,7 → 111,25 |
"ele>\0 \0", |
" lat=\0 \0", |
" lon=\0 \0", |
"name>\0 \0", |
"FCFlags2>\0 \0", |
"MagnetField>\0 \0", |
"trkseg>\0 \0", |
"MotorCurrent>\0 \0", |
"AnalogInputs>\0 \0", |
"Servo>\0 \0", |
"BL_State>\0 \0", |
"BL_MaxPWM>\0 \0", |
"MikroKopter\0 \0", |
"metadata>\0 \0", |
"<WP>----,0,0,0<\0", |
"MagnetInclinati\0", |
"BL_Temperature<\0", |
"AvaiableMotorPo\0", |
"FC_I2C_ErrorCom\0", |
"FC_SPI_ErrorCom\0", |
"TargetDistance>\0" }; |
u16 i, count = size; |
char *s = NULL, *start = buf+offset; |
/trunk/gpx.c |
---|
290,7 → 290,7 |
if(doc == NULL) return(0); |
if((GPSData.Position.Status != INVALID) && (NaviData.HomePosition.Status != INVALID)) |
// if((GPSData.Position.Status != INVALID) && (NaviData.HomePosition.Status != INVALID)) |
{ |
if(doc->state == GPX_DOC_TRACKSEGMENT_OPENED) |
{ |
304,22 → 304,26 |
{ |
case 0: |
Logged_GPX_Counter++; |
if(GPSData.Position.Latitude < 0) u8_1 = '-'; |
else u8_1 = '+'; |
i32_1 = abs(GPSData.Position.Latitude)/10000000L; |
i32_2 = abs(GPSData.Position.Latitude)%10000000L; |
sprintf(string, "<trkpt lat=\"%c%ld.%07ld\" ",u8_1, i32_1, i32_2); |
fputs_(string, doc->file); |
if(GPSData.Position.Longitude < 0) u8_1 = '-'; |
else u8_1 = '+'; |
i32_1 = abs(GPSData.Position.Longitude)/10000000L; |
i32_2 = abs(GPSData.Position.Longitude)%10000000L; |
sprintf(string, "lon=\"%c%ld.%07ld\">\r\n",u8_1, i32_1, i32_2); |
fputs_(string, doc->file); |
if(GPSData.Position.Status != INVALID) |
{ |
if(GPSData.Position.Latitude < 0) u8_1 = '-'; |
else u8_1 = '+'; |
i32_1 = abs(GPSData.Position.Latitude)/10000000L; |
i32_2 = abs(GPSData.Position.Latitude)%10000000L; |
sprintf(string, "<trkpt lat=\"%c%ld.%07ld\" ",u8_1, i32_1, i32_2); |
fputs_(string, doc->file); |
if(GPSData.Position.Longitude < 0) u8_1 = '-'; |
else u8_1 = '+'; |
i32_1 = abs(GPSData.Position.Longitude)/10000000L; |
i32_2 = abs(GPSData.Position.Longitude)%10000000L; |
sprintf(string, "lon=\"%c%ld.%07ld\">\r\n",u8_1, i32_1, i32_2); |
} else sprintf(string, "<trkpt lat=0 lon=0>"); |
fputs_(string, doc->file); |
break; |
case 1: |
// write <ele> taga |
i32_2 = GPSData.Position.Altitude - NaviData.HomePosition.Altitude; |
if(GPSData.Position.Status != INVALID) i32_2 = 0; |
if(i32_2 < 0) i32_2 = 0; // avoid negative altitudes in log |
i32_1 = i32_2/1000L; |
i32_2 = i32_2%1000L; |
/trunk/kml.c |
---|
304,7 → 304,7 |
if(doc == NULL) return(0); |
if((GPSData.Position.Status != INVALID) && (NaviData.HomePosition.Status != INVALID)) |
if(GPSData.Position.Status != INVALID) |
{ |
if(doc->state == KML_DOC_LINESTRING_OPENED) |
{ |
336,7 → 336,19 |
} |
} |
} |
else |
{ |
if(doc->state == KML_DOC_LINESTRING_OPENED) |
{ |
if(doc->file != NULL) |
{ |
sprintf(string,"\r\n"); |
fputs_(string, doc->file); |
Logged_KML_Counter++; |
retvalue = 1; |
} |
} |
} |
return(retvalue); |
} |
/trunk/kml_header.h |
---|
62,7 → 62,7 |
"<LineString>\r\n" |
"<tessellate>1</tessellate>\r\n" |
"<altitudeMode>relativeToGround</altitudeMode>\r\n" // also possible "absolute" |
"<coordinates>\r\n" |
"<coordinates>" |
}; |
//________________________________________________________________________________________________________________________________________ |
/trunk/main.h |
---|
9,7 → 9,7 |
#endif |
//----------------------- |
#define DEBUG 0 |
//#define DEBUG 0 |
//----------------------- |
#define VERSION_MAJOR 0 |
/trunk/settings.c |
---|
83,8 → 83,8 |
Parameter_t CFG_Parameter[] = |
{ |
//{PID , "1234567890123456" , Comment, Group, Value, Default, Min, Max }, |
{PID_KML_LOGGING , "KMLLOGGING \0" ,"KML logging interval in ms (0 = disabled) ", 1, 500, 500, 0, 60000}, // the log interval for KML logging, 0 = off |
{PID_GPX_LOGGING , "GPXLOGGING \0" ,"GPX logging interval in ms (0 = disabled) ", 1, 500, 1000, 0, 60000}, // the log interval for GPX logging, 0 = off |
{PID_KML_LOGGING , "KMLLOGGING \0" ,"KML logging interval in ms (0 = disabled) ", 1, 200, 500, 0, 60000}, // the log interval for KML logging, 0 = off |
{PID_GPX_LOGGING , "GPXLOGGING \0" ,"GPX logging interval in ms (0 = disabled) ", 1, 500, 500, 0, 60000}, // the log interval for GPX logging, 0 = off |
{PID_ABSOLUTE_FLYING_ALT , "MAX_FLYING_ALT \0" ,"max. altitude in m ", 1, 0, 0, 0, 30000}, // in [m] |
{PID_ABSOLUTE_FLYING_RANGE , "MAX_FLYING_RANGE\0" ,"max. range in m ", 1, 0, 0, 0, 60000}, // in [m] |
{PID_AUTO_DESCEND_RANGE , "DESCEND_RANGE \0" ,"Auto-descend range in m (0 = disabled) (only comm. License) ", 1, 0, 0, 0, 60000}, // in [m] |