// // Write a string to the logfile. // void appendToLogfile(const char* text, int logLevel) { word mjd; byte hour; byte min; byte sec; word year; byte month; byte day; byte weekday; char str[20]; dword tempTick; if (logLevel > LOGLEVEL) return; if (logFD != NULL) { TAP_GetTime( &mjd, &hour, &min, &sec); TAP_ExtractMjd(mjd, &year, &month, &day, &weekday); tempTick = TAP_GetTick(); //sprintf(str,"%02d-%02d-%04d %02d:%02d:%02d - ", day, month, year, hour, min, sec); sprintf(str,"%02d:%02d:%02d %i - ", hour, min, sec, tempTick); TAP_Hdd_Fwrite((void*)str, strlen(str), 1, logFD); TAP_Hdd_Fwrite((void*)text, strlen(text), 1, logFD); TAP_Hdd_Fwrite((void*)"\r\n", strlen("\r\n"), 1, logFD); logByteCount += strlen(text) + strlen("\r\n"); } }
char* Time_DOWDDMM( dword mjd ) { word year; byte month, day, weekDay; static char date[10]; if( TAP_ExtractMjd( mjd, &year, &month, &day, &weekDay ) == 1 ) { switch( weekDay ) { case 6: sprintf(date, "Sun %02d/%02d\0", day, month ); break; case 0: sprintf(date, "Mon %02d/%02d\0", day, month ); break; case 1: sprintf(date, "Tue %02d/%02d\0", day, month ); break; case 2: sprintf(date, "Wed %02d/%02d\0", day, month); break; case 3: sprintf(date, "Thu %02d/%02d\0", day, month ); break; case 4: sprintf(date, "Fri %02d/%02d\0", day, month ); break; case 5: sprintf(date, "Sat %02d/%02d\0", day, month ); break; } } else { // Malformeed mjd format sprintf(date, "?\0" ); } return date; }
void tmMain(void) { static byte tmMainSV = TM_INITILAISE; signalLevel = TAP_GetSignalLevel(); signalQuality = TAP_GetSignalQuality(); TAP_GetTime( &mjd, &hour, &min, &sec); TAP_ExtractMjd( mjd, &year, &month, &day, &weekday); timers = TAP_Timer_GetTotalNum(); switch(tmMainSV) { /* ------------------------------------------------------------------------------------ */ case TM_INITILAISE: tmInitialise(); tmMainSV = TM_SERVICE; break; /* ------------------------------------------------------------------------------------ */ case TM_SERVICE: tmService(); break; /* ------------------------------------------------------------------------------------ */ } mjdLast = mjd; hourLast = hour; minLast = min; secLast = sec; yearLast = year; monthLast = month; dayLast = day; signalLevelLast = signalLevel; signalQualityLast = signalQuality; timersLast = timers; }
char *TimeFormat(dword DateTime, byte Sec, eTimeStampFormat TimeStampFormat) { static char sTimeStamp [25]; //Log adds a SPACE to sTimeStamp. Do not make it too small! word Mjd, Year; byte Month, Day, WeekDay, Hour, Min; Mjd = MJD (DateTime); Hour = HOUR (DateTime); Min = MINUTE (DateTime); TAP_ExtractMjd (Mjd, &Year, &Month, &Day, &WeekDay); switch (TimeStampFormat) { case TIMESTAMP_HM : TAP_SPrint (sTimeStamp, "%02d:%02d", Hour, Min); break; case TIMESTAMP_HMS : TAP_SPrint (sTimeStamp, "%02d:%02d:%02d", Hour, Min, Sec); break; case TIMESTAMP_YMD : TAP_SPrint (sTimeStamp, "%02d-%02d-%02d", Year, Month, Day); break; case TIMESTAMP_YMDHM : TAP_SPrint (sTimeStamp, "%04d-%02d-%02d %02d:%02d", Year, Month, Day, Hour, Min); break; case TIMESTAMP_YMDHMS : TAP_SPrint (sTimeStamp, "%04d-%02d-%02d %02d:%02d:%02d", Year, Month, Day, Hour, Min, Sec); break; case TIMESTAMP_FNYMDHM: TAP_SPrint (sTimeStamp, "%04d%02d%02d_%02d%02d", Year, Month, Day, Hour, Min); break; default : sTimeStamp [0] = '\0'; } return sTimeStamp; }
char *TimeFormat(dword DateTime, byte Sec, eTimeStampFormat TimeStampFormat, char *Result) { TRACEENTER(); word Mjd, Year; byte Month, Day, WeekDay, Hour, Min; if(Result) { Mjd = MJD (DateTime); Hour = HOUR (DateTime); Min = MINUTE (DateTime); TAP_ExtractMjd(Mjd, &Year, &Month, &Day, &WeekDay); if(Mjd == 0) { Year = 0; Month = 0; Day = 0; WeekDay = 0; } switch(TimeStampFormat) { case TIMESTAMP_HM : TAP_SPrint(Result, "%02d:%02d", Hour, Min); break; case TIMESTAMP_HMS : TAP_SPrint(Result, "%02d:%02d:%02d", Hour, Min, Sec); break; case TIMESTAMP_YMD : TAP_SPrint(Result, "%02d-%02d-%02d", Year, Month, Day); break; case TIMESTAMP_YMDHM : TAP_SPrint(Result, "%04d-%02d-%02d %02d:%02d", Year, Month, Day, Hour, Min); break; case TIMESTAMP_YMDHMS : TAP_SPrint(Result, "%04d-%02d-%02d %02d:%02d:%02d", Year, Month, Day, Hour, Min, Sec); break; case TIMESTAMP_FNYMDHM: TAP_SPrint(Result, "%04d%02d%02d_%02d%02d", Year, Month, Day, Hour, Min); break; default : Result[0] = '\0'; break; } } TRACEEXIT(); return Result; }
void appendToLogfile(const char* text) { word mjd; byte hour; byte min; byte sec; word year; byte month; byte day; byte weekday; char str[20]; //TAP_Print("Appending to log file...\r\n"); openLogfile(); if (logFD != NULL) { TAP_Hdd_Fseek(logFD, logByteCount, SEEK_SET); TAP_GetTime( &mjd, &hour, &min, &sec); TAP_ExtractMjd(mjd, &year, &month, &day, &weekday); sprintf(str,"%02d-%02d-%04d %02d:%02d:%02d - ", day, month, year, hour, min, sec); TAP_Hdd_Fwrite((void*)str, strlen(str), 1, logFD); TAP_Hdd_Fwrite((void*)text, strlen(text), 1, logFD); TAP_Hdd_Fwrite((void*)"\r\n", strlen("\r\n"), 1, logFD); logByteCount += strlen(str) + strlen(text) + strlen("\r\n"); closeLogfile(); } }