hi guys,
i already posted this on another site, but haven't gotten a response, maybe i will get one here:
this ultimately boring nerdy stuff and probably doesnt really matter beyond data integrity considerations but i figured i'd bring it up anyway.
i've only had the above dashcam for a few weeks (running fw v.1.011_2018.09.12), but yesterday i started writing some code to grab the gps data out of the video files, so i can whack it in a DB and have a record where the car's gone etc... and noticed that the gps data stored in the video files is sometimes checksummed wrong.
the dashcam stores what appear to be timestamped raw nmea 0183 sentences directly inside the video files, approximately 80KB in.
an example:
i found that on the GPRMC sentences, sometimes the checksum is incorrect. here is an example of an incorrect checksum:
i had a look at all the GPRMC sentences i could find in my dashcam footage and found that the incorrect checksum sentences often had the warning flag set for the "Navigation receiver warning" part of the message, while the ones with correct checksums often had the ok flag set.
changing the V flag to the A flag in the incorrect checksum messages results in the checksum actually being correct:
i also noticed that sometimes A needed to be changed to V for the checksum to be correct. i wrote some code that only substituted A for V or V for A upon checksum error, and found they all subsequently validated.
anyhow,
does anyone know what gps receiver chipset is used in this dashcam? i find it unlikely that the gps receiver itself is making this error, and suspect that blackvue is probably causing the issue, but if i knew what the chipset was i could probably do some googling and find out where the fault lies before i report the issue to the relevant party.
also let me know if you're interested in the code for dumping gps data to db/file. will probably make it export maps by whatever time period to show vehicle path etc. its extracting the data from 110GB of footage in about 5 seconds as it just seeks directly to the relevant crap without reading the entire file.
happy to share.
i already posted this on another site, but haven't gotten a response, maybe i will get one here:
this ultimately boring nerdy stuff and probably doesnt really matter beyond data integrity considerations but i figured i'd bring it up anyway.
i've only had the above dashcam for a few weeks (running fw v.1.011_2018.09.12), but yesterday i started writing some code to grab the gps data out of the video files, so i can whack it in a DB and have a record where the car's gone etc... and noticed that the gps data stored in the video files is sometimes checksummed wrong.
the dashcam stores what appear to be timestamped raw nmea 0183 sentences directly inside the video files, approximately 80KB in.
an example:
[1538216648173]
[1538216648173]$GPRMC,002406.00,A,3753.63717,S,14518.49970,E,0.074,,290918,,,D*6C
[1538216648173]$GPVTG,,T,,M,0.074,N,0.138,K,D*2F
[1538216648173]$GPGGA,002406.00,3753.63717,S,14518.49970,E,2,07,1.12,112.1,M,-1.5,M,,0000*51
[1538216648173]$GPGSA,A,3,27,07,09,28,30,08,23,,,,,,1.87,1.12,1.50*01
[1538216648173]$GPGSV,3,1,11,03,04,009,,07,65,227,41,08,25,068,30,09,76,076,41*7D
[1538216648173]$GPGSV,3,2,11,16,18,139,24,23,46,059,38,27,23,103,28,28,13,332,31*7B
[1538216648173]$GPGSV,3,3,11,30,37,266,24,42,46,360,34,50,46,360,35*48
[1538216648173]$GPGLL,3753.63717,S,14518.49970,E,002406.00,A,D*7D[1538216649174]
i found that on the GPRMC sentences, sometimes the checksum is incorrect. here is an example of an incorrect checksum:
the checksum is the *6A part. the correct checksum is actually 7D$GPRMC,205424.00,V,3754.48531,S,14520.62279,E,0.165,,260918,,,A*6A
i had a look at all the GPRMC sentences i could find in my dashcam footage and found that the incorrect checksum sentences often had the warning flag set for the "Navigation receiver warning" part of the message, while the ones with correct checksums often had the ok flag set.
changing the V flag to the A flag in the incorrect checksum messages results in the checksum actually being correct:
checksum is actually 7D$GPRMC,205424.00,V,3754.48531,S,14520.62279,E,0.165,,260918,,,A*6A
checksum is 6A, matching the *6A found in the sentence$GPRMC,205424.00,A,3754.48531,S,14520.62279,E,0.165,,260918,,,A*6A
i also noticed that sometimes A needed to be changed to V for the checksum to be correct. i wrote some code that only substituted A for V or V for A upon checksum error, and found they all subsequently validated.
anyhow,
does anyone know what gps receiver chipset is used in this dashcam? i find it unlikely that the gps receiver itself is making this error, and suspect that blackvue is probably causing the issue, but if i knew what the chipset was i could probably do some googling and find out where the fault lies before i report the issue to the relevant party.
also let me know if you're interested in the code for dumping gps data to db/file. will probably make it export maps by whatever time period to show vehicle path etc. its extracting the data from 110GB of footage in about 5 seconds as it just seeks directly to the relevant crap without reading the entire file.
happy to share.