4 years agoCorrect HOWTos on WWVB modulation change. master origin/HEAD origin/master
Eric S. Raymond [Wed, 9 Dec 2015 10:56:36 +0000 (05:56 -0500)]
Correct HOWTos on WWVB modulation change.

4 years agoText polishing.
Eric S. Raymond [Wed, 21 Oct 2015 12:13:03 +0000 (08:13 -0400)]
Text polishing.

4 years agoAIS:refine parsing of type 8 DAC 1 FID 16 messages
Jon Schlueter [Tue, 6 Oct 2015 07:26:00 +0000 (03:26 -0400)]
AIS:refine parsing of type 8 DAC 1 FID 16 messages

- Type 8, DAC = 1 FID = 16: This should only be decoded as "Persons on board" if the message length is either 72 or 136 bits long (if even then).
- Type 8, DAC = 1 FID = 16: If decoded, the json output should use the ais->type8.dac1fid16.persons field and not the type6 field

Was not able to locate entry that had persons actually populated in AISHub sample data file

added sample data that should not be decoded to sample.aivdm
had to regenerate large sample file as it had multiple entries for this

Identified by: Stefan Roels <>

type 8 dac 1 fid 16 can have either data or persons
had to add logic to detect structured vs not structured for type 8 FID 16 messages

4 years agowhitespace cleanup in sample.aivdm*.chk files
Jon Schlueter [Thu, 8 Oct 2015 01:32:57 +0000 (21:32 -0400)]
whitespace cleanup in sample.aivdm*.chk files

4 years agoAIS: Add better handling of non byte aligned data blobs
Jon Schlueter [Thu, 8 Oct 2015 01:29:30 +0000 (21:29 -0400)]
AIS: Add better handling of non byte aligned data blobs

I ran into a problem with the type 8 unstructured data. When the number
of bits available is not dividable by 8, the last byte may contain
random bits. I would expect the bits beyond the valid range to be 0.

An example of this can be found in the following message:

The current version decodes this to:


The 510 bits of data are 63 full bytes and then 6 remaining bits. The
last byte has value: 4e, which is 0100 1110. I would expect 4c, 0100 1100.

To fix this, the following patch could be applied. Please note that the
problem might also be present in other message types, but I have not
encountered any problems in other message types in the 1 million
messages I have in my test dataset. Message types that could be impacted
are: 6, 17, 25 and 26, as they all use the same memcpy to get
unstructured data.

Identified by: Stefan Roels <>

Added new sample entry to sample.aivdm that exercises this case
Had to regenerate large ais test data log

4 years agoAdd ais-nmea-sample data file to regression tests
Jon Schlueter [Tue, 6 Oct 2015 09:30:58 +0000 (05:30 -0400)]
Add ais-nmea-sample data file to regression tests

only initial simple chk file generated

this was a sample file from AISHub

There are known warning/errors coming out of driver_ais

These are areas of the ais where bugs might be lurking.

Will be addressed in following patches

4 years agobetter handling of type 6 unhandled FID entries
Jon Schlueter [Thu, 8 Oct 2015 00:47:31 +0000 (20:47 -0400)]
better handling of type 6 unhandled FID entries

When there are unknown FID values in type 6 messages for DAC values that
have some known FIDs (DAC 200, 235 and 250), the data is not read (and
thus printed as all zeros). I have added some example AIVDM messages
which exhibit this problem, some that did not have the problem in the
existing version and a patch for the problem.

Added sample


adjusted loop logic to allow it to continue to process other types

Identified by:  Stefan Roels <>

4 years agoRegenerated ais_unpack_sixbit.log.chk
Jon Schlueter [Tue, 6 Oct 2015 09:31:38 +0000 (05:31 -0400)]
Regenerated ais_unpack_sixbit.log.chk

4 years agojson_trace improvement
Jon Schlueter [Tue, 6 Oct 2015 08:29:37 +0000 (04:29 -0400)]
json_trace improvement

guard on FILE * not being NULL
initialize the buffer for easier debugging

4 years agoFix json_aivdm_dump for bad temp scaling
Jon Schlueter [Tue, 6 Oct 2015 07:13:49 +0000 (03:13 -0400)]
Fix json_aivdm_dump for bad temp scaling

- Type 8, DAC = 1 FID = 11: airtemp, dewpoint and watertemp calculations go wrong due to unsigned ints.

Identified by: Stefan Roels <>

unsigned/signed subtraction was causing math to go wonky.
new sample data added to sample.aivdm which exibits the conversion errors

Also identified watertemp that was failing from same data

Regenerated the corresponding check files from current code

4 years agoadd an ais type9 sample which has speed
Jon Schlueter [Tue, 6 Oct 2015 02:01:49 +0000 (22:01 -0400)]
add an ais type9 sample which has speed

Type 9: the ais->type9.speed field should be used instead of the type1 field

Identifed by: Stefan Roels <>

4 years agoTweak formatting of scons check output
Jon Schlueter [Tue, 6 Oct 2015 02:00:57 +0000 (22:00 -0400)]
Tweak formatting of scons check output

make it a bit easier to follow some of the regression output lines

4 years agofix broken regression tests with aivdm from_sixbit
Jon Schlueter [Tue, 6 Oct 2015 01:10:48 +0000 (21:10 -0400)]
fix broken regression tests with aivdm from_sixbit

Missed 2 test regression check files for whitespace

4 years agoTweak a commment about SHMMEM handling.
Gary E. Miller [Mon, 5 Oct 2015 18:55:44 +0000 (11:55 -0700)]
Tweak a commment about SHMMEM handling.

4 years agoFixup driver_ais from_sixbit parsing
Stefan Roels [Sat, 3 Oct 2015 02:11:12 +0000 (22:11 -0400)]
Fixup driver_ais from_sixbit parsing

One of these problems has to do with the removal of spaces at the end of the six bits ascii strings. According to the documentation, the following steps should be taken:
- Remove everything from the first @ sign (including the @ sign itself)
- Strip trailing spaces from the result

The existing code however fails to do so properly in certain circumstances.

Consider the following scenarios (all assuming count = 20, e.g. type 5 field shipname):
1) The input string: "ALPHA @@@@@@@@@@@@@@" (single space before first @ character)
The from_sixbit function will take i from 0 up to and including 6, where it will see the @ and break. to[6] will then be set to \0. Now the second part of the algorithm kicks in and starts at i=18. I could not find where the field was initialised, so I am not sure whether the field would be zero-filled, @ or space filled or random junk, but in any case either we find spaces or @ signs until we reach i=6, or we break at i>6. This would leave us with:
"ALPHA \0..." The space at to[5] will not be cleared.
2) The input string: "ALPHA BRAVO CHARLIE " (single space at the end)
The from_sixbit function will take i from 0 up to and including 20, the break condition of the for loop will be met and we set to[20] to \0. At that moment we get to the second part of the algorithm which would look at to[18] which is 'E' and break without removing the trailing space.
3) The input string: "ALPHA BRAVO CHARLI E" (space as character before the last one)
The from_sixbit function will take i from 0 up to and including 20, the break condition of the for loop will be met and we set to[20] to \0. At that moment we get to the second part of the algorithm which would look at to[18] which is ' ' and will replace it with a \0, dropping the E at the end.

Another spacing problem lies within the type 21 name/name extension field. If the name field would be trimmed, but there is data in the name extension field, the name extension would not be taken into account. Take for instance the following examples:
name:"ALPHA BRAVO CHARLI E" name extension:"CHO" (assuming the incorrect space removal) result: "ALPHA BRAVO CHARLI" instead of "ALPHA BRAVO CHARLI ECHO"
name:"ALPHA BRAVO CHARLIE " name extension:"DELTA" (assuming removal of the trailing space of name) result "ALPHA BRAVO CHARLIE" instead of "ALPHA BRAVO CHARLIE DELTA"

I have created a patch to solve the problems mentioned above. You can find the patch and some examples of real world messages going wrong below.

Best regards,
Stefan Roels

Added sample data from email and applied provided patch

Signed-off-by: Jon Schlueter <>
4 years agobump gpsd_version to 3.16-dev
Jon Schlueter [Sat, 3 Oct 2015 02:34:51 +0000 (22:34 -0400)]
bump gpsd_version to 3.16-dev

4 years agoFixup line ending inconsistancy in gpsd_json
Stefan Roels [Sat, 3 Oct 2015 01:27:14 +0000 (21:27 -0400)]
Fixup line ending inconsistancy in gpsd_json

the file had 2 entries with \t\n instead of \r\n
relating to persons entry under the AIS entries

Signed-off-by: Jon Schlueter <>
4 years agoAddress Savannah bug #46082 - Can't explicitly build with NMEA drivers.
Eric S. Raymond [Fri, 2 Oct 2015 00:37:28 +0000 (20:37 -0400)]
Address  Savannah bug #46082 - Can't explicitly build with NMEA drivers.

4 years agoFix an incorrect bit length in the IMO289 Hydrologial Data message.
Eric S. Raymond [Fri, 2 Oct 2015 00:30:36 +0000 (20:30 -0400)]
Fix an incorrect bit length in the IMO289 Hydrologial Data message.

4 years agoCorrect a misspelling in a HOWTO.
Eric S. Raymond [Sat, 26 Sep 2015 13:25:10 +0000 (09:25 -0400)]
Correct a misspelling in a HOWTO.

4 years agoFix incirrect conditionalization.
Eric S. Raymond [Wed, 16 Sep 2015 11:58:39 +0000 (07:58 -0400)]
Fix incirrect conditionalization.

4 years agoRemove reference to scons 1.2.1, we depend on 2.3.0 or higher
Sanjeev [Tue, 1 Sep 2015 00:18:43 +0000 (08:18 +0800)]
Remove reference to scons 1.2.1, we depend on 2.3.0 or higher

4 years agoFix Append to string of serial parameters
Nuno Gonçalves [Tue, 25 Aug 2015 21:00:06 +0000 (22:00 +0100)]
Fix Append to string of serial parameters

Before it didn't print any serial parameters.

Signed-off-by: Nuno Goncalves <>
4 years agoFix a documentation error pointed out by Nuno Gonçalves.
Eric S. Raymond [Sun, 23 Aug 2015 22:16:58 +0000 (18:16 -0400)]
Fix a documentation error pointed out by Nuno Gonçalves.

4 years agoIn gpsprof, usefully ID a plot for non-serial devices.
Eric S. Raymond [Sun, 23 Aug 2015 22:12:42 +0000 (18:12 -0400)]
In gpsprof, usefully ID a plot for non-serial devices.

4 years agoMake KPPS logging a bit less alarmist.
Gary E. Miller [Tue, 18 Aug 2015 19:57:11 +0000 (12:57 -0700)]
Make KPPS logging a bit less alarmist.

Failure to get a time stamp is not an error, at worst it is a WARN
and at best an INFO.  Since some GPS do not emit PPS when they have
no time lock it is just a state with no valid time.

4 years agoEmphasize that clients must poll frequently.
Eric S. Raymond [Tue, 21 Jul 2015 21:00:59 +0000 (17:00 -0400)]
Emphasize that clients must poll frequently.

4 years agoNEWS update.
Eric S. Raymond [Tue, 21 Jul 2015 15:34:14 +0000 (11:34 -0400)]
NEWS update.

4 years agoFix regression testing when the default Python becomes Python 3.
Eric S. Raymond [Tue, 21 Jul 2015 10:57:31 +0000 (06:57 -0400)]
Fix regression testing when the default Python becomes Python 3.

4 years agoA build note on the Python 2 to 3 transition.
Eric S. Raymond [Sun, 19 Jul 2015 21:30:08 +0000 (17:30 -0400)]
A build note on the Python 2 to 3 transition.

4 years agoChange Python hashbang lines to invoke 'python2'
Eric S. Raymond [Sun, 19 Jul 2015 21:03:56 +0000 (17:03 -0400)]
Change Python hashbang lines to invoke 'python2'

We've learned that Ubuntu 15.10 will have python3 as default.  The ugly
transition gas befun; our only recourse is to hape that all our deployment
targets have 'pyton2' do the right thing.  Works on 14.10.

4 years agoAdded the GR8013-W & HAB-GPSPI to the regression-test suite.
Eric S. Raymond [Sun, 19 Jul 2015 20:19:45 +0000 (16:19 -0400)]
Added the GR8013-W & HAB-GPSPI to the regression-test suite.

4 years agoChecksum is not a CRC.
Eric S. Raymond [Sun, 19 Jul 2015 19:27:25 +0000 (15:27 -0400)]
Checksum is not a CRC.

4 years ago2nd try: Centos 6.6 requires -ltinfo. Fix the recipe to cope.
Gary E. Miller [Tue, 14 Jul 2015 20:37:54 +0000 (13:37 -0700)]
2nd try: Centos 6.6 requires -ltinfo.  Fix the recipe to cope.

4 years agoRevert "Centos 6.6 requires -ltinfo. Fix the recipe to cope."
Gary E. Miller [Tue, 14 Jul 2015 18:54:10 +0000 (11:54 -0700)]
Revert "Centos 6.6 requires -ltinfo.  Fix the recipe to cope."

This reverts commit 85b172723da8530862d81928b0f1f77f4180abdc.

The reverted commmit breaks OS X and Gentoo.  Likely any distribution
that does not use a separate package called 'tinfo'.

4 years agoCentos 6.6 requires -ltinfo. Fix the recipe to cope.
Eric S. Raymond [Sun, 12 Jul 2015 15:09:23 +0000 (11:09 -0400)]
Centos 6.6 requires -ltinfo.  Fix the recipe to cope.

4 years agoMinor improvements to time-service intro.
Eric S. Raymond [Sat, 11 Jul 2015 10:28:20 +0000 (06:28 -0400)]
Minor improvements to time-service intro.

4 years agoTest rebuild required for the mid-2015 leap-second bump.
Eric S. Raymond [Sat, 11 Jul 2015 10:03:18 +0000 (06:03 -0400)]
Test rebuild required for the mid-2015 leap-second bump.

Explain what breaks on a leap-second transition, and why, in build.txt.

4 years agoRemove duplicate header include - it moved later to pacify OpenBSD.
Eric S. Raymond [Sat, 11 Jul 2015 09:58:43 +0000 (05:58 -0400)]
Remove duplicate header include - it moved later to pacify OpenBSD.

4 years agoSpelling typo.
Gary E. Miller [Fri, 26 Jun 2015 21:30:37 +0000 (14:30 -0700)]
Spelling typo.

propogation -> propagation.

4 years agoIt gets worse, 97 ns max accuracy.
Gary E. Miller [Fri, 26 Jun 2015 21:23:56 +0000 (14:23 -0700)]
It gets worse, 97 ns max accuracy.

Adding in the time and position errors of the GPS system a GPS
sat is no more accurate than 97 ns as a time source, before propogation
and reception errors.

4 years agoNote 90 ns GPS Sat clock accuracy.
Gary E. Miller [Fri, 26 Jun 2015 21:19:20 +0000 (14:19 -0700)]
Note 90 ns GPS Sat clock accuracy.

4 years agoNote proposed 50mSec time standard for USA financial transactions.
Gary E. Miller [Wed, 24 Jun 2015 20:14:55 +0000 (13:14 -0700)]
Note proposed 50mSec time standard for USA financial transactions.

4 years agoRemove a BSD-ism.
Gary E. Miller [Tue, 23 Jun 2015 21:36:26 +0000 (14:36 -0700)]
Remove a BSD-ism.

CTRL('L') is a BSD-ism.  CTRL() is defined in sys/ttydefaults.h
which does not always exist.  Instead of adding scons tests for
needing CTRL() and its include files just replace with a simple

Needed for musl and found by Baruch Siach <>

4 years agoAdd examples of bad 32 bit longs, floats and doubles.
Gary E. Miller [Fri, 5 Jun 2015 22:53:26 +0000 (15:53 -0700)]
Add examples of bad 32 bit longs, floats and doubles.

4 years agoAnnotate failures in subtraction examples.
Gary E. Miller [Fri, 5 Jun 2015 20:58:00 +0000 (13:58 -0700)]
Annotate failures in subtraction examples.

4 years agoAnnotate failures in precision conversion examples.
Gary E. Miller [Fri, 5 Jun 2015 20:42:54 +0000 (13:42 -0700)]
Annotate failures in precision conversion examples.

4 years agoRemove a duplicate array of tests.
Gary E. Miller [Fri, 5 Jun 2015 19:45:15 +0000 (12:45 -0700)]
Remove a duplicate array of tests.

4 years agoFix some nits.
Gary E. Miller [Fri, 5 Jun 2015 18:05:03 +0000 (11:05 -0700)]
Fix some nits.

4 years agoRevert a change to TSTONS() that caused loss of precision.
Gary E. Miller [Fri, 5 Jun 2015 18:03:21 +0000 (11:03 -0700)]
Revert a change to TSTONS() that caused loss of precision.

Using NS_IN_SEC instead of 1e9 in double math causes loss of precision.

4 years agoBetter formatting of examples.
Gary E. Miller [Fri, 5 Jun 2015 03:34:46 +0000 (20:34 -0700)]
Better formatting of examples.

4 years agoAdd warning for TSTONS()
Gary E. Miller [Fri, 5 Jun 2015 03:34:12 +0000 (20:34 -0700)]
Add warning for TSTONS()

Doubles are just not big enough...

4 years agoAdd tests for time_diff_ns().
Gary E. Miller [Fri, 5 Jun 2015 00:01:48 +0000 (17:01 -0700)]
Add tests for time_diff_ns().

Heopfully thhe next time someone breaks timespec_to_ns()
the test will catch it quickly.

4 years agoNS_TO_SEC must be LL to prevent overflow on 32 bit binaries.
Gary E. Miller [Fri, 5 Jun 2015 00:01:19 +0000 (17:01 -0700)]
NS_TO_SEC must be LL to prevent overflow on 32 bit binaries.

4 years agoRemove duplicate definition of timespec_diff_ns()
Gary E. Miller [Thu, 4 Jun 2015 23:21:34 +0000 (16:21 -0700)]
Remove duplicate definition of timespec_diff_ns()

Plus a logical reordering of things so more timespec stuff is in

4 years agoFix test_timespec for 32 bit compilers.
Gary E. Miller [Thu, 4 Jun 2015 19:28:28 +0000 (12:28 -0700)]
Fix test_timespec for 32 bit compilers.

4 years agoFix overflow issue on 32 bit binaries.
Gary E. Miller [Wed, 3 Jun 2015 23:19:42 +0000 (16:19 -0700)]
Fix overflow issue on 32 bit binaries.

Timespec is a 62 bit number, it does not fit in the 32 bits of
a long.  Use 'long long' instead.  'long long' is always at least
64 bits long and is the same as a native int when compiled as 64 bit.

Note that many 64 bit OS still run 32 bit binaries, and many small
devices like RasPi's are 32 bit.

4 years agontpshmmon overflowed diff time on 32 bit hosts.
Gary E. Miller [Wed, 3 Jun 2015 23:00:17 +0000 (16:00 -0700)]
ntpshmmon overflowed diff time on 32 bit hosts.

Timespec is a 62 bit quantity that does not fit in a 32 bit long.

4 years agoTypo fix.
Eric S. Raymond [Wed, 3 Jun 2015 14:26:25 +0000 (10:26 -0400)]
Typo fix.

4 years agoVersion bump for release 3.15. release-3.15
Eric S. Raymond [Wed, 3 Jun 2015 14:09:38 +0000 (10:09 -0400)]
Version bump for release 3.15.

4 years agoTypo fix.
Eric S. Raymond [Mon, 1 Jun 2015 17:48:32 +0000 (13:48 -0400)]
Typo fix.

4 years agoAdd a FIXME comment abot the emergency fix.
Eric S. Raymond [Mon, 1 Jun 2015 13:29:38 +0000 (09:29 -0400)]
Add a FIXME comment abot the emergency fix.

4 years agoAllow NMEA 4.1 GSVs in the NMEA0183 driver.
Eric S. Raymond [Mon, 1 Jun 2015 11:58:58 +0000 (07:58 -0400)]
Allow NMEA 4.1 GSVs in the NMEA0183 driver.

4 years agoFix typo in AIS type 7 message-length check.
Eric S. Raymond [Mon, 1 Jun 2015 10:01:25 +0000 (06:01 -0400)]
Fix typo in AIS type 7 message-length check.

158 -> 168; without this, the decoder would reject 4-segment
acknowledges.  Fortunately these seem to be highly unusual.

4 years agoFix memory leak in case of shmat() failure
Zbigniew Chyla [Sat, 2 May 2015 00:03:40 +0000 (02:03 +0200)]
Fix memory leak in case of shmat() failure

4 years agoFix checking the result of shmat() call
Zbigniew Chyla [Sat, 2 May 2015 00:02:49 +0000 (02:02 +0200)]
Fix checking the result of shmat() call

The code was checking "privdata" pointer instead of shmat() result.

4 years agoRestore truncated line in foretrex test.
Eric S. Raymond [Mon, 1 Jun 2015 09:07:33 +0000 (05:07 -0400)]
Restore truncated line in foretrex test.

This was causing local variations in whether the test succeeded.  The short
line is a reasonable stress test, but one to be confounded with the NMEA
parsing this test is supposed o exercise.

4 years agoUpdated Debian and Raspbian documentation
Sanjeev Gupta [Mon, 1 Jun 2015 02:03:21 +0000 (10:03 +0800)]
Updated Debian and Raspbian documentation

In particular, adding the key for wheezy-backports

4 years agoCopy structs using assignment, not memcpy().
Zbigniew Chyla [Fri, 1 May 2015 23:35:33 +0000 (01:35 +0200)]
Copy structs using assignment, not memcpy().

4 years agoFree a GPS if it fails to activate on awakening. Fixes crash-exit bug.
Eric S. Raymond [Sun, 31 May 2015 14:37:20 +0000 (10:37 -0400)]
Free a GPS if it fails to activate on awakening. Fixes crash-exit bug.

Modified version of a patch by "Brian T (gmail)" <>.
He reports:

Using GPSd 3.14, if it is told to read TTY device, and then a USB GPS device
is added, and then the USB device is removed, GPSd exits.  I had seen others
talk about this but never found an answer.  The work around I found was the
attached patch.    I had it as a new command line option, but removed that
part after reading the hacking guidelines.

Tested this way:

Device on /dev/ttyS4
gpsdctl add /dev/ttyUSB1
GPSd can be seen polling both devices
Physically remove USB device
GPSd continues processing ttyS4, removes ttyUSB1

Device on /dev/ttyS4
Add device on /dev/ttyUSB1
gpsdctl remove /dev/ttyS4
Physically remove USB device
GPSd waits on select()
gpsdctl add /dev/ttyS4
GPSd starts processing ttyS4, removes ttyUSB1
Insert USB device
gpsdctl add /dev/ttyUSB1
GPSd polls both devices

I did notice that if USB1 is the last device left in the list, and the USB is
pulled, GPSd does not syslog the message it was removed until a new device
(like ttyS4) is added back in.  Then the syslog message shows up.

The reason for this is some embedded cellular modules have embedded GPS.
Sometimes the modules reset without notice, so the device is gone from the USB
stack before a udev script can catch it and send a "gpsdctl remove xxxx", and
then GPSd exits.

4 years agoRevert "Fix nmea0183 v4.1 problem in processGSV()."
Eric S. Raymond [Sun, 31 May 2015 14:23:56 +0000 (10:23 -0400)]
Revert "Fix nmea0183 v4.1 problem in processGSV()."

This change breaks regression tests ansd is uneccessary.  Because of the
guard "if (session->fixcnt <= PPS_MIN_FIXES): in timehint.c, time
hints won't be shipped until fixes have been seen.

With this fix, regression tests pass again.

4 years agoFix nmea0183 v4.1 problem in processGSV().
Reinhard Arlt [Sat, 30 May 2015 08:09:09 +0000 (10:09 +0200)]
Fix nmea0183 v4.1 problem in processGSV().

4 years agoStop reporting bad GPS serial time to ntp/chrony.
Gary E. Miller [Fri, 29 May 2015 02:27:35 +0000 (19:27 -0700)]
Stop reporting bad GPS serial time to ntp/chrony.

When no fix present, GPS serial time, which is usually useless, was
still sent to ntpshm and chrony sockets.

Garmin was guarding the time properly, but no other driver.  NMEA driver
used to do this until commit a9f44d1cb9db5a27832782bbe2685e66433c6d3a
in 2013.  Other drivers had this bug a longer time.

This shows up the need for time regression testing.

4 years agoWhitespace ate EOL cleanup
Sanjeev Gupta [Fri, 22 May 2015 03:41:07 +0000 (11:41 +0800)]
Whitespace ate EOL cleanup

Signed-off-by: Gary E. Miller <>
4 years agoMinor typos and modifications
Sanjeev Gupta [Fri, 22 May 2015 03:41:06 +0000 (11:41 +0800)]
Minor typos and modifications

Signed-off-by: Gary E. Miller <>
4 years agoIncrement API version.
Reinhard Arlt [Mon, 18 May 2015 16:08:50 +0000 (18:08 +0200)]
Increment API version.

4 years agoAdd navigation data to gps.h.
Reinhard Arlt [Mon, 18 May 2015 15:48:20 +0000 (17:48 +0200)]
Add navigation data to gps.h.

4 years agoUpdate/fix debian package description
Bernd Zeimetz [Sun, 17 May 2015 11:29:07 +0000 (13:29 +0200)]
Update/fix debian package description

4 years agoAdd troubleshoot info: use lsof
Bernd Zeimetz [Sun, 17 May 2015 11:28:49 +0000 (13:28 +0200)]
Add troubleshoot info: use lsof

4 years agoInclude <stdatomic.h> only in C mode.
Gleb Smirnoff [Fri, 15 May 2015 23:47:28 +0000 (02:47 +0300)]
Include <stdatomic.h> only in C mode.

Signed-off-by: Gary E. Miller <>
4 years agoHide functions that are used only on Linux, to reduce compiler warnings.
Gleb Smirnoff [Fri, 15 May 2015 23:25:46 +0000 (02:25 +0300)]
Hide functions that are used only on Linux, to reduce compiler warnings.

Signed-off-by: Gary E. Miller <>
4 years no longer handles -c option
Sanjeev Gupta [Sat, 9 May 2015 02:26:24 +0000 (10:26 +0800)] no longer handles -c option

Signed-off-by: Gary E. Miller <>
4 years agoStop rounding nSec timespecs to 10 uSec. Fix divide by zero.
Gary E. Miller [Sat, 9 May 2015 01:56:53 +0000 (18:56 -0700)]
Stop rounding nSec timespecs to 10 uSec. Fix divide by zero.

A timespec does not fit in a Python float.  It does fit in
a Numpy float128.  Stop throwing away precision!

Thanks to DrDaemonEye and  Jon Schlueter <>

4 years agoFix time encoding.
Reinhard Arlt [Fri, 8 May 2015 09:23:21 +0000 (11:23 +0200)]
Fix time encoding.

4 years agoMerge branch 'master' of git://
Reinhard Arlt [Fri, 8 May 2015 09:03:45 +0000 (11:03 +0200)]
Merge branch 'master' of git://

4 years agoHandle ais type 4 and type 11 in nmea2000.
Reinhard Arlt [Fri, 8 May 2015 09:02:58 +0000 (11:02 +0200)]
Handle ais type 4 and type 11 in nmea2000.

4 years agoGet test_timespec to run with scons check.
Gary E. Miller [Fri, 8 May 2015 00:19:51 +0000 (17:19 -0700)]
Get test_timespec to run with scons check.

4 years agoPrint ntpshmmon banner as comment to follow spec
Miroslav Lichvar [Thu, 7 May 2015 10:34:32 +0000 (12:34 +0200)]
Print ntpshmmon banner as comment to follow spec

Signed-off-by: Gary E. Miller <>
4 years agoFix typo in ntpshm.h
Miroslav Lichvar [Thu, 7 May 2015 10:34:33 +0000 (12:34 +0200)]
Fix typo in ntpshm.h

Signed-off-by: Gary E. Miller <>
4 years agoExtend xrange, so that first and last points can be seen.
Sanjeev Gupta [Fri, 1 May 2015 15:40:31 +0000 (23:40 +0800)]
Extend xrange, so that first and last points can be seen.

    Else they lie on the border.

Signed-off-by: Gary E. Miller <>
4 years agoExtend yrange, so that first and last points can be seen.
Sanjeev Gupta [Fri, 1 May 2015 15:40:30 +0000 (23:40 +0800)]
Extend yrange, so that first and last points can be seen.

Else they lie on the border.

Signed-off-by: Gary E. Miller <>
4 years agoLeap seconds plotted as points.
Sanjeev Gupta [Fri, 1 May 2015 15:40:29 +0000 (23:40 +0800)]
Leap seconds plotted as points.

There is no uniformity, hence a line linking points is misleading.
Also clarify Title, this is not TAI-UTC, but GPS-UTC.

Signed-off-by: Gary E. Miller <>
4 years agoChange axis, time monotonic on X , leapsecond count on Y
Sanjeev Gupta [Fri, 1 May 2015 15:40:28 +0000 (23:40 +0800)]
Change axis, time monotonic on X , leapsecond count on Y

Signed-off-by: Gary E. Miller <>
4 years agoBasic support for AIS MSG 4 and 11 in NMEA2000.
Reinhard Arlt [Thu, 7 May 2015 15:24:48 +0000 (17:24 +0200)]
Basic support for AIS MSG 4 and 11 in NMEA2000.

4 years agoImprove nmea2000 ais coding.
Reinhard Arlt [Thu, 7 May 2015 14:36:38 +0000 (16:36 +0200)]
Improve nmea2000 ais coding.

4 years agoFix char encoding in ais.type7 strings.
Reinhard Arlt [Thu, 7 May 2015 13:01:27 +0000 (15:01 +0200)]
Fix char encoding in ais.type7 strings.

4 years agoFix wrong mask for ais.type1.status.
Reinhard Arlt [Thu, 7 May 2015 12:02:16 +0000 (14:02 +0200)]
Fix wrong mask for ais.type1.status.

4 years agoDocument new ITU-1371-5 Type 7 sequence number fields, add a TODO about them.
Eric S. Raymond [Fri, 1 May 2015 18:55:03 +0000 (14:55 -0400)]
Document new ITU-1371-5 Type 7 sequence number fields, add a TODO about them.

4 years agoPrevent compilation failure under gcc 4.5 and earlier.
Eric S. Raymond [Fri, 1 May 2015 18:54:00 +0000 (14:54 -0400)]
Prevent compilation failure under gcc 4.5 and earlier.

4 years agoConvert scons format calls to use explicit postional arguments
Jon Schlueter [Fri, 1 May 2015 16:18:52 +0000 (12:18 -0400)]
Convert scons format calls to use explicit postional arguments

This will attempt to allow python 2.6 to work yet