@@ -20,7 +20,7 @@ void DateTime::SetCurrentTime(std::chrono::time_point<std::chrono::system_clock,
20
20
UpdateTime (previousSystickCounter); // Update internal state without updating the time
21
21
}
22
22
23
- void DateTime::SetTime (uint16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second, uint32_t systickCounter ) {
23
+ void DateTime::SetTime (uint16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second) {
24
24
std::tm tm = {
25
25
/* .tm_sec = */ second,
26
26
/* .tm_min = */ minute,
@@ -35,9 +35,8 @@ void DateTime::SetTime(uint16_t year, uint8_t month, uint8_t day, uint8_t hour,
35
35
36
36
NRF_LOG_INFO (" %d %d %d " , day, month, year);
37
37
NRF_LOG_INFO (" %d %d %d " , hour, minute, second);
38
- previousSystickCounter = systickCounter;
39
38
40
- UpdateTime (systickCounter );
39
+ UpdateTime (previousSystickCounter );
41
40
NRF_LOG_INFO (" * %d %d %d " , this ->hour , this ->minute , this ->second );
42
41
NRF_LOG_INFO (" * %d %d %d " , this ->day , this ->month , this ->year );
43
42
@@ -63,7 +62,7 @@ void DateTime::UpdateTime(uint32_t systickCounter) {
63
62
* 1000 ms = 1024 ticks
64
63
*/
65
64
auto correctedDelta = systickDelta / 1024 ;
66
- auto rest = ( systickDelta - (correctedDelta * 1024 )) ;
65
+ auto rest = systickDelta % 1024 ;
67
66
if (systickCounter >= rest) {
68
67
previousSystickCounter = systickCounter - rest;
69
68
} else {
0 commit comments