Index: head/comms/ebusd/Makefile =================================================================== --- head/comms/ebusd/Makefile +++ head/comms/ebusd/Makefile @@ -1,7 +1,7 @@ # $FreeBSD$ PORTNAME= ebusd -PORTVERSION= 3.3 +PORTVERSION= 3.4 DISTVERSIONPREFIX= v CATEGORIES= comms Index: head/comms/ebusd/distinfo =================================================================== --- head/comms/ebusd/distinfo +++ head/comms/ebusd/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1569925578 -SHA256 (john30-ebusd-v3.3_GH0.tar.gz) = 48669140cfafbe060c765b4530018b30f07e1b074dbce00b205a8f2a22dee573 -SIZE (john30-ebusd-v3.3_GH0.tar.gz) = 696172 +TIMESTAMP = 1588504293 +SHA256 (john30-ebusd-v3.4_GH0.tar.gz) = 38d69e8687ab98cd6cfcadc6ca1b1949ce29a0efa51f82e3e38777a1f99b28ae +SIZE (john30-ebusd-v3.4_GH0.tar.gz) = 462066 Index: head/comms/ebusd/files/patch-configure.ac =================================================================== --- head/comms/ebusd/files/patch-configure.ac +++ head/comms/ebusd/files/patch-configure.ac @@ -1,13 +1,5 @@ --- configure.ac.orig 2018-12-26 15:38:15 UTC +++ configure.ac -@@ -36,6 +36,7 @@ AC_SUBST(EXTRA_LIBS) - AC_CHECK_FUNC([pselect], [AC_DEFINE(HAVE_PSELECT, [1], [Defined if pselect() is available.])]) - AC_CHECK_FUNC([ppoll], [AC_DEFINE(HAVE_PPOLL, [1], [Defined if ppoll() is available.])]) - AC_CHECK_HEADER([linux/serial.h], [AC_DEFINE(HAVE_LINUX_SERIAL, [1], [Defined if linux/serial.h is available.])]) -+AC_CHECK_HEADER([dev/usb/uftdiio.h], [AC_DEFINE(HAVE_FREEBSD_UFTDI, [1], [Defined if dev/usb/uftdiio.h is available.])]) - - AC_ARG_ENABLE(coverage, AS_HELP_STRING([--enable-coverage], [enable code coverage tracking]), [CXXFLAGS+=" -coverage -O0"], []) - AC_ARG_WITH(contrib, AS_HELP_STRING([--without-contrib], [disable inclusion of contributed sources]), [], [with_contrib=yes]) @@ -118,7 +119,7 @@ AM_COND_IF([CONTRIB], [AC_CONFIG_FILES([ ])]) Index: head/comms/ebusd/files/patch-src_lib_ebus_device.h =================================================================== --- head/comms/ebusd/files/patch-src_lib_ebus_device.h +++ head/comms/ebusd/files/patch-src_lib_ebus_device.h @@ -1,10 +0,0 @@ ---- src/lib/ebus/device.h.orig 2018-12-26 15:38:15 UTC -+++ src/lib/ebus/device.h -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - #include - #include - #include Index: head/comms/ebusd/files/patch-src_lib_ebus_device.cpp =================================================================== --- head/comms/ebusd/files/patch-src_lib_ebus_device.cpp +++ head/comms/ebusd/files/patch-src_lib_ebus_device.cpp @@ -1,59 +0,0 @@ ---- src/lib/ebus/device.cpp.orig 2018-12-26 15:38:15 UTC -+++ src/lib/ebus/device.cpp -@@ -30,6 +30,9 @@ - #ifdef HAVE_LINUX_SERIAL - # include - #endif -+#ifdef HAVE_FREEBSD_UFTDI -+# include -+#endif - #include - #ifdef HAVE_PPOLL - # include -@@ -192,7 +195,7 @@ result_t SerialDevice::open() { - struct termios newSettings; - - // open file descriptor -- m_fd = ::open(m_name, O_RDWR | O_NOCTTY); -+ m_fd = ::open(m_name, O_RDWR | O_NOCTTY | O_NDELAY); - - if (m_fd < 0) { - return RESULT_ERR_NOTFOUND; -@@ -215,13 +218,24 @@ result_t SerialDevice::open() { - } - #endif - -+#ifdef HAVE_FREEBSD_UFTDI -+ int param = 0; -+ // flush tx/rx and set low latency on uftdi device -+ if (ioctl(m_fd, UFTDIIOC_GET_LATENCY, ¶m) == 0) { -+ ioctl(m_fd, UFTDIIOC_RESET_IO, ¶m); -+ param = 1; -+ ioctl(m_fd, UFTDIIOC_SET_LATENCY, ¶m); -+ } -+#endif -+ - // save current settings - tcgetattr(m_fd, &m_oldSettings); - - // create new settings - memset(&newSettings, 0, sizeof(newSettings)); - -- newSettings.c_cflag |= (B2400 | CS8 | CLOCAL | CREAD); -+ cfsetspeed(&newSettings, B2400); -+ newSettings.c_cflag |= (CS8 | CLOCAL | CREAD); - newSettings.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG); // non-canonical mode - newSettings.c_iflag |= IGNPAR; // ignore parity errors - newSettings.c_oflag &= ~OPOST; -@@ -234,7 +248,10 @@ result_t SerialDevice::open() { - tcflush(m_fd, TCIFLUSH); - - // activate new settings of serial device -- tcsetattr(m_fd, TCSAFLUSH, &newSettings); -+ if (tcsetattr(m_fd, TCSAFLUSH, &newSettings)) { -+ close(); -+ return RESULT_ERR_DEVICE; -+ } - - // set serial device into blocking mode - fcntl(m_fd, F_SETFL, fcntl(m_fd, F_GETFL) & ~O_NONBLOCK); Index: head/comms/ebusd/files/patch-src_lib_utils_tcpsocket.h =================================================================== --- head/comms/ebusd/files/patch-src_lib_utils_tcpsocket.h +++ head/comms/ebusd/files/patch-src_lib_utils_tcpsocket.h @@ -1,10 +0,0 @@ ---- src/lib/utils/tcpsocket.h.orig 2018-12-26 15:38:15 UTC -+++ src/lib/utils/tcpsocket.h -@@ -21,6 +21,7 @@ - - #include - #include -+#include - #include - #include - #include