DS1307: Change year bias to 1968 which is a leap year juse like 2000

This commit is contained in:
Gregory Nutt 2015-11-19 15:12:40 -06:00
parent c34b5108a7
commit 892ba4f26a
2 changed files with 7 additions and 5 deletions

View File

@ -392,9 +392,11 @@ int up_rtc_getdatetime(FAR struct tm *tp)
tp->tm_year = tmp + 100; tp->tm_year = tmp + 100;
} }
#else #else
/* No century indicator. The RTC will hold years since 1970 */ /* No century indicator. The RTC will hold years since 1968 (a leap year like
* 2000)
*/
tp->tm_year = tmp + 70; tp->tm_year = tmp + 68;
#endif #endif
rtc_dumptime(tp, "Returning"); rtc_dumptime(tp, "Returning");
@ -512,10 +514,10 @@ int up_rtc_settime(FAR const struct timespec *tp)
} }
#else #else
/* Use years since 1970 */ /* Use years since 1968 (a leap year like 2000) */
century = 0; century = 0;
year = newtm.tm_year - 70; year = newtm.tm_year - 68;
#endif #endif
/* Save the month (1-12) with century */ /* Save the month (1-12) with century */

View File

@ -201,11 +201,11 @@ static void clock_inittime(void)
void clock_initialize(void) void clock_initialize(void)
{ {
#if defined(CONFIG_RTC) && !defined(CONFIG_RTC_EXTERNAL)
/* Initialize the internal RTC hardware. Initialization of external RTC /* Initialize the internal RTC hardware. Initialization of external RTC
* must be deferred until the system has booted. * must be deferred until the system has booted.
*/ */
#if defined(CONFIG_RTC) && !defined(CONFIG_RTC_EXTERNAL)
up_rtcinitialize(); up_rtcinitialize();
#endif #endif