New portfolio, please access: raularantes.com

This is a research blog for my MA in Visual Effects @ Ravensbourne, UK.

Cinder and the Enttec DMX USB Pro

The Enttec DMX USB Pro is an interface controller that allows computers to control DMX devices directly. It is light-weight, portable, and ready for a number of professional applications. It also offers an API which makes the adapter accessible. After spending some time looking for DMX compatible libraries in C++ for the Enttec adapter, I came across this one called DMXUsbPro (more details about the library here), a Cinder library written by Andrea Cuius-Boscarello.

Based on posts at the Cinder forum, the library looked very straightforward and simple to use. Though, I must mention I’ve experienced some issues making the drivers work properly (which was previously mentioned on Cinder’s forum). If you have experienced an unresponsive adapter, you may want to have a look at this post. It describes possible a possible scenario when two drivers try to connect to the same port, generating a conflict and preventing device connecting properly.

Basically, there’re two versions of drivers for the Mac, both released by FTDI, the D2XX driver and the VCP one. If both are installed, the D2XX doesn’t work (needed for the Enttec PRO Utility). So, Enttec recommends getting rid of the VCP driver, which is also used by older boards of Arduino (like my Arduino Duemilanove http://arduino.cc/en/Main/arduinoBoardDuemilanove).

Initially, I had two drivers installed (D2XX and VCOM), which were causing a conflict. Clearing it by removing the VCP driver made the port where the adapter was plugged inaccessible. When I tried to find the port, I got this:

// On Terminal:
ls /dev/tty.*

// The output was:
/dev/tty.Bluetooth-Modem	/dev/tty.Bluetooth-PDA-Sync

And compiling the Cinder app that was trying to connect to the device generated the following output on my console:

DMX usb pro > List serial devices: cu.Bluetooth-PDA-Sync
DMX usb pro > List serial devices: tty.Bluetooth-PDA-Sync
DMX usb pro > List serial devices: cu.Bluetooth-Modem
DMX usb pro > List serial devices: tty.Bluetooth-Modem


Comparing to what I had before when both drivers were installed:

// With this input
ls /dev/tty.*

// The output was:
/dev/tty.Bluetooth-Modem	/dev/tty.usbserial-EN129289
/dev/tty.Bluetooth-PDA-Sync

The compiled app was sent the following to my console:

DMX usb pro > List serial devices: cu.Bluetooth-PDA-Sync
DMX usb pro > List serial devices: tty.Bluetooth-PDA-Sync
DMX usb pro > List serial devices: cu.Bluetooth-Modem
DMX usb pro > List serial devices: tty.Bluetooth-Modem
DMX usb pro > List serial devices: cu.usbserial-EN129289
DMX usb pro > List serial devices: tty.usbserial-EN129289

Basically, my app had to connect to the device using tty.usbserial, which was visible to me just when I had both drivers installed. The problem was that having both drivers conflicting was making me unable to connect to the port, even though it was visible. Unfortunately, even after removing the VCP driver, I still had some problems getting the library to work and I ended up posting on the forum. Andrea himself suggested that I should get rid of the D2XX driver - the one that was enabling the Enttec Utility to work instead of the VCP. Very clever suggestion. After doing that I managed to get the adapter working beautifully.

Also, I could keep the driver that works along with my Arduino Duemilanove, which relies on the VCP FTDI driver.

 

- Posted by rrraul on 01/03/2013 | PG04 |