Subversion Repositories NaviCtrl

Rev

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

Rev 362 Rev 378
Line 60... Line 60...
60
#include "uart1.h"
60
#include "uart1.h"
61
#include "kml.h"
61
#include "kml.h"
62
#include "gpx.h"
62
#include "gpx.h"
63
#include "ssc.h"
63
#include "ssc.h"
64
#include "settings.h"
64
#include "settings.h"
-
 
65
#include "led.h"
-
 
66
 
-
 
67
#define MIN_SD_INTERVAL  500
Line 65... Line 68...
65
 
68
 
Line 66... Line 69...
66
u8 SD_LoggingError = 0;
69
u8 SD_LoggingError = 0;
Line 67... Line 70...
67
 
70
 
68
#define LOG_FLUSH_INTERVAL 20000 // 20s
71
#define LOG_FLUSH_INTERVAL 2000 // 20s    //##
69
 
72
 
70
typedef enum
73
typedef enum
Line 186... Line 189...
186
                                case LOGFILE_START:
189
                                case LOGFILE_START:
187
                                        // find unused logfile name
190
                                        // find unused logfile name
188
                                        do
191
                                        do
189
                                        {        // try to generate a new logfile name
192
                                        {        // try to generate a new logfile name
190
                                                 logfilename = GenerateKMLLogFileName();
193
                                                 logfilename = GenerateKMLLogFileName();
191
                                        }while((logfilename != NULL) && fexist_(logfilename) && (SD_WatchDog));
194
                                        }while((logfilename != NULL) && fexist_(logfilename));
192
                                        // if logfilename exist
195
                                        // if logfilename exist
193
                                        if(logfilename != NULL)
196
                                        if(logfilename != NULL)
194
                                        {
197
                                        {
195
                                                // try to create the log file
198
                                                // try to create the log file
196
                                                if(KML_DocumentOpen(logfilename, &logfile))
199
                                                if(KML_DocumentOpen(logfilename, &logfile))
Line 302... Line 305...
302
                return logfilestate;
305
                return logfilestate;
303
        }
306
        }
304
        // no init
307
        // no init
305
        if(CheckDelay(logtimer) || part)
308
        if(CheckDelay(logtimer) || part)
306
        {
309
        {
307
                logtimer = SetDelay(LogDelay);  // standard interval
310
                if(!part) logtimer = SetDelay(LogDelay);        // standard interval
Line 308... Line 311...
308
 
311
 
309
                if(FC.StatusFlags & FC_STATUS_MOTOR_RUN || part)
312
                if(FC.StatusFlags & FC_STATUS_MOTOR_RUN || part)
310
                {
313
                {
311
                        switch(logfilestate)
314
                        switch(logfilestate)
Line 321... Line 324...
321
                                case LOGFILE_START:
324
                                case LOGFILE_START:
322
                                        // find unused logfile name
325
                                        // find unused logfile name
323
                                        do
326
                                        do
324
                                        {        // try to generate a new logfile name
327
                                        {        // try to generate a new logfile name
325
                                                 logfilename = GenerateGPXLogFileName();
328
                                                 logfilename = GenerateGPXLogFileName();
326
                                        }while((logfilename != NULL) && fexist_(logfilename) && (SD_WatchDog));
329
                                        }while((logfilename != NULL) && fexist_(logfilename));
327
                                        // if logfilename exist
330
                                        // if logfilename exist
328
                                        if(logfilename != NULL)
331
                                        if(logfilename != NULL)
329
                                        {
332
                                        {
330
                                                // try to create the log file
333
                                                // try to create the log file
331
                                                if(GPX_DocumentOpen(logfilename, &logfile))
334
                                                if(GPX_DocumentOpen(logfilename, &logfile))
Line 370... Line 373...
370
                                                else // successful log
373
                                                else // successful log
371
                                                {
374
                                                {
372
                                                        if(CheckDelay(flushtimer))
375
                                                        if(CheckDelay(flushtimer))
373
                                                        {
376
                                                        {
374
                                                                flushtimer = SetDelay(LOG_FLUSH_INTERVAL);
377
                                                                flushtimer = SetDelay(LOG_FLUSH_INTERVAL);
-
 
378
LED_RED_ON;
-
 
379
 
375
                                                                fflush_(logfile.file);
380
                                                                fflush_(logfile.file);
-
 
381
LED_RED_OFF;
-
 
382
 
376
                                                        }
383
                                                        }
377
                                                }
384
                                                }
378
                                        }
385
                                        }
379
                                        if(++part == 9) part = 0;
386
                                        if(++part == 9) part = 0;
380
//DebugOut.Analog[19] = CountMilliseconds - measure_time;
387
//DebugOut.Analog[19] = CountMilliseconds - measure_time;
Line 417... Line 424...
417
//----------------------------------------------------------------------------------------------------
424
//----------------------------------------------------------------------------------------------------
418
// initialize logging
425
// initialize logging
419
void Logging_Init(void)
426
void Logging_Init(void)
420
{
427
{
421
        SD_LoggingError = 0;
428
        SD_LoggingError = 0;
422
        LogCfg.KML_Interval = 500; //default
429
        LogCfg.KML_Interval = 1000; //default
423
        Settings_GetParamValue(PID_KML_LOGGING, (u16*)&LogCfg.KML_Interval); // overwrite by settings value
430
        Settings_GetParamValue(PID_KML_LOGGING, (u16*)&LogCfg.KML_Interval); // overwrite by settings value
424
        if(LogCfg.KML_Interval != 0 && LogCfg.KML_Interval < 500) LogCfg.KML_Interval = 500;
431
        if(LogCfg.KML_Interval != 0 && LogCfg.KML_Interval < MIN_SD_INTERVAL) LogCfg.KML_Interval = MIN_SD_INTERVAL;
Line 425... Line 432...
425
 
432
 
426
        Logging_KML(0); // initialize
433
        Logging_KML(0); // initialize
427
        LogCfg.GPX_Interval = 0; //default
434
        LogCfg.GPX_Interval = 0; //default
428
        Settings_GetParamValue(PID_GPX_LOGGING, (u16*)&LogCfg.GPX_Interval); // overwrite by settings value
435
        Settings_GetParamValue(PID_GPX_LOGGING, (u16*)&LogCfg.GPX_Interval); // overwrite by settings value
429
        if(LogCfg.GPX_Interval != 0 && LogCfg.GPX_Interval < 500) LogCfg.GPX_Interval = 500;
436
        if(LogCfg.GPX_Interval != 0 && LogCfg.GPX_Interval < MIN_SD_INTERVAL) LogCfg.GPX_Interval = MIN_SD_INTERVAL;
430
        Logging_GPX(0); // initialize
437
        Logging_GPX(0); // initialize
Line 431... Line 438...
431
}
438
}
432
 
439