diff --git a/src/main/io/gps_ublox.c b/src/main/io/gps_ublox.c index 4fd0c332a21..95feedabb6c 100755 --- a/src/main/io/gps_ublox.c +++ b/src/main/io/gps_ublox.c @@ -635,7 +635,7 @@ static bool gpsParseFrameUBLOX(void) gpsSolDRV.time.hours = _buffer.timeutc.hour; gpsSolDRV.time.minutes = _buffer.timeutc.min; gpsSolDRV.time.seconds = _buffer.timeutc.sec; - gpsSolDRV.time.millis = _buffer.timeutc.nano / (1000*1000); + gpsSolDRV.time.millis = (uint16_t)(MAX(0, _buffer.timeutc.nano) / (1000*1000)); gpsSolDRV.flags.validTime = true; } else { @@ -674,7 +674,7 @@ static bool gpsParseFrameUBLOX(void) gpsSolDRV.time.hours = _buffer.pvt.hour; gpsSolDRV.time.minutes = _buffer.pvt.min; gpsSolDRV.time.seconds = _buffer.pvt.sec; - gpsSolDRV.time.millis = _buffer.pvt.nano / (1000*1000); + gpsSolDRV.time.millis = (uint16_t)(MAX(0, _buffer.pvt.nano) / (1000*1000)); gpsSolDRV.flags.validTime = true; } else {