Subversion Repositories NaviCtrl

Rev

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