"Nick Burkitt" <address@hidden> writes:
My understanding (if that's not too strong a word) is that gpsd
assigns two shared memory units for each device (as declared on the
gpsd comman dline). Since I've got only GPS on one device
(/dev/ttyACM4), and only PPS on one device (/dev/pps0), gpsd assigns
two pairs of shared memory units (0 and 1, 2 and 3), and only one half
of each pair (0 and 2) is actually used.
That makes sense; I was going to comment that in the BSD world, pps is
an aspect of a serial device and in Linux, there is a /dev/ppsN separate
device (which is still linked in the kernel to a real device, but
appears as a separate character special device).
Although it appears that gpsd assigns only one shared memory unit for
PPS devices. So if I declare my PPS device before my GPS device on the
gpsd command line, I have to configure ntpd to use SHM(0) as the PPS
and SHM(1), not SHM(2), as the GPS.
I would say "don't do that"; I think everybody expects that the serial
device is first and pps second, and while that is not a rule, there is
no joy to be expected in deviating from normal practice without a
compelling reason.