gpsd-dev
[Top][All Lists]
Advanced

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

Re: [gpsd-dev] Initialization & probing questions


From: Gary E. Miller
Subject: Re: [gpsd-dev] Initialization & probing questions
Date: Thu, 29 Mar 2018 19:46:20 -0700

Yo Kai!

On Thu, 29 Mar 2018 19:26:08 +0200
Kai Harrekilde-Petersen <address@hidden> wrote:

> The next problem I am facing is that test/daemon/skytraq-bin.log
> fails, because the test sends out 56 (pseudo)NMEA sentences that
> shouldn't be there. Some of them ($GPALM) are sent by pseudonmea.c -
> a file I haven't touched at all, which is a bit confusing.

Well, all the regressions pass for me right now on git head, so if
you have a failing regression test you either broke something, or
improved something.

This is why I use git and make small changes.  Then I can bisect
my work and see where things changed.

The psuedoNMEA is usually pretty normal for most drivers.  Some clients
only understand NMEA, so nice to support JSON and NMEA.

If all you did it enable the psuedoNMEA that might be an improvement,
if the data looks good.

> Is there any documentation of the regression system outside of RTFS? 
> It's a bit of a rabbit-hole to jump into (especially when not knowing 
> Python).

Not much.  There is the regres-driver help: ./regress-driver -h

But you only need to know two two things to use it:
1. to check the regressions:
        scons check
2. to rebuild an 'improved' regression:
        regres-driver -b test/daemon/skytraq-bin.log


> I looked into skytraq-bin.log and it contains Raw Measurement Data 
> Extention sentences (AN0030) /only/.

Yup, ALl the logs are jsut binary captures of what a GPS ouput at
one time.  Usually captured with: gpspipe -w > tmp.log

> I will grab a few Navigation
> Data messages (0xA8) and add them to the test suite once I get there.

Easy with gpspipe.

> BTW, I am unable to force gpsd to switch from NMEA mode to Skytraq
> mode using gpsctl, when the Skytraq is in NMEA mode. Maybe this is
> related?

No, the gpsctl mode switching is always problematic.  And totally
unrelated to regressions.

> It seems like that gpsd needs to see a \xA0\xA1 sequence from the
> module before it wants to switch. Sending a "gpsctl -b -t
> Skytraq /dev/ttyS0" don't get a message through to the driver
> selection code at all (or so it seems). What does work is killing
> gpsd and using echo to send a hand-crafted message (echo -n -e 
> '\xA0\xA1\x00\x03\x09\x02\x00\x0B\x0D\x0A' > /dev/ttyS0) to the
> module go into binary mode and /then/ start gpsd.

Could be.  How about when gpsd is already running?  Different code
paths.

> In the same vein, I've never been able to coax gpsctl into actually 
> sending a sentence to the GPS for me (rather annoying). I ended up 
> hand-crafting a number of useful commands that I then cat
> > /dev/ttyS0 to switch modes, change speeds and update rates.

The skyrtaq is lightly used and lightly tested, so rough edges not
unexpected.

Very common for people top hand craft their own setup binary.  The
gpsd GPS configuration tools are very minimal.  I've been working on
a u-blox configurator, slow going.  

> I have attached my patches for the curious.

Coming along, big mistake here:

+#define MAX_GPSPACKET_TYPE     16      /* increment this as necessary */

Think about the comment!

Did you test this in gpsctl, both with and without gpsd?


RGDS
GARY
---------------------------------------------------------------------------
Gary E. Miller Rellim 109 NW Wilmington Ave., Suite E, Bend, OR 97703
        address@hidden  Tel:+1 541 382 8588

            Veritas liberabit vos. -- Quid est veritas?
    "If you can’t measure it, you can’t improve it." - Lord Kelvin

Attachment: pgpjhAC7syT61.pgp
Description: OpenPGP digital signature


reply via email to

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