[Top][All Lists]

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

Re: [gpsd-users] Galileo

From: aimdev
Subject: Re: [gpsd-users] Galileo
Date: Wed, 7 Mar 2018 07:21:28 +0000


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

The settings on my gps  are not saved when it asks if you want to write setting, 
there is a small button to be pressed on ublox-centre which I never noticed before.

Quick test showed gpsd didn't change settings after use, but I will check it again.

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.

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.
    if (satnum >= 33 && satnum <= 64)
satnum += 87;
    if (satnum != 0 && satnum < 32) {
/* map Beidou IDs */
if (talker[0] == 'B' && talker[1] == 'D')
   satnum += 200;
else if (talker[0] == 'G' && talker[1] == 'B')
   satnum += 200;
/* GLONASS GL doesn't seem to do this, but better safe than sorry */
if (talker[0] == 'G' && talker[1] == 'L')
   satnum += 37;
/* QZSS */
if (talker[0] == 'Q' && talker[1] == 'Z')
   satnum += 193;

    return satnum;

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.

If anyone could confirm my findings that would be very useful

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


On 6 Mar 2018, at 20:59, Paul <address@hidden> wrote:

> > (quite hard to do if you have a systemd system!)

> Easy:  "killall -9 gpsd"

The darned thing is unstoppable!

systemctl stop gpsd.service
systemctl disable gpsd.service
systemctl stop gpsd.socket
systemctl disable gpsd.socket

Still gpsd is running, so I killall -9 gpsd
and within a couple of seconds, a new instance of gpsd
is running.  No I haven't got any clients opening the control
socket.  I end up having to temporarily rename the binary.
Haven't got to the bottom of this yet.  I can only do so much
at a time with systemd, then I have to go watch funny cat
videos on you-tube for a while.

> >   stty -F /dev/ttyACM0 -echo
> The '-echo' not needed,

I find that without turning off echo, the serial port reflects
the incoming NMEA back to the u-blox which then complains
about unrecognised commands.

> > Yes I think all the 8 series can do three GNSS.

> Much more.  BeiDou, QZSS, etc.

Indeed but I think only at most three GNSS networks at
a time.

Yes you definitely need to save the settings after enabling
the three GNSS and setting protocol 4.1: gpsd doesn't do
that for you - I think that's a good policy, I wouldn't want
gpsd second-guessing and overriding my settings.

To save the settings: UBX-CFG-CFG (0x06 0x09) with saveMask
field set to 0x61f, works for me.

I think that when the u-blox is set up correctly for the three
networks and you can see GAGSV in the NMEA and your settings
are saved, gpsd is sure to be using the full solution.

Paul Nicholson

reply via email to

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