[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: PPS fix determination vs. cgps?
From: |
Steve Bourland |
Subject: |
Re: PPS fix determination vs. cgps? |
Date: |
Fri, 22 Jan 2021 11:04:01 -0600 |
User-agent: |
Alpine 2.21 (DEB 202 2017-01-01) |
Yo Gary!
Date: Thu, 21 Jan 2021 12:27:03 -0800
From: "Gary E. Miller" <gem@rellim.com>
Subject: Re: PPS fix determination vs. cgps? (fwd)
Message-ID: <20210121122703.2866349d@spidey.rellim.com>
Yo Steve!
On Thu, 21 Jan 2021 13:42:15 -0600
Steve Bourland <sbourland@swri.org> wrote:
Looks like you are sending GPRMC, GPGSA and GPGSV every cycle. That
is not normal. The Garmin, and most other receivers, do not compute
GSV every fix, so sending it every fix is a waste. Maybe that is
confusing the cycle ender.
BTW, what is your serial port speed?
4800 baud....happy to see if I can speed that up if the Garmin will do
it...but feel like years ago I looked into it and in NMEA mode, 4800 is
the max output speed? Will investigate.
Can you reset your device to gpsd normal NMEA sentences and see if that
changes anything? At least try GSV every 5 fixes, not every one.
Reading through the Garmin docs to see how to manage this....assuming I'll
need to do something along the lines of:
# cat command.dos > /dev/ttyS0
Where command.dos is just a simple text file with the appropriate ASCII
magic in it from the docs.....terminated with <CR><LF> (hence the .dos
suffix)? Can I use gpsctl to send commands to the unit (checking the man
page...looks like '-x' might be my friend there), or will it struggle
since it is using the "NMEA0183" driver?
Also....do these lines worry you as they worry me?
gpsd:PROG: => Probing for Garmin NMEA
gpsd:IO: SER: => GPS: $PGRMCE*0E\x0d\x0a
gpsd:IO: <= GPS: $GPGSA,A,3,01,26,,31,32,,,,,,,,1.9,1.7,0.9*33^M
gpsd:PROG: NMEA0183: xxGSA sets mode 3
gpsd:DATA: NMEA0183: xxGSA: clear sats_used
My reading of those indicate to me that gpsd tried to send
$PGRMCE*0E\x0d\x0a to the unit, which according to the docs should result
in a response with the values for PGRMC currently being used....but I
don't see that reply in the log :(
Not sure when I will get around to this but didn't want to leave this
thread dangling.
> Correct. But, as you said, xgps and xgps are working as you
> expect, so no point looking at the working part.
My thinking was to see why they thought they had a good fix (what
they were keying off of)
That is right there in the log you sent:
gpsd:IO: <= GPS: $GPGSA,A,3,01,26,,31,32,,,,,,,,1.9,1.7,0.9*33
gpsd:PROG: NMEA0183: xxGSA sets mode 3
to see if PPS was looking for a different
key...
Nope. Same thing, the mode byte. You see it in include/gps.h as
gps_fix_t -> mode. The issue here is always WHEN, not WHERE. Nothing
is the "same time" in gpsd.
So the GPGSA is indicating we have a 3D fix...but not in time for the PPS
to see it? Sorry, trying to understand what's going on...that problem
indicated by the line:
gpsd:PROG: NMEA0183: GPGSA is just after a cycle ender.
So cgps and xgps are "seeing" the GPGSA lines, but the PPS thread isn't
getting it before the cycle ends...and therefore doesn't know we have the
fix? Am I anywhere close to understanding what we think is happening?
Thanks,
Steve