On Tue, Aug 23, 2011 at 13:02, Thomas Laus <[email protected]> wrote:
> The capture / assert configuration options does
> not select reading the leading or trailing edge of a PPS pulse, NTP
> only reads timestamps to the on the leading edge and you may require
> an inverter to swap polatity for NetBSD to read and sync to your PPS
> pulse.

Actually, fudge flag2 does determine whether ntpd refclocks using the
common PPSAPI code (such as the atom/PPS, NMEA, and WWVB drivers)
request timestamps for the assert or clear transition.  See
ntp_refclock.c refclock_params():


        /*
         * Solaris serial ports provide PPS pulse capture only on the
         * assert edge. FreeBSD serial ports provide capture on the
         * clear edge, while FreeBSD parallel ports provide capture
         * on the assert edge. Your mileage may vary.
         */
        if (mode & CLK_FLAG2)
                ap->pps_params.mode = PPS_TSFMT_TSPEC | PPS_CAPTURECLEAR;
        else
                ap->pps_params.mode = PPS_TSFMT_TSPEC | PPS_CAPTUREASSERT;
        if (time_pps_setparams(ap->handle, &ap->pps_params) < 0) {
                msyslog(LOG_ERR,
                    "refclock_params: time_pps_setparams: %m");
                return (0);
        }

As the comment notes, not all PPSAPI implementations can actually
timestamp either edge.  So it's not a limitation of ntpd, but of
NetBSD's timepps.h, in your case.

Cheers,
Dave Hart
_______________________________________________
questions mailing list
[email protected]
http://lists.ntp.org/listinfo/questions

Reply via email to