Rev 573 | Rev 582 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 573 | Rev 581 | ||
---|---|---|---|
Line 71... | Line 71... | ||
71 | 71 | ||
Line 72... | Line 72... | ||
72 | u8 SD_LoggingError = 0; |
72 | u8 SD_LoggingError = 0; |
Line -... | Line 73... | ||
- | 73 | ||
73 | 74 | #define LOG_FLUSH_INTERVAL 4000 // 4s // -> and if an Error occures |
|
74 | #define LOG_FLUSH_INTERVAL 4000 // 4s // -> and if an Error occures |
75 | |
75 | 76 | ||
76 | typedef enum |
77 | typedef enum |
77 | { |
78 | { |
Line 354... | Line 355... | ||
354 | { |
355 | { |
355 | switch(logfilestate) |
356 | switch(logfilestate) |
356 | { |
357 | { |
357 | case LOGFILE_IDLE: |
358 | case LOGFILE_IDLE: |
358 | case LOGFILE_CLOSED: |
359 | case LOGFILE_CLOSED: |
- | 360 | if((GPSData.Status != INVALID) && (SystemTime.Valid) && |
|
359 | if((GPSData.Status != INVALID) && (SystemTime.Valid) && /*(GPSData.Flags & FLAG_GPSFIXOK) && (GPSData.SatFix == SATFIX_3D)*/ (FC.StatusFlags & FC_STATUS_FLY)) |
361 | ((FC.StatusFlags & FC_STATUS_FLY) || (LogCfg.StartAtMotorrun && (FC.StatusFlags & FC_STATUS_MOTOR_RUN)))) |
360 | { |
362 | { |
361 | logfilestate = LOGFILE_START; |
363 | logfilestate = LOGFILE_START; |
362 | } |
364 | } |
363 | part = 0; |
365 | part = 0; |
364 | break; |
366 | break; |
Line 400... | Line 402... | ||
400 | // else retry in next loop |
402 | // else retry in next loop |
401 | part = 0; |
403 | part = 0; |
402 | break; |
404 | break; |
403 | case LOGFILE_OPENED: |
405 | case LOGFILE_OPENED: |
404 | // append new gps log data |
406 | // append new gps log data |
405 | measure_time = CountMilliseconds; |
407 | // measure_time = CountMilliseconds; |
406 | if((GPSData.Status != INVALID))// && (GPSData.Flags & FLAG_GPSFIXOK) && (GPSData.SatFix == SATFIX_3D)) |
408 | if((GPSData.Status != INVALID))// && (GPSData.Flags & FLAG_GPSFIXOK) && (GPSData.SatFix == SATFIX_3D)) |
407 | { |
409 | { |
408 | if(!GPX_LoggGPSCoordinates(&logfile,part)) |
410 | if(!GPX_LoggGPSCoordinates(&logfile,part)) |
409 | { // error logging data |
411 | { // error logging data |
410 | UART1_PutString("\r\nError logging to gpx-file\r\n"); |
412 | UART1_PutString("\r\nError logging to gpx-file\r\n"); |
Line 412... | Line 414... | ||
412 | SD_LoggingError = 13; |
414 | SD_LoggingError = 13; |
413 | logfilestate = LOGFILE_ERROR; |
415 | logfilestate = LOGFILE_ERROR; |
414 | } |
416 | } |
415 | else // successful log |
417 | else // successful log |
416 | { |
418 | { |
417 | if(ErrorCode != old_errorcode || CheckDelay(flushtimer)) |
419 | if(ErrorCode != old_errorcode || CheckDelay(flushtimer) || part == 8) |
418 | { |
420 | { |
419 | if(ErrorCode) { while(++part < 9) GPX_LoggGPSCoordinates(&logfile,part); }; // close this chapter |
421 | if(ErrorCode) { while(++part < 9) GPX_LoggGPSCoordinates(&logfile,part); }; // close this chapter |
420 | if(ErrorCode != old_errorcode) flushtimer = SetDelay(1000); |
422 | if(ErrorCode != old_errorcode) flushtimer = SetDelay(1000); |
421 | else flushtimer = SetDelay(LOG_FLUSH_INTERVAL); |
423 | else flushtimer = SetDelay(LOG_FLUSH_INTERVAL); |
422 | fflush_(logfile.file); |
424 | fflush_(logfile.file); |
423 | old_errorcode = ErrorCode; |
425 | old_errorcode = ErrorCode; |
424 | } |
426 | } |
425 | } |
427 | } |
426 | } |
428 | } |
427 | if(++part >= 9) part = 0; |
429 | if(++part >= 9) part = 0; |
428 | //DebugOut.Analog[19] = CountMilliseconds - measure_time; |
430 | //DebugOut.Analog[18] = CountMilliseconds - measure_time; |
429 | break; |
431 | break; |
Line 430... | Line 432... | ||
430 | 432 | ||
431 | case LOGFILE_ERROR: |
433 | case LOGFILE_ERROR: |
432 | part = 0; |
434 | part = 0; |
Line 472... | Line 474... | ||
472 | if(LogCfg.KML_Interval != 0 && LogCfg.KML_Interval < MIN_SD_INTERVAL_KML) LogCfg.KML_Interval = MIN_SD_INTERVAL_KML; |
474 | if(LogCfg.KML_Interval != 0 && LogCfg.KML_Interval < MIN_SD_INTERVAL_KML) LogCfg.KML_Interval = MIN_SD_INTERVAL_KML; |
Line 473... | Line 475... | ||
473 | 475 | ||
474 | Logging_KML(0); // initialize |
476 | Logging_KML(0); // initialize |
475 | LogCfg.GPX_Interval = 0; //default |
477 | LogCfg.GPX_Interval = 0; //default |
- | 478 | Settings_GetParamValue(PID_GPX_LOGGING, (u16*)&LogCfg.GPX_Interval); // overwrite by settings value |
|
476 | Settings_GetParamValue(PID_GPX_LOGGING, (u16*)&LogCfg.GPX_Interval); // overwrite by settings value |
479 | Settings_GetParamValue(PID_LOG_AT_MOTORRUN, (u16*)&LogCfg.StartAtMotorrun); // overwrite by settings value |
477 | if(LogCfg.GPX_Interval != 0 && LogCfg.GPX_Interval < MIN_SD_INTERVAL_GPX) LogCfg.GPX_Interval = MIN_SD_INTERVAL_GPX; |
480 | if(LogCfg.GPX_Interval != 0 && LogCfg.GPX_Interval < MIN_SD_INTERVAL_GPX) LogCfg.GPX_Interval = MIN_SD_INTERVAL_GPX; |
478 | Logging_GPX(0); // initialize |
481 | Logging_GPX(0); // initialize |
Line 479... | Line 482... | ||
479 | } |
482 | } |