gpsd-users
[Top][All Lists]
Advanced

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

Re: [gpsd-users] Using gpsd as a NTRIP Client


From: Pablo Rodriguez Monetti
Subject: Re: [gpsd-users] Using gpsd as a NTRIP Client
Date: Mon, 6 May 2013 13:07:18 -0300

Eric, is there a known problem when the ntrip source is using a TCP output mode?

When ntripserver is running in UDP output mode, gpsd can connect well to the caster:

address@hidden:~# /usr/sbin/gpsd -n -P /var/run/gpsd-rtcm.pid -S 2948 ntrip://rover:address@hidden:2101/VCON0 -N -D 3
gpsd:INFO: launching (Version 3.7)
gpsd:ERROR: can't create IPv6 socket
gpsd:INFO: listening on port 2948
gpsd:INFO: NTPD ntpd_link_activate: 1
gpsd:INFO: stashing device ntrip://rover:address@hidden:2101/VCON0 at slot 0
gpsd:INFO: gpsd_activate(): activated GPS (fd 6)
gpsd:INFO: device ntrip://rover:address@hidden:2101/VCON0 activated
gpsd:INFO: running with effective group ID 0
gpsd:INFO: running with effective user ID 65534
gpsd:INFO: startup at 2013-05-06T16:02:58.000Z (1367856178)
gpsd:INFO: ntrip://rover:address@hidden:2101/VCON0 identified as type RTCM104V3 (1.835601 sec @ 0bps)
gpsd:DATA: packet type 17 from ntrip://rover:address@hidden:2101/VCON0 with {ONLINE|RTCM3|PACKET|DRIVER}
gpsd:ERROR: overlong RTCM packet (155 bytes)
gpsd:DATA: packet type 17 from ntrip://rover:address@hidden:2101/VCON0 with {ONLINE|RTCM3|PACKET}
gpsd:ERROR: overlong RTCM packet (155 bytes)
gpsd:DATA: packet type 17 from ntrip://rover:address@hidden:2101/VCON0 with {ONLINE|RTCM3|PACKET}

However, when ntripserver is running in TCP mode gpsd cannot correctly get connected:

address@hidden:~# /usr/sbin/gpsd -n -P /var/run/gpsd-rtcm.pid -S 2948 ntrip://rover:address@hidden:2101/VCON0 -N -D 3
gpsd:INFO: launching (Version 3.7)
gpsd:ERROR: can't create IPv6 socket
gpsd:INFO: listening on port 2948
gpsd:INFO: NTPD ntpd_link_activate: 1
gpsd:INFO: stashing device ntrip://rover:address@hidden:2101/VCON0 at slot 0
gpsd:INFO: gpsd_activate(): activated GPS (fd 6)
gpsd:INFO: device ntrip://rover:address@hidden:2101/VCON0 activated
gpsd:INFO: running with effective group ID 0
gpsd:INFO: running with effective user ID 65534
gpsd:INFO: startup at 2013-05-06T16:04:48.000Z (1367856288)
gpsd:INFO: hunt on ntrip://rover:address@hidden:2101/VCON0 failed (0.837023 sec since data)
gpsd:WARN: device read of ntrip://rover:address@hidden:2101/VCON0 returned error or packet sniffer failed sync (flags {ERROR})
gpsd:INFO: closing GPS=ntrip://rover:address@hidden:2101/VCON0 (6)

although the RTCM is correctly received from other clients.

Cheers,

Pablo



On Tue, Apr 23, 2013 at 2:24 PM, Pablo Rodriguez Monetti <address@hidden> wrote:
Thanks for your answer, Eric.

For now, It is enough for me to continue parsing the JSON object in order to extract the RTCM data.  Besides, I do not count with all the information needed to make the test pairs you have mentioned.

Cheers,

Pablo




On Tue, Apr 23, 2013 at 11:22 AM, Eric S. Raymond <address@hidden> wrote:
Pablo Rodriguez Monetti <address@hidden>:
> Is the dumping of this kind of messages completely supported now? I could
> read at http://catb.org/gpsd/gpsd_json.html that it is not, but maybe that
> web page was not updated.

Unfortunately, full decoding is not yet supported.  I'd like to, but because
I lack test pairs for some RTCM3 packet types not all are yet supported.
The most useful thing you could do is give me test pairs for the
packet types you're concerned about.

A test pair includes (1) a binary RTCM3 packet, and (2) a labelled
dump of its fields (*all* the fields) in a readable format, made by
a decoder that is known good.

> I wrote a simple program, based on test_gpsmm (the test for libgpsmm that
> comes with the gpsd distribution), that uses a gpsd client in order to
> extract the RTCM information. I added a line of code to print the client
> buffer content (after checking that the PACKET_SET mask bit is on) and,
> when running the program, I could continually get JSON objects like the
> following:

Those look reasonable.

> However, against my expectations, the RTCM3_SET mask bit is never turned
> on.

Yes.  That is because the client library doesn't support RTCM3 yet. It
reads the RTCM3 JSON structures off the wire but doesn't know how how
to unpack them into the rtcm3 menber of struct gps_data_t.

I haven't implemented that because I'm not confident about the daemon's
RTCM3 decoder.  If you want it, you can either (a) find me enough test pairs
that I know it's really good, then wait until I have time to write the
library-side support, or (b) write it yourself.  You could use the code in
rtcm2_json.c as a model.
--
                <a href="" href="http://www.catb.org/~esr/" target="_blank">http://www.catb.org/~esr/">Eric S. Raymond</a>



reply via email to

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