View Single Post
  #18   Report Post  
posted to rec.boats.electronics
[email protected] johnpurins@msn.com is offline
external usenet poster
 
First recorded activity by BoatBanter: Feb 2007
Posts: 7
Default Garmin GPS error & USCG 'Consumer Safety Defect' Report

Chet,

I think my post is not clear enough as to what the 512 seconds refers
to and I did not include enough of my log file to show this.

The following sequence occurred on 2006.11.23 and in this particular
case, the GPS completely stopped transmitting NMEA sentences during
the 'error period'. The last valid transmission before the error was
at 235958 and normal transmissions resumed at 000834.

$GPRMC,235956,A,3730.121,N,12228.827,W,0.0,199.6,2 31106,15.0,E,D
$GPRMB,A,,,,,,,,,,,,A,D
$GPGGA,235956,3730.121,N,12228.827,W,2,11,0.9,-7.2,M,-28.5,M,,
$GPGLL,3730.121,N,12228.827,W,235956,A,D
$GPBOD,,T,,M,,
$GPBWC,235956,,,,,,T,,M,,N,,D
$GPVTG,199.6,T,184.6,M,0.0,N,0.0,K,D
$GPXTE,A,A,,,N,D
$GPRMC,235958,A,3730.121,N,12228.827,W,0.0,199.6,2 31106,15.0,E,D
$GPRMB,A,,,,,,,,,,,,A,D
$GPGGA,235958,3730.121,N,12228.827,W,2,11,0.9,-7.3,M,-28.5,M,,
$GPGLL,3730.121,N,12228.827,W,235958,A,D
$GPBOD,,T,,M,,
$GPBWC,235958,,,,,,T,,M,,N,,D
$GPVTG,199.6,T,184.6,M,0.0,N,0.0,K,D
$GPXTE,A,A,,,N,D
$GPRMC,235959,V,,,,,,,,,,N
$GPRMB,V,,,,,,,,,,,,,N
$GPRMC,000834,A,3730.121,N,12228.827,W,0.0,199.6,2 41106,15.0,E,D
$GPRMB,A,,,,,,,,,,,,A,D
$GPGGA,000834,3730.121,N,12228.827,W,2,10,0.9,-5.8,M,-28.5,M,,
$GPGLL,3730.121,N,12228.827,W,000834,A,D
$GPBOD,,T,,M,,
$GPBWC,000834,,,,,,T,,M,,N,,D
$GPVTG,199.6,T,184.6,M,0.0,N,0.0,K,D
$GPXTE,A,A,,,N,D
$GPRMC,000836,A,3730.121,N,12228.827,W,0.0,199.6,2 41106,15.0,E,D
$GPRMB,A,,,,,,,,,,,,A,D
$GPGGA,000836,3730.121,N,12228.827,W,2,10,0.9,-5.7,M,-28.5,M,,
$GPGLL,3730.121,N,12228.827,W,000836,A,D
$GPBOD,,T,,M,,
$GPBWC,000836,,,,,,T,,M,,N,,D
$GPVTG,199.6,T,184.6,M,0.0,N,0.0,K,D
$GPXTE,A,A,,,N,D

From this log, each normal transmission occurs every 2 seconds and the

time stamp seconds are even numbered. The error indication occurs at
235959 which is an odd numbered second so this means that the code is
posting the error during the processing time before the next
transmission. If things were operating normally, this next
transmission would have occurred at 000000.

When the code resumes normal operation, it must have done some
processing prior to the NMEA transmission at 000834 so the 512 second
interval that I refer to is the period of time that the code is not
transmitting properly. This would be from 000000 to 000832.

Of course, I don't have the Garmin source code nor do I know what
their code does but my guess is that a counter is not being reset
properly at the date rollover. It probably just keeps incrementing
until it effectively resets to zero due to overflow. For example, 512
decimal would require 10 bits to represent so if 2 bytes are allocated
to the counter, when it went to 513, the low order 10 bits would be
all zeroes. If the software is using a mask or doing logical
operations only on the 10 bits, then effectively the counter would be
reset to zero. Obviously this is just conjecture on my part and I may
be wrong.

I hope that this explains what I meant more clearly... neither of us
counted incorrectly; we were just referring to different things.