Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ addons:
- protobuf-compiler
- libprotoc-dev
- python-protobuf
- python-numpy
packages: &core_build
# This is all the bits we need to enable all options
- *base_build
Expand Down Expand Up @@ -52,7 +53,7 @@ matrix:
- *core_build_clang_latest
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise
- llvm-toolchain-precise-3.8
- os: linux
compiler: gcc
env: TASK='compile'
Expand Down
34 changes: 22 additions & 12 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -411,23 +411,26 @@ AS_IF([test "x$use_ossp_uuid" = xyes],

# DNS-SD support
# We use either avahi or the Apple DNS-SD library.

# dns_sd
AC_CHECK_HEADER(
[dns_sd.h],
[AC_SEARCH_LIBS(DNSServiceRegister, [dns_sd], [have_dnssd="yes"])])
AC_ARG_WITH(dns-sd,
[AS_HELP_STRING([--without-dns-sd], [disable DNS-SD support])],,)
if test "x$with_dns_sd" != "xno"; then
# dns_sd
AC_CHECK_HEADER(
[dns_sd.h],
[AC_SEARCH_LIBS(DNSServiceRegister, [dns_sd], [have_dnssd="yes"])])

# avahi
PKG_CHECK_MODULES(
avahi,
[avahi-client],
[have_avahi="yes"],
[true])
fi

AS_IF([test "x$have_dnssd" = xyes],
[AC_DEFINE([HAVE_DNSSD], [1], [Defined to use Bonjour DNS_SD])])
AM_CONDITIONAL([HAVE_DNSSD], [test "x$have_dnssd" = xyes])

# avahi
PKG_CHECK_MODULES(
avahi,
[avahi-client],
[have_avahi="yes"],
[true])

AS_IF([test "x$have_avahi" = xyes],
[AC_DEFINE([HAVE_AVAHI], [1], [Defined to use Avahi])])
AM_CONDITIONAL([HAVE_AVAHI], [test "x$have_avahi" = xyes])
Expand Down Expand Up @@ -679,6 +682,13 @@ AS_IF([test "${enable_python_libs}" = "yes"],
eval ac_cv_have_pymod_google_protobuf=\$AS_TR_CPP([HAVE_PYMOD_google.protobuf])])
])

AS_IF([test "${enable_rdm_tests}" = "yes"],
[AC_CACHE_CHECK([for $PYTHON_NAME module: numpy],
[ac_cv_have_pymod_numpy],
[AX_PYTHON_MODULE([numpy], [fatal])
eval ac_cv_have_pymod_numpy=\$AS_TR_CPP([HAVE_PYMOD_numpy])])
])

# Libraries, that depend on the feature args above.
#####################################################

Expand Down
4 changes: 2 additions & 2 deletions plugins/uartdmx/UartDmxPlugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ bool UartDmxPlugin::StartHook() {
// first check if device configured
if (iter->empty()) {
OLA_DEBUG << "No path configured for device, please set one in "
"ola-uartdmx.conf";
<< "ola-uartdmx.conf";
continue;
}

Expand Down Expand Up @@ -134,7 +134,7 @@ string UartDmxPlugin::Description() const {
"The device to use for DMX output (optional). Multiple devices are supported "
"if the hardware exists. Using USB-serial adapters is not supported (try the "
"ftdidmx plugin instead).\n"
"--- Per Device Settings (using above device name without /dev/) ---\n"
"--- Per Device Settings (using above device name) ---\n"
"<device>-break = 100\n"
"The DMX break time in microseconds for this device (optional).\n"
"<device>-malf = 100\n"
Expand Down
10 changes: 5 additions & 5 deletions plugins/usbdmx/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,12 @@ Code Concepts & Structure

USB Devices are represented as Widgets, this allows us to de-couple the Widget
code from OLA's Port representation (remember, prefer composition over
inheritance). Since all the USB devices we support so far have a single DMX512
interface, each specific Widget (e.g. AnymauDMX) derives from the Widget
inheritance). Since the majority of USB devices we support so far have a single
DMX512 interface, each specific Widget (e.g. AnymauDMX) derives from the Widget
class. This isn't strictly necessary, it just means we can avoid code
duplication by using the GenericDevice and GenericPort classes. If in the
future, multi-interface USB devices are supported, they shouldn't inherit from
the Widget class.
duplication by using the GenericDevice and GenericPort classes. Multi-interface
USB devices which are supported, shouldn't inherit from the Widget class (see
the Nodle U1 for example, they will need to use the Device class instead).

GenericPort wraps a Widget into a Port object, so it can show up in olad.
GenericDevice creates a Device with a single GenericPort.
Expand Down