diff options
author | Andre Naujoks <nautsch2@googlemail.com> | 2011-02-13 05:52:59 -0500 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2011-02-13 05:52:59 -0500 |
commit | 2ad085cf59eeb49e833cc0512a5fad80b06d3f19 (patch) | |
tree | b8a49320c2952e30b9dd920751e4113014be4bd8 /net_gnss_dispatch.c | |
parent | a4950ec0cce35824485c3ba9afcf2677526ff653 (diff) | |
download | gpsd-2ad085cf59eeb49e833cc0512a5fad80b06d3f19.tar.gz |
Bug fixes and improvements for the NTRIP code.
The first thing I had to do to make RTCM work at all, was to remove
the separate poll for the socket (the change in gpsd.c). The same
stuff is done in consume_packet, so there is no loss here. In fact the
duplicated read caused constant lock losses on the RTCM stream because
of missing data, which was already read by the now removed read.
Add RTCM2 passthrough to the UBX driver: versions of the firmware since 7.0
can handle this.
The change in net_ntrip.c adds another string to the valid strings for
rtcm2 to be recognized. See:
http://www.sapos-ni-ntrip.de:2101/sourcetable.htm for the sourcetable
of the server. The mountpoint I am using is EPS_NI. The problem is
the RTCM1_ data format. The people from sapos confirmed, that this is
a RTCM2 stream and so far it works.
All regression tests pass.
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
Diffstat (limited to 'net_gnss_dispatch.c')
-rw-r--r-- | net_gnss_dispatch.c | 19 |
1 files changed, 0 insertions, 19 deletions
diff --git a/net_gnss_dispatch.c b/net_gnss_dispatch.c index 2be38ccb..961f1737 100644 --- a/net_gnss_dispatch.c +++ b/net_gnss_dispatch.c @@ -54,25 +54,6 @@ int netgnss_uri_open(struct gps_context_t *context, char *netgnss_service) /*@ +branchstate */ -int netgnss_poll(struct gps_context_t *context) -/* poll the DGNSS service for a correction report */ -{ - if (context->dsock > -1) { - ssize_t rtcmbytes = - read(context->dsock, context->rtcmbuf, sizeof(context->rtcmbuf)); - if ((rtcmbytes == -1 && errno != EAGAIN) || (rtcmbytes == 0)) { - (void)shutdown(context->dsock, SHUT_RDWR); - (void)close(context->dsock); - context->rtcmbytes = 0; - return -1; - } else { - context->rtcmbytes = (size_t) rtcmbytes; - context->rtcmtime = timestamp(); - } - } - return 0; -} - void netgnss_report(struct gps_device_t *session) /* may be time to ship a usage report to the DGNSS service */ { |