File tree Expand file tree Collapse file tree 1 file changed +17
-4
lines changed Expand file tree Collapse file tree 1 file changed +17
-4
lines changed Original file line number Diff line number Diff line change 24
24
#define EPOCH_TIME_OFF 946684800 // This is 1st January 2000, 00:00:00 in epoch time
25
25
#define EPOCH_TIME_YEAR_OFF 100 // years since 1900
26
26
27
+ // Default date & time after reset
28
+ #define DEFAULT_YEAR 2000 // 2000..2063
29
+ #define DEFAULT_MONTH 1 // 1..12
30
+ #define DEFAULT_DAY 1 // 1..31
31
+ #define DEFAULT_HOUR 0 // 1..23
32
+ #define DEFAULT_MINUTE 0 // 0..59
33
+ #define DEFAULT_SECOND 0 // 0..59
34
+
27
35
voidFuncPtr RTC_callBack = NULL ;
28
36
29
37
RTCZero::RTCZero ()
@@ -83,12 +91,17 @@ void RTCZero::begin(bool resetTime)
83
91
RTCenable ();
84
92
RTCresetRemove ();
85
93
86
- // If desired and valid, restore the time value
87
- if ((!resetTime) && (validTime)) {
94
+ // If desired and valid, restore the time value, else use first valid time value
95
+ if ((!resetTime) && (validTime) && (oldTime. reg != 0L ) ) {
88
96
RTC->MODE2 .CLOCK .reg = oldTime.reg ;
89
- while (RTCisSyncing ())
90
- ;
91
97
}
98
+ else {
99
+ RTC->MODE2 .CLOCK .reg = RTC_MODE2_CLOCK_YEAR (DEFAULT_YEAR - 2000 ) | RTC_MODE2_CLOCK_MONTH (DEFAULT_MONTH)
100
+ | RTC_MODE2_CLOCK_DAY (DEFAULT_DAY) | RTC_MODE2_CLOCK_HOUR (DEFAULT_HOUR)
101
+ | RTC_MODE2_CLOCK_MINUTE (DEFAULT_MINUTE) | RTC_MODE2_CLOCK_SECOND (DEFAULT_SECOND);
102
+ }
103
+ while (RTCisSyncing ())
104
+ ;
92
105
93
106
_configured = true ;
94
107
}
You can’t perform that action at this time.
0 commit comments