Subversion Repositories NaviCtrl

Rev

Rev 489 | Rev 516 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 489 Rev 515
Line 106... Line 106...
106
                        LastTime.Month = SystemTime.Month;
106
                        LastTime.Month = SystemTime.Month;
107
                        LastTime.Day = SystemTime.Day;
107
                        LastTime.Day = SystemTime.Day;
108
                        LastTime.Valid = 1;
108
                        LastTime.Valid = 1;
109
                        filenum = 0; // reset file counter
109
                        filenum = 0; // reset file counter
110
                }
110
                }
111
        if(filenum < 100) sprintf(filename, "/LOG/%04i%02i%02i/KML/%02i%02i%02i%02i.KML", SystemTime.Year, SystemTime.Month, SystemTime.Day, SystemTime.Year % 100, SystemTime.Month, SystemTime.Day, filenum);
111
                if(filenum < 100) sprintf(filename, "/LOG/%04i%02i%02i/KML/%02i%02i%02i%02i.KML", SystemTime.Year, SystemTime.Month, SystemTime.Day, SystemTime.Year % 100, SystemTime.Month, SystemTime.Day, filenum);
112
                else sprintf(filename, "/LOG/%04i%02i%02i/KML/GPS%05i.KML", SystemTime.Year, SystemTime.Month, SystemTime.Day, filenum);
112
                else sprintf(filename, "/LOG/%04i%02i%02i/KML/GPS%05i.KML", SystemTime.Year, SystemTime.Month, SystemTime.Day, filenum);
113
                filenum++;
113
                filenum++;
114
                return filename;
114
                return filename;
115
        }
115
        }
116
        else return NULL;
116
        else return NULL;
Line 132... Line 132...
132
                        LastTime.Month = SystemTime.Month;
132
                        LastTime.Month = SystemTime.Month;
133
                        LastTime.Day = SystemTime.Day;
133
                        LastTime.Day = SystemTime.Day;
134
                        LastTime.Valid = 1;
134
                        LastTime.Valid = 1;
135
                        filenum = 0; // reset file counter
135
                        filenum = 0; // reset file counter
136
                }
136
                }
137
        if(filenum < 100) sprintf(filename, "/LOG/%04i%02i%02i/GPX/%02i%02i%02i%02i.GPX", SystemTime.Year, SystemTime.Month, SystemTime.Day, SystemTime.Year % 100, SystemTime.Month, SystemTime.Day, filenum);
137
                if(filenum < 100) sprintf(filename, "/LOG/%04i%02i%02i/GPX/%02i%02i%02i%02i.GPX", SystemTime.Year, SystemTime.Month, SystemTime.Day, SystemTime.Year % 100, SystemTime.Month, SystemTime.Day, filenum);
138
                else sprintf(filename, "/LOG/%04i%02i%02i/GPX/GPS%05i.GPX", SystemTime.Year, SystemTime.Month, SystemTime.Day, filenum);
138
                else sprintf(filename, "/LOG/%04i%02i%02i/GPX/GPS%05i.GPX", SystemTime.Year, SystemTime.Month, SystemTime.Day, filenum);
139
                filenum++;
139
                filenum++;
140
                return filename;
140
                return filename;
141
        }
141
        }
142
        else return NULL;
142
        else return NULL;
Line 176... Line 176...
176
        if(CheckDelay(logtimer))
176
        if(CheckDelay(logtimer))
177
        {
177
        {
178
                logtimer = SetDelay(LogDelay);  // standard interval
178
                logtimer = SetDelay(LogDelay);  // standard interval
Line 179... Line 179...
179
 
179
 
180
                if(FC.StatusFlags & FC_STATUS_MOTOR_RUN)
180
                if(FC.StatusFlags & FC_STATUS_MOTOR_RUN)
181
                 {
181
                {
182
                  logging_active = 1;
182
                        logging_active = 1;
183
                  appendtimer = SetDelay(APPEND_LOG_TIME_MS);
183
                        appendtimer = SetDelay(APPEND_LOG_TIME_MS);
184
                 }
184
                }
185
                else
185
                else
186
                 {
186
                {
187
                  if(CheckDelay(appendtimer)) logging_active = 0;
187
                        if(CheckDelay(appendtimer)) logging_active = 0;
Line 188... Line 188...
188
                 }
188
                }
189
 
189
 
190
                if(logging_active)
190
                if(logging_active)
191
                {
191
                {
Line 300... Line 300...
300
        u32 measure_time;
300
        u32 measure_time;
Line 301... Line 301...
301
 
301
 
302
        // initialize if LogDelay is zero
302
        // initialize if LogDelay is zero
303
        if(!LogDelay)
303
        if(!LogDelay)
304
        {
304
        {
305
                switch(logfilestate)
305
                switch(logfilestate)
306
                {
306
                {
307
                        case LOGFILE_OPENED:
307
                        case LOGFILE_OPENED:
308
                                GPX_DocumentClose(&logfile); // try to close it
308
                                GPX_DocumentClose(&logfile); // try to close it
309
                                break;
309
                                break;
310
                        default:
310
                        default:
311
                                break;
311
                                break;
312
                }
312
                }
313
                logfilestate = LOGFILE_IDLE;
313
                logfilestate = LOGFILE_IDLE;
314
                logfilename = NULL;
314
                logfilename = NULL;
Line 368... Line 368...
368
                                                        UART1_PutString(logfilename);
368
                                                        UART1_PutString(logfilename);
369
                                                        UART1_PutString("\r\n");
369
                                                        UART1_PutString("\r\n");
370
                                                        SD_LoggingError = 11;
370
                                                        SD_LoggingError = 11;
371
                                                        logtimer = SetDelay(10);  // try again in open logfile in 10 mili sec
371
                                                        logtimer = SetDelay(10);  // try again in open logfile in 10 mili sec
372
                                                }
372
                                                }
373
                                         old_errorcode = ErrorCode;
373
                                                old_errorcode = ErrorCode;
374
                                        }
374
                                        }
375
                                        else
375
                                        else
376
                                        {
376
                                        {
377
                                                logfilestate = LOGFILE_ERROR;
377
                                                logfilestate = LOGFILE_ERROR;
378
                                                UART1_PutString("\r\nError getting free gpx-file name\r\n");
378
                                                UART1_PutString("\r\nError getting free gpx-file name\r\n");
379
                                                SD_LoggingError = 12;
379
                                                SD_LoggingError = 12;
380
                                        }
380
                                        }
381
                                        // else retry in next loop
381
                                        // else retry in next loop
382
                                        part = 0;
382
                                        part = 0;
383
                                        break;
383
                                        break;
Line 387... Line 387...
387
                                        if((GPSData.Status != INVALID))// && (GPSData.Flags & FLAG_GPSFIXOK) && (GPSData.SatFix == SATFIX_3D))
387
                                        if((GPSData.Status != INVALID))// && (GPSData.Flags & FLAG_GPSFIXOK) && (GPSData.SatFix == SATFIX_3D))
388
                                        {
388
                                        {
389
                                                if(!GPX_LoggGPSCoordinates(&logfile,part))
389
                                                if(!GPX_LoggGPSCoordinates(&logfile,part))
390
                                                {       // error logging data
390
                                                {       // error logging data
391
                                                        UART1_PutString("\r\nError logging to gpx-file\r\n");
391
                                                        UART1_PutString("\r\nError logging to gpx-file\r\n");
392
                                                        GPX_DocumentClose(&logfile);
392
                                                        GPX_DocumentClose(&logfile);
393
                                                        SD_LoggingError = 13;
393
                                                        SD_LoggingError = 13;
394
                                                        logfilestate = LOGFILE_ERROR;
394
                                                        logfilestate = LOGFILE_ERROR;
395
                                                }
395
                                                }
396
                                                else // successful log
396
                                                else // successful log
397
                                                {
397
                                                {
Line 453... Line 453...
453
 
453
 
454
        Logging_KML(0); // initialize
454
        Logging_KML(0); // initialize
455
        LogCfg.GPX_Interval = 0; //default
455
        LogCfg.GPX_Interval = 0; //default
456
        Settings_GetParamValue(PID_GPX_LOGGING, (u16*)&LogCfg.GPX_Interval); // overwrite by settings value
456
        Settings_GetParamValue(PID_GPX_LOGGING, (u16*)&LogCfg.GPX_Interval); // overwrite by settings value
457
        if(LogCfg.GPX_Interval != 0 && LogCfg.GPX_Interval < MIN_SD_INTERVAL_GPX) LogCfg.GPX_Interval = MIN_SD_INTERVAL_GPX;
457
        if(LogCfg.GPX_Interval != 0 && LogCfg.GPX_Interval < MIN_SD_INTERVAL_GPX) LogCfg.GPX_Interval = MIN_SD_INTERVAL_GPX;
458
        Logging_GPX(0); // initialize
458
        Logging_GPX(0); // initialize
Line 459... Line 459...
459
}
459
}
460
 
460
 
461
//----------------------------------------------------------------------------------------------------
461
//----------------------------------------------------------------------------------------------------