Index: RTC.c =================================================================== diff -u -rcc035ecce50596a70d2489e0f591e769d5f6977c -r1b53e0ea50bed8f2155aec6e9c888a4b776b0edc --- RTC.c (.../RTC.c) (revision cc035ecce50596a70d2489e0f591e769d5f6977c) +++ RTC.c (.../RTC.c) (revision 1b53e0ea50bed8f2155aec6e9c888a4b776b0edc) @@ -100,19 +100,18 @@ #define RTC_ACCURACY_TIMEOUT 1000U // ms #define RTC_ACCURACY_TIMEOUT_TOLERANCE 1050U // ms -#define RTC_PUBLISH_INTERVAL 1U // seconds +#define RTC_PUBLISH_INTERVAL 18U // Task general counts #define TIMER_COUNTER_TO_REQUEST_READ 18U #define MAX_ALLOWED_FAILED_RTC_TRANSFERS 3U #define MAX_ALLOWED_RTC_RAM_BYTES 100U #define MAX_ALLOWED_RTC_RAM_ADDRESS 512U #define TEN 10U #define YEAR_2000 2000U - -#ifndef _VECTORCAST_ -#define EPOCH_YEAR 1970U -#else #define EPOCH_YEAR 1900U +#define YEAR_1900_TO_1970_SECONDS_DIFF 2208988800U + +#ifdef _VECTORCAST_ #define LOCAL_TO_GTM_TIME_CONVERSION 8U #endif @@ -796,7 +795,6 @@ { struct tm t; time_t epochTime; - t.tm_sec = RTCTimestampStruct.seconds; t.tm_min = RTCTimestampStruct.minutes; t.tm_hour = RTCTimestampStruct.hours; @@ -815,10 +813,11 @@ // the time is in GMT so 8 hours is subtracted from the hour // to simulate GMT for VectorCAST t.tm_hour = t.tm_hour - LOCAL_TO_GTM_TIME_CONVERSION; -#endif - epochTime = mktime(&t); - +#else + epochTime = mktime(&t); + epochTime = epochTime - YEAR_1900_TO_1970_SECONDS_DIFF; +#endif return (U32)epochTime; }