gpsd-dev
[Top][All Lists]
Advanced

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

Re: [gpsd-dev] [PATCH] Fix on NMEA driver 2D mode


From: Eric S. Raymond
Subject: Re: [gpsd-dev] [PATCH] Fix on NMEA driver 2D mode
Date: Thu, 5 Apr 2012 14:28:41 -0400
User-agent: Mutt/1.5.21 (2010-09-15)

José Miguel Gonçalves <address@hidden>:
> >Under what circumstances can this happen? It doesn't seem to occur
> >with the full log.  Does it happen only when the sentence inventory
> >emitted is reduced?
> 
> I've seen it only with the partial set of messages whose log I've
> sent previously.  I'm not sure if it happens also with the full set
> (I will test it when I have access to the receiver again).

Please do.

> >I'm reluctant to change that test because doing that would break
> >functionality on other devices.  If that means we have to attach a
> >note saying you can't disable sentences and still expect the PolaR2x
> >to work with GPSD, then that's how it has to be.
> 
> I don't see how can this break other devices. If you receive a GGA
> message with the GPS quality indicator field bigger than 0, it's
> because you have a valid fix. So, I think it's pretty safe to assume
> that, if the receiver sends a void altitude field when we have a
> valid fix, we have a 2D fix.

But what if a device claims to have fix status but sets mode 1 in a
GSA?  Your change would pass back spurious data.  Don't laugh - I've
seen weirder misbehaviors from real devices.  The NMEA driver is
conservative in its assumptions precisely because we've seen GPSes
fling so much crap up the wire.

> I think a better approach (that I've used in the past for software
> that I implemented for my company) is to extract only the values
> explicitly set by the NMEA messages and detect the time interval
> between NMEA batch of messages, using that interval to assemble and
> compute (if possible) values that were not explicitly set in the
> messages that the receiver provided.

That...sounds like the way the NMEA driver actually works. :-)

You might want to take a closer look at the cycle-detection logic.
-- 
                <a href="http://www.catb.org/~esr/";>Eric S. Raymond</a>



reply via email to

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