Home |
Search |
Today's Posts |
#10
![]()
posted to rec.boats.electronics
|
|||
|
|||
![]()
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. |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Recalled yet again! | ASA | |||
From the USCG Boating Safety Publication, April 2005 | General | |||
Bwahaha! Bye Bye Bushy! | ASA | |||
REQ: Crack for Maxsea V10 | Tall Ships |