[Top][All Lists]

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

Re: [gpsd-users] Galileo

From: Gary E. Miller
Subject: Re: [gpsd-users] Galileo
Date: Wed, 7 Mar 2018 10:14:08 -0800

Yo aimdev!

On Wed, 7 Mar 2018 07:21:28 +0000
aimdev <address@hidden> wrote:

> My quickest way, chmod 444 /usr/sbin/gpsd then service gpsd stop or
> killall -9 gpsd

Ouch.  Maybe someone will cluebat the serviced folks someday...

You just confirm my passion to avoid systemd at all costs.

> No GAGSV sentences seen using gpspipe or gpsmon /dev/ttyACM0, but
> they are being produced, according to ublox-centre and with 
> stty -F /dev/ttyACM0 -echo &&  cat /dev/ttyACM0.

Which gpspipe mode?  Beware of gpsmon, it has a lot of GPS version
tricks that can be misleading.

> My client software needs to identify the constellation based on a
> prn, which is not apparent in all sets, so gpsd appears to resolve in
> the code (driver_nmea0183,c), // NMEA-ID (33..64) to SBAS PRN 120-151.

Well, now you stepped in the <CENSORED>.

Almost all GNSS systems (GPS, GLONASS, GALILEO, etc.) use their own
Psuedo Random (Gold) Codes and they almost all number them starting with
number 1.  So there is a GPS PRN1, a GALILEO PRN 1, a QZSS PRN 1, etc.

When this mess started to happen, the GPS vendors just mapped the new
PRNs into higher numbers in the GPS PRN 8 bit space.  Some vendors
called their (mutually incompatible) methods Universal Satellite Index
(USI).  But now there are more than 256 planned GNSS birds, so as bad
as that was, it no longer works, and some vendors are coming up newer
mappings of indexes.  One is called Extended Satellite Index (ESI).

There is NO standard way to encode GNSS sat numbers into PRN.  Different
GPS vendors and different GPS firmware do it different ways.
Different GPS do it different ways depending on the NMEA version you
set, what messages (NMEA and binary) you set.  As a result gpsd does it
different ways in different places.

The only thing you can do as a user is grab your GPS doc, look at
cgps, and try to do the map yourself.  Then send us a copy and we'll
have to document all the variables.

The NMEA mapping is a horrible mess, the NMEA people, with their secret
standards (that real people can't see), have done it to themselves.
Your besst bet is to put your GPS in native binary mode, then RTFM.

> The problem is that it appears Galileo sentences use a numeric nmea
> id starting at 1, so the fact that it is from a GAG nmea sentence is
> required to be used to add an offset for Galileo, presumable via the
> relevant talker. I haven't delved into the code any further yet.

Oh, much, much worse than that... u-blox has at least 3 different
mappings possible by user configuration on most version 8 devices.

> These are my thoughts, I am sure people more knowledgeable with
> gpsd’s code will be able to provide a solution.

Sadly the problem is much bigger than gpsd.  gpsd just tries to
figure out the mess.  Put your u-blox in binary mode and you'll
be almost to a good place.

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: pgpJnXcix5J8a.pgp
Description: OpenPGP digital signature

reply via email to

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