mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-14 20:10:18 +03:00
commit
1ceb80d11f
1 changed files with 9 additions and 4 deletions
|
@ -1498,10 +1498,15 @@ static bool UBLOX_parse_gps(void)
|
||||||
#ifdef USE_RTC_TIME
|
#ifdef USE_RTC_TIME
|
||||||
//set clock, when gps time is available
|
//set clock, when gps time is available
|
||||||
if (!rtcHasTime() && (_buffer.pvt.valid & NAV_VALID_DATE) && (_buffer.pvt.valid & NAV_VALID_TIME)) {
|
if (!rtcHasTime() && (_buffer.pvt.valid & NAV_VALID_DATE) && (_buffer.pvt.valid & NAV_VALID_TIME)) {
|
||||||
rtcTime_t temp_time = (_buffer.pvt.sec + _buffer.pvt.min * 60 + _buffer.pvt.hour * 3600 + _buffer.pvt.day * 86400 +
|
dateTime_t dt;
|
||||||
(_buffer.pvt.year - 70) * 31536000 + ((_buffer.pvt.year - 69) / 4) * 86400 -
|
dt.year = _buffer.pvt.year;
|
||||||
((_buffer.pvt.year - 1) / 100) * 86400 + ((_buffer.pvt.year + 299) / 400) * 86400) * 1000L;
|
dt.month = _buffer.pvt.month;
|
||||||
rtcSet(&temp_time);
|
dt.day = _buffer.pvt.day;
|
||||||
|
dt.hours = _buffer.pvt.hour;
|
||||||
|
dt.minutes = _buffer.pvt.min;
|
||||||
|
dt.seconds = _buffer.pvt.sec;
|
||||||
|
dt.millis = (_buffer.pvt.nano > 0) ? _buffer.pvt.nano / 1000 : 0; //up to 5ms of error
|
||||||
|
rtcSetDateTime(&dt);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue