Rev 78 | Rev 82 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 78 | Rev 79 | ||
---|---|---|---|
Line 76... | Line 76... | ||
76 | 76 | ||
77 | typedef enum |
77 | typedef enum |
78 | { |
78 | { |
79 | LOGFILE_IDLE, |
79 | LOGFILE_IDLE, |
80 | LOGFILE_START, |
80 | LOGFILE_START, |
81 | LOGFILE_CLOSED, |
81 | LOGFILE_CLOSED, |
82 | LOGFILE_OPENED, |
82 | LOGFILE_OPENED, |
83 | LOGFILE_ERROR, |
83 | LOGFILE_ERROR, |
Line 84... | Line 84... | ||
84 | } logfilestate_t; |
84 | } logfilestate_t; |
Line 222... | Line 222... | ||
222 | 222 | ||
223 | //---------------------------------------------------------------------------------------------------- |
223 | //---------------------------------------------------------------------------------------------------- |
224 | int main(void) |
224 | int main(void) |
225 | { |
225 | { |
226 | KML_Document_t gpslogfile; |
226 | KML_Document_t gpslogfile; |
227 | logfilestate_t logfilestate = LOGFILE_IDLE; |
227 | logfilestate_t logfilestate = LOGFILE_IDLE; |
228 | s8* gpslogfilename = NULL; |
228 | s8* gpslogfilename = NULL; |
229 | /* Configure the system clocks */ |
229 | /* Configure the system clocks */ |
230 | SCU_Config(); |
230 | SCU_Config(); |
231 | KML_DocumentInit(&gpslogfile); // Initialize the new kml-document for further use. |
231 | KML_DocumentInit(&gpslogfile); // Initialize the new kml-document for further use. |
Line 280... | Line 280... | ||
280 | } |
280 | } |
Line 281... | Line 281... | ||
281 | 281 | ||
282 | /* |
282 | /* |
283 | ReadSetting(1); |
283 | ReadSetting(1); |
284 | */ |
284 | */ |
Line 285... | Line 285... | ||
285 | SerialPutString("\r\n---------------------------------------------\r\n\r\n "); |
285 | SerialPutString("\r\n---------------------------------------------\r\n\r\n"); |
286 | 286 | ||
287 | for (;;) |
287 | for (;;) |
288 | { |
288 | { |
Line 340... | Line 340... | ||
340 | // ---------------- KML Timing ------------------------------------ |
340 | // ---------------- KML Timing ------------------------------------ |
341 | if(CheckDelay(TimerKmlAddPointDelay)) |
341 | if(CheckDelay(TimerKmlAddPointDelay)) |
342 | { |
342 | { |
343 | TimerKmlAddPointDelay = SetDelay(500); // every 500 ms |
343 | TimerKmlAddPointDelay = SetDelay(500); // every 500 ms |
Line 344... | Line 344... | ||
344 | 344 | ||
345 | if(FC.MKFlags & MKFLAG_MOTOR_RUN) |
345 | if(FC.MKFlags & MKFLAG_MOTOR_RUN) |
346 | { |
346 | { |
347 | switch(logfilestate) |
347 | switch(logfilestate) |
348 | { |
348 | { |
349 | case LOGFILE_IDLE: |
349 | case LOGFILE_IDLE: |
350 | case LOGFILE_CLOSED: |
350 | case LOGFILE_CLOSED: |
- | 351 | if((GPSData.Status != INVALID) && (GPSData.Flags & FLAG_GPSFIXOK) && (GPSData.SatFix == SATFIX_3D) && (FC.MKFlags & MKFLAG_FLY)) |
|
351 | if((GPSData.Status != INVALID) && (GPSData.Flags & FLAG_GPSFIXOK) && (GPSData.SatFix == SATFIX_3D) && (FC.MKFlags & MKFLAG_FLY)) |
352 | { |
- | 353 | logfilestate = LOGFILE_START; |
|
352 | logfilestate = LOGFILE_START; |
354 | } |
353 | break; |
355 | break; |
354 | case LOGFILE_START: |
356 | case LOGFILE_START: |
355 | // find unused logfile name |
357 | // find unused logfile name |
356 | do |
358 | do |
357 | { // try to generate a new logfile name |
359 | { // try to generate a new logfile name |
358 | gpslogfilename = GenerateGPSLogFileName(); |
360 | gpslogfilename = GenerateGPSLogFileName(); |
Line 388... | Line 390... | ||
388 | SerialPutString("\r\nError Logging GPS data\r\n"); |
390 | SerialPutString("\r\nError Logging GPS data\r\n"); |
389 | KML_DocumentClose(&gpslogfile); |
391 | KML_DocumentClose(&gpslogfile); |
390 | logfilestate = LOGFILE_ERROR; |
392 | logfilestate = LOGFILE_ERROR; |
391 | } |
393 | } |
392 | else DebugOut.Analog[26]++; // count SD-Logs |
394 | else DebugOut.Analog[26]++; // count SD-Logs |
393 | } |
395 | } |
394 | break; |
396 | break; |
Line 395... | Line 397... | ||
395 | 397 | ||
396 | case LOGFILE_ERROR: |
398 | case LOGFILE_ERROR: |
397 | // try to reinitialize the fat16 filesystem |
399 | // try to reinitialize the fat16 filesystem |
Line 405... | Line 407... | ||
405 | logfilestate = LOGFILE_ERROR; |
407 | logfilestate = LOGFILE_ERROR; |
406 | TimerKmlAddPointDelay = SetDelay(5000); // try again in 5 sec |
408 | TimerKmlAddPointDelay = SetDelay(5000); // try again in 5 sec |
407 | } |
409 | } |
408 | break; |
410 | break; |
Line 409... | Line 411... | ||
409 | 411 | ||
410 | default: |
412 | default: |
411 | break; |
413 | break; |
412 | } |
414 | } |
413 | } // EOF model is flying |
415 | } // EOF model is flying |
414 | else // model is not flying |
416 | else // model is not flying |