svn commit: r279773 - head/sys/dev/usb/serial
Hans Petter Selasky
hselasky at FreeBSD.org
Sun Mar 8 08:34:50 UTC 2015
Author: hselasky
Date: Sun Mar 8 08:34:49 2015
New Revision: 279773
URL: https://svnweb.freebsd.org/changeset/base/279773
Log:
Switch polarity of PPS events.
PR: 196897
Submitted by: ian @
MFC after: 1 week
Modified:
head/sys/dev/usb/serial/usb_serial.c
Modified: head/sys/dev/usb/serial/usb_serial.c
==============================================================================
--- head/sys/dev/usb/serial/usb_serial.c Sun Mar 8 07:40:40 2015 (r279772)
+++ head/sys/dev/usb/serial/usb_serial.c Sun Mar 8 08:34:49 2015 (r279773)
@@ -1102,14 +1102,19 @@ ucom_cfg_status_change(struct usb_proc_m
sc->sc_msr = new_msr;
sc->sc_lsr = new_lsr;
- /* time pulse counting support */
+ /*
+ * Time pulse counting support. Note that both CTS and DCD are
+ * active-low signals. The status bit is high to indicate that
+ * the signal on the line is low, which corresponds to a PPS
+ * clear event.
+ */
switch(ucom_pps_mode) {
case 1:
if ((sc->sc_pps.ppsparam.mode & PPS_CAPTUREBOTH) &&
(msr_delta & SER_CTS)) {
pps_capture(&sc->sc_pps);
pps_event(&sc->sc_pps, (sc->sc_msr & SER_CTS) ?
- PPS_CAPTUREASSERT : PPS_CAPTURECLEAR);
+ PPS_CAPTURECLEAR : PPS_CAPTUREASSERT);
}
break;
case 2:
@@ -1117,7 +1122,7 @@ ucom_cfg_status_change(struct usb_proc_m
(msr_delta & SER_DCD)) {
pps_capture(&sc->sc_pps);
pps_event(&sc->sc_pps, (sc->sc_msr & SER_DCD) ?
- PPS_CAPTUREASSERT : PPS_CAPTURECLEAR);
+ PPS_CAPTURECLEAR : PPS_CAPTUREASSERT);
}
break;
default:
More information about the svn-src-all
mailing list