[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gpsd-users] epx, epy values never change

From: Jeff Loughlin
Subject: Re: [gpsd-users] epx, epy values never change
Date: Fri, 21 Oct 2016 09:52:07 -0400

Okay, using git bisect I narrowed it down to this commit:

commit fccb36a8cc93990b22e0c4bdbd264e4d3a885e5d
Author: Eric S. Raymond <address@hidden>
Date: Tue Jan 15 06:52:23 2013 -0500

Do *not* clear DOPs every time a satellite picture comes from the receiver.

Required a regression-test rebuild.

The immediate reason for this was Savannah bug bug #37810:
satellites_used always zero via gpsd socket with multi nmea GSA/GSV. As the
user reporting said:

The "satellites_used" field in a "struct gps_data_t" filled in by
"gps_read" is always returning zero.

This module emits GNGSA messages in a group of three. My information
is that the first GNGSA pertains to GPS, second to GLONASS, third to
QZSS. It also emits GSV messages using talker id's GL,GP,QZ.

The larger point is that DOPs are likely to be valid for longer than
a GSV reporting cycle; they change only slowly as the actual sat
configuration does. So it makes sense to retain them.


That last paragraph leaves me wondering if I have a bug in my expectations - as I understood it, epx and epy should reflect the current reception conditions (which can change depending on receiver location, tree cover, etc), and not just the satellite configuration.  Is that an incorrect assumption?

I don't want to report this as a bug if it's really just a misunderstanding on my part - obviously esr knows a whole lot more about this stuff than I do, so that latter case is more likely...

On Fri, Oct 21, 2016 at 2:47 AM, Chris Kuethe <address@hidden> wrote:
Please see "How do I report bugs in GPSD?" in the FAQ

It mentions using "git bisect" do a binary search to pin down where
the behavior starts and ends. I don't have an example handy, but I'm
sure it's in the list archives somewhere.

On Thu, Oct 20, 2016 at 11:19 AM, Jeff Loughlin <address@hidden> wrote:
> Running gpsd 3.16 on a Raspberry Pi 3 (Raspbian 4.4.23-v7+)
> On an older Raspberry Pi I had gpsd version 3.6 installed and working fine.
> I'm now setting up a new RPi 3 to replace it.  I installed gpsd version
> 3.16, built from source. Same GPS unit (Adafruit Ultimate GPS module).  My
> application uses libgps, and everything seems to work fine except that the
> values in gps_data->fix.epx and gps_data->fix.epy never change.  I use those
> values to display an accuracy ellipse on a map, which is important for my
> application.
> I can reproduce this with cgps.  When I first start gpsd and run cgps, I see
> the Latitude Err and Longitude Err fields populated with what looks like a
> reasonable value after a few seconds, but it never changes after that.  I
> would expect those values to change drastically when I move the GPS away
> from the window, but they do not.  If I stop and restart gpsd, I get new
> values once, but they never change after the initial setting.  I have let it
> run for days without seeing any change.
> Since this was working in the old version, I downloaded the source for
> version 3.6 and built it on the new RPi, and I do not have the issue - the
> epx and epy values change frequently, which is what I expect - so something
> must have changed between 3.6 and 3.16 that causes this to break.  All unit
> tests pass with both versions.  I have not tried any other versions between
> 3.6 and 3.16, but I can try to narrow it down to which specific version
> breaks it, if that will help.
> For now I'm up and running on version 3.6, but would prefer to be on the
> latest - I'm willing to go back to the broken version for troubleshooting if
> someone can give me suggestions on what to try or what to look at.

GDB has a 'break' feature; why doesn't it have 'fix' too?

reply via email to

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