[SYSTIME] Prevents SysTimeToMs computations that may cause miscalculations when calendarTime is too large
This commit is contained in:
parent
dc557f6d2c
commit
dbf23bb3b3
|
@ -272,7 +272,11 @@ uint32_t SysTimeToMs( SysTime_t sysTime )
|
||||||
DeltaTime.Seconds = UTIL_SYSTIMDriver.BKUPRead_Seconds();
|
DeltaTime.Seconds = UTIL_SYSTIMDriver.BKUPRead_Seconds();
|
||||||
|
|
||||||
SysTime_t calendarTime = SysTimeSub( sysTime, DeltaTime );
|
SysTime_t calendarTime = SysTimeSub( sysTime, DeltaTime );
|
||||||
return calendarTime.Seconds * 1000 + calendarTime.SubSeconds;
|
int64_t calendar_second = calendarTime.Seconds;
|
||||||
|
int64_t calendar_subsecond = calendarTime.SubSeconds;
|
||||||
|
int64_t calendar_time = calendar_second * 1000 + calendar_subsecond;
|
||||||
|
calendar_time = calendar_time % 4194304000;
|
||||||
|
return calendar_time;
|
||||||
}
|
}
|
||||||
|
|
||||||
SysTime_t SysTimeFromMs( uint32_t timeMs )
|
SysTime_t SysTimeFromMs( uint32_t timeMs )
|
||||||
|
|
Loading…
Reference in New Issue