Subversion Repositories NaviCtrl

Rev

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

Rev 610 Rev 705
Line 65... Line 65...
65
#include "led.h"
65
#include "led.h"
66
#include "logging.h"
66
#include "logging.h"
Line 67... Line 67...
67
 
67
 
68
#define MIN_SD_INTERVAL_KML  200
68
#define MIN_SD_INTERVAL_KML  200
69
#define MIN_SD_INTERVAL_GPX  200
-
 
Line 70... Line 69...
70
#define APPEND_LOG_TIME_MS  2510 // log some more time
69
#define MIN_SD_INTERVAL_GPX  200
Line 71... Line -...
71
 
-
 
72
u8 SD_LoggingError = 0;
-
 
Line 73... Line 70...
73
 
70
 
74
#define LOG_FLUSH_INTERVAL 4000 // 4s     // -> and if an Error occures
71
u8 SD_LoggingError = 0;
75
 
72
 
76
 
73
 
Line 87... Line 84...
87
logfilestate_t Logging_KML(u32 LogDelay);
84
logfilestate_t Logging_KML(u32 LogDelay);
88
logfilestate_t Logging_GPX(u32 LogDelay);
85
logfilestate_t Logging_GPX(u32 LogDelay);
Line 89... Line 86...
89
 
86
 
90
LogCfg_t LogCfg = {500 , 1000};
87
LogCfg_t LogCfg = {500 , 1000};
91
u32 Logged_GPX_Counter = 0, Logged_KML_Counter = 0;
88
u32 Logged_GPX_Counter = 0, Logged_KML_Counter = 0;
Line 92... Line 89...
92
u16 KML_Filenum = 0;
89
u16 KML_Filenum = 0, GPX_Filenum = 0, GPX_logging_active = 0;
93
 
90
 
94
//----------------------------------------------------------------------------------------------------
91
//----------------------------------------------------------------------------------------------------
95
s8* GenerateKMLLogFileName(void)
92
s8* GenerateKMLLogFileName(void)
96
{
93
{
97
        static u16 filenum = 0; // file name counter
94
        static u16 filenum = 0; // file name counter
Line 98... Line 95...
98
        static s8 filename[35];
95
        static s8 filename[40];
99
        static DateTime_t LastTime = {0,0,0,0,0,0,0,0};
96
        static DateTime_t LastTime = {0,0,0,0,0,0,0,0};
100
 
97
 
Line 129... Line 126...
129
 
126
 
130
//----------------------------------------------------------------------------------------------------
127
//----------------------------------------------------------------------------------------------------
131
s8* GenerateGPXLogFileName(void)
128
s8* GenerateGPXLogFileName(void)
132
{
129
{
133
        static u16 filenum = 0; // file name counter
130
        static u16 filenum = 0; // file name counter
134
        static s8 filename[35];
131
        static s8 filename[40];
Line 135... Line 132...
135
        static DateTime_t LastTime = {0,0,0,0,0,0,0,0};
132
        static DateTime_t LastTime = {0,0,0,0,0,0,0,0};
136
 
133
 
137
        if(SystemTime.Valid)
134
        if(SystemTime.Valid)
Line 153... Line 150...
153
        else
150
        else
154
        {
151
        {
155
                if(filenum < 100 && SystemTime.Year > 2000) sprintf(filename, "/SIMULATE/%04i%02i%02i/GPX/S%i%02i%02i%02i.GPX", SystemTime.Year, SystemTime.Month, SystemTime.Day, SystemTime.Year % 10, SystemTime.Month, SystemTime.Day, filenum);
152
                if(filenum < 100 && SystemTime.Year > 2000) sprintf(filename, "/SIMULATE/%04i%02i%02i/GPX/S%i%02i%02i%02i.GPX", SystemTime.Year, SystemTime.Month, SystemTime.Day, SystemTime.Year % 10, SystemTime.Month, SystemTime.Day, filenum);
156
                else sprintf(filename, "/SIMULATE/%04i%02i%02i/GPX/SIM%05i.GPX", SystemTime.Year, SystemTime.Month, SystemTime.Day, filenum);
153
                else sprintf(filename, "/SIMULATE/%04i%02i%02i/GPX/SIM%05i.GPX", SystemTime.Year, SystemTime.Month, SystemTime.Day, filenum);
157
        }
154
        }
-
 
155
                GPX_Filenum = filenum;
158
                filenum++;
156
                filenum++;
159
                KML_Filenum = filenum;
-
 
160
                return filename;
157
                return filename;
161
        }
158
        }
162
        else return NULL;
159
        else return NULL;
163
}
160
}
Line 314... Line 311...
314
{
311
{
315
        static  logfilestate_t logfilestate = LOGFILE_IDLE; // the current logfilestate
312
        static  logfilestate_t logfilestate = LOGFILE_IDLE; // the current logfilestate
316
        static  s8* logfilename = NULL;                                         // the pointer to the logfilename
313
        static  s8* logfilename = NULL;                                         // the pointer to the logfilename
317
        static  u32 logtimer = 0, flushtimer = 0, appendtimer = 0;              // the log update timer
314
        static  u32 logtimer = 0, flushtimer = 0, appendtimer = 0;              // the log update timer
318
        static  GPX_Document_t logfile;                                         // the logfilehandle
315
        static  GPX_Document_t logfile;                                         // the logfilehandle
319
        static  u8 part = 0, logging_active = 0, old_errorcode = 0;
316
        static  u8 part = 0, old_errorcode = 0;
320
//      u32 measure_time;
317
//      u32 measure_time;
Line 321... Line 318...
321
 
318
 
322
        // initialize if LogDelay is zero
319
        // initialize if LogDelay is zero
323
        if(!LogDelay)
320
        if(!LogDelay)
Line 341... Line 338...
341
        {
338
        {
342
                if(!part) logtimer = SetDelay(LogDelay);        // standard interval
339
                if(!part) logtimer = SetDelay(LogDelay);        // standard interval
Line 343... Line 340...
343
 
340
 
344
                if(FC.StatusFlags & FC_STATUS_MOTOR_RUN)
341
                if(FC.StatusFlags & FC_STATUS_MOTOR_RUN)
345
                 {
342
                 {
346
                  logging_active = 1;
343
                  if(!GPX_logging_active) GPX_logging_active = 1;
347
                  appendtimer = SetDelay(APPEND_LOG_TIME_MS);
344
                  appendtimer = SetDelay(APPEND_LOG_TIME_MS);
348
                 }
345
                 }
349
                else
346
                else
350
                 {
347
                 {
351
                  if(CheckDelay(appendtimer)) logging_active = 0;
348
                  if(CheckDelay(appendtimer)) GPX_logging_active = 0;
Line 352... Line 349...
352
                 }
349
                 }
353
 
350
 
354
                if(logging_active || part)
351
                if(GPX_logging_active || part)
355
                {
352
                {
356
                        switch(logfilestate)
353
                        switch(logfilestate)
357
                        {
354
                        {
Line 379... Line 376...
379
                                                        flushtimer = SetDelay(LOG_FLUSH_INTERVAL);
376
                                                        flushtimer = SetDelay(LOG_FLUSH_INTERVAL);
380
                                                        logfilestate = LOGFILE_OPENED; // goto next step
377
                                                        logfilestate = LOGFILE_OPENED; // goto next step
381
                                                        UART1_PutString("\r\nOpening gpx-file:");
378
                                                        UART1_PutString("\r\nOpening gpx-file:");
382
                                                        UART1_PutString(logfilename);
379
                                                        UART1_PutString(logfilename);
383
                                                        UART1_PutString("\r\n");
380
                                                        UART1_PutString("\r\n");
-
 
381
                                                        GPX_logging_active = 2;
384
                                                }
382
                                                }
385
                                                else // could not be openend
383
                                                else // could not be openend
386
                                                {
384
                                                {
387
                                                        logfilestate = LOGFILE_ERROR;
385
                                                        logfilestate = LOGFILE_ERROR;
388
                                                        UART1_PutString("\r\nError opening gpx-file: ");
386
                                                        UART1_PutString("\r\nError opening gpx-file: ");
Line 503... Line 501...
503
                                        case 0:
501
                                        case 0:
504
                                                logstate = Logging_KML(LogCfg.KML_Interval);
502
                                                logstate = Logging_KML(LogCfg.KML_Interval);
505
                                                break;
503
                                                break;
506
                                        case 1:
504
                                        case 1:
507
                                                logstate = Logging_GPX(LogCfg.GPX_Interval);
505
                                                logstate = Logging_GPX(LogCfg.GPX_Interval);
-
 
506
                                                break;
-
 
507
                                        case 2:
-
 
508
                                            if(UART_VersionInfo.HWMajor >= 30) logstate = LoggingTrigger(200);
508
                                                logmodule = 0; // resart with first log module
509
                                                logmodule = 0; // resart with first log module
509
                                                break;
510
                                                break;
510
                                        default:
511
                                        default:
511
                                                logmodule = 0;
512
                                                logmodule = 0;
512
                                                break;
513
                                                break;