stanleyhuangyc / Freematics

Official source code repository for Freematics
https://freematics.com
419 stars 345 forks source link

Corrupt GPS data after upgrading to "Improved GNSS module initialization" commit #186

Closed gyrofx closed 8 months ago

gyrofx commented 9 months ago

After using the latest telelogger build (https://github.com/stanleyhuangyc/Freematics/commit/1505b85834847aa0922b6f53effabc757b737b1f) GPS data coming from the device seems corrput.

image

The date field is always 000000, which causes parsing to fail and no GPS data to be sent or recorded.

Without the changes from this commit, everything works as expected.

image

Device: Freematics One+ Model B (pretty new), internal GPS, WIFI, built with platform.io on Windows

canegru commented 9 months ago

Confirmed as well, I reverted the commit and it works as expected.

dd310 commented 9 months ago

Even with the latest commit, the issue is not resolved (at least for me, ONE+ model A, external GNSS) Can confirm that the latest commit of FreematicsPlus.cpp that works is still b39413a

stanleyhuangyc commented 9 months ago

This commit seems have affect older batch of devices. Could you guys confirm the date of purchase of your device?

stanleyhuangyc commented 9 months ago

Avoided M10 GNSS commands from being sent as a workaround.

dd310 commented 9 months ago

This commit seems have affect older batch of devices. Could you guys confirm the date of purchase of your device?

09/09/23

canegru commented 9 months ago

This commit seems have affect older batch of devices. Could you guys confirm the date of purchase of your device?

09/12/23 here

gyrofx commented 9 months ago

This commit seems have affect older batch of devices. Could you guys confirm the date of purchase of your device?

07/28/23

stanleyhuangyc commented 9 months ago

The issue is fixed now. It affects ONE+ devices with u-blox m10. It does not affect older batches with m8.

The cause: Recently added m10 configuration commands disable GNSS' RMC sentence so no date value is reported but date is still validated in gpsGetData() in the library causing no GNSS data can be obtained in telelogger.

dd310 commented 9 months ago

Just tried the latest commit and the issue seems indeed solved. Thanks!