| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The proximate cause was that we've been seing emission of error
messages that were randomly and disturbingly variable across different
environments - notably Raspbian and Gentoo splint gave nontrivially
different results than Ubuntu 14.10 splint. And this was *not* due to
Ubuntu patches! A pristine splint built from the 3.1.2 tarball on
Ubuntu didn't match the Raspbian and Gentoo results either.
But this has been coming for a while. Easy access to more modern
static analyzers such as coverity, scan-build and cppcheck has been
decreasing the utility of splint, which is unmaintained and somewhat
buggy and not easy to use.
Only file not cleaned is ppsthread.c, because Gary has been working
on it during this cleanup.
All regression tests pass. PPS observed live on GR601-W.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change is done so we can add a "log" hook to the pps_thread_t
structure (this is not done yet) and harmonize with the name of the
outer logging function. If that name had been left as gpsd_report()
there would have been scope for bad confusion with the report_hook
member.
Also, remove two stray duplicative printf calls from the NMEA2000 driver
(drivers shouldn't have printfs!) and fix one typo.
This is a step towards factoring out ntplib. For that to happen, the
PPS thread code needs to be decoupled from the core session structure.
No logic changes. Object compatibility preserved. All regression tests pass.
|
|
|
|
| |
All regression tests pass.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
...with calls to gps_notify(), which indirects to its output method
through a slot in an errout structure. Usually the errout structure
lives inside the session context, but because struct errout_t is its
own thing this does not have to be the case. One large clique of
gpsd_notify() calls, in packet.c and isgps.c, looks at a struct
errout_t copy in a lexer control block
This change is not complete. Remnant gpsd_report calls need to be changed,
and gpsmon needs to be tweaked so that the struct_error_t in its context
is a non-defaukt hook updating the cuses display rather than simply
dumping to stderr. Also the report label functionality needs to be added.
All regression tests pass.
|
|
|
|
|
|
| |
A major step towards eliminating reverse linkage.
All regression tests pass.
|
|
|
|
| |
All regression tests pass. PPS is live.
|
|
|
|
|
|
|
|
| |
This is a large, ugly change. But without it we can't troubleshoot the
ICP/IP-source initialization bug properly - colliding definitions of
gpsd_report() were interfering with error reporting early in gpsd runs.
More cleanup work remains to be done, but at least this is working.
|
|
|
|
|
| |
cppchecker now finds variables that could have reduced scope;
that's most of these.
|
| |
|
|
|
|
| |
Andre Naujoks informed me of this.
|
|
|
|
|
|
|
|
|
| |
This is more global context that really needed to be per-device state. Instead,
create a per-devicd servicetype member to carry this information. Practically
apeaking, this means gpsd can now watch multiple NTRIP and DGPS sessions without
getting confused.
All regressuin tests pass.
|
|
|
|
| |
All regressuin tests pass.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Another step towards integrating NTRIP support in a way that's
actually correct for the daemon architecture. This involved
conditioning out code for DGPSIP server lookups, a feature which was
never documented and has probably been broken forever.
It's actually not even clear there are still any DGPSIP servers still running;
the dgpsip package was removed from Debiann at maintainer request in 2008
(see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=392666). I may
yet just rip out that code entirely.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
This file failed to compile due to use of AF_UNSPEC. POSIX says that
one needs to include sys/socket.h.
http://pubs.opengroup.org/onlinepubs/007908799/xns/syssocket.h.html
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The patch original is at:
https://lists.berlios.de/pipermail/gpsd-dev/attachments/20100111/85ad4e15/attachment.bin
This revision changes netlib_connectsock() to take a first argument that is
an address family and can specify IPv4, IPv6, or either. It also changes
gpsd.c to open two client sockets, one IPv4 and one IPv6, and listen
on both.
As a required cleanup, a number of defaults to "127.0.0.1" become
defaults to "localhost" so we're not hardwiring in IPv4 assumptions
anymore.
I've omitted a significant portion of the Mehani patch that changed the
interface of the client library in an incompatible way. Currently there is
no way to make gpsd listen to IPv4 or IPv6 only, and no way to make a
client query over IPV4 or IPv6 only. Also, we'd really like to be able to
condition out IPv6 or (someday) IPv4 support for a leaner runtime, and
there's no way to do that yet, either.
Under IPv4, regression tests pass; live operation with a GPS mouse and
the aishub feed both work. However, the resulting code does not splint
clean; this will need to be fixed, and that's going to be tricky due
to the new sockaddr_t struct.
|
|
|
|
| |
All regression tests pass,
|
|
|
|
|
|
|
| |
That is, instead of sectioning out two little config defines and
putting them in. This makes gpsd.h self-copntained (e.g. in case it
gets installed as a library header) and means we can get rid of most
inclusions of it.
|
|
|
|
| |
Now to see if I can trim them any.
|
|
|
|
| |
No effect on compilation. All regression tests pass.
|
|
|
|
|
| |
this more accurately reflects that this is now becoming a generic
network gnss interface
|
|
dgpsip and ntrip. eventually, gpsd will be able to connect to a remote gpsd.
|