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;
}
#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
rtc_dumptime(tp, "Returning");
@ -512,10 +514,10 @@ int up_rtc_settime(FAR const struct timespec *tp)
}
#else
/* Use years since 1970 */
/* Use years since 1968 (a leap year like 2000) */
century = 0;
year = newtm.tm_year - 70;
year = newtm.tm_year - 68;
#endif
/* Save the month (1-12) with century */

View File

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