/trunk/ftphelper.c |
---|
79,8 → 79,7 |
char FTP_data[DATA_TRANSFER_SIZE+10]; // rx & tx buffer to avoid 2 buffers |
#define KEYWORD_COUNT 46 |
#define KEYWORD_COUNT 47 |
// most used gpx tags can be compressed |
const char keyword[KEYWORD_COUNT][16]= |
{"Altimeter>\0 \0", |
122,6 → 121,7 |
"MikroKopter\0 \0", |
"nter>000</\0 \0", |
"metadata>\0 \0", |
"Speak>\0 \0", |
"<WP>----,0,0,0<\0", |
"MagnetInclinati\0", |
"BL_Temperature>\0", |
/trunk/gpx.c |
---|
117,6 → 117,7 |
Logging_FCStatusFlags1 = 0; |
Logging_FCStatusFlags2 = 0; |
Logged_GPX_Counter = 0; |
LogFC_WP_EventChannel = 0; |
return(retvalue); |
} |
317,13 → 318,13 |
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>"); |
} else sprintf(string, "<trkpt lat=\"\" lon=\"\">"); |
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(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; |
355,6 → 356,10 |
sprintf(string, "<NCFlag>0x%02X</NCFlag>\r\n", NCFlags); |
fputs_(string, doc->file); |
// Altimeter according to air pressure |
sprintf(string, "<Speak>%d</Speak>\r\n",FC.FromFC_SpeakHoTT); |
FC.FromFC_SpeakHoTT = 0; // can be cleared now |
fputs_(string, doc->file); |
// Altimeter according to air pressure |
sprintf(string, "<Altimeter>%d,'%c'</Altimeter>\r\n", NaviData.Altimeter,FromFC_VarioCharacter); |
fputs_(string, doc->file); |
// Variometer according to air pressure |
/trunk/logging.c |
---|
67,7 → 67,7 |
#define MIN_SD_INTERVAL_KML 200 |
#define MIN_SD_INTERVAL_GPX 500 |
#define APPEND_LOG_TIME_MS 5000 // log some more time |
#define APPEND_LOG_TIME_MS 2510 // log some more time |
u8 SD_LoggingError = 0; |
/trunk/main.h |
---|
191,6 → 191,7 |
u8 StatusFlags; |
u8 Error[5]; |
u8 StatusFlags2; |
u8 FromFC_SpeakHoTT; |
} __attribute__((packed)) FC_t; |
/trunk/spi_slave.c |
---|
599,6 → 599,7 |
break; |
case SPI_FCCMD_PARAMETER2: |
CHK_POTI_MM(Parameter.NaviOut1Parameter,FromFlightCtrl.Param.Byte[0],0,255); |
if(FromFlightCtrl.Param.Byte[1]) FC.FromFC_SpeakHoTT = FromFlightCtrl.Param.Byte[1]; // will be cleared in the SD-Logging |
break; |
case SPI_FCCMD_STICK: |
FC.StickGas = FromFlightCtrl.Param.sByte[0]; |
695,7 → 696,7 |
*/ |
//+++++++++++++++++++++++++++++++++++++++++++++++++++ |
// in SPI Einkommentieren, falls der Flug simultert werden soll |
/* |
if(Parameter.User8 < 100) FC.StatusFlags = 0; |
else |
if(Parameter.User8 < 150) FC.StatusFlags = FC_STATUS_START; |
702,7 → 703,7 |
else FC.StatusFlags = FC_STATUS_FLY | FC_STATUS_MOTOR_RUN; |
BL_MinOfMaxPWM = 255; |
NaviData.FCStatusFlags = FC.StatusFlags; |
*/ |
//+++++++++++++++++++++++++++++++++++++++++++++++++++ |