Rev 610 | Rev 721 | Go to most recent revision | Show entire file | Regard 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; |