gpsd-users
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]