Steve's software for DMX-512 theatrical lighting control
Background
DMX-512 is a standard digital protocol for controlling theatrical
lighting equipment, including dimmers and moving lights. It uses
RS-485 differential signaling and is generally wired using two
shielded twisted pairs terminated on a 5-pin XLR connector.
DMX-512 uses async framing, in the style of a traditional UART, at
250Kbps. When it is desired to generate DMX-512 from an
industry-standard-architecture PC, a special-purpose interface unit is
typicaly used. Some of these are quite expensive.
It is possible to build a low-cost PC to DMX-512 interface, and there
are even some free "Open Source Hardware" projects to show the way.
A design that has interested me recently uses the
FTDI FT232BM USB-to-serial
chip.
Similar hardware projects that can use identical software are the
Open-DMX-USB,
the Free-USB-Dmx,
and the USB-to-DMX described in
Circuit Cellar Ink, issue 170, page 72.
My prototype based on both of these is (or soon will be)
described on my hardware page.
Dmx4Linux now includes driver for FTDI-based interfaces
Dmx4Linux
is the de-facto standard driver stack for DMX-512 under Linux.
As of
Version 2.5,
Dmx4Linux
now includes my driver for the above-mentioned
DMX interfaces built using
FTDI chip.
I recommend downloading and trying
dmx4linux-2.5 before messing with the older version and the patch below.
My Software
SLight
My SLight variant [slight-0.98b-sgt.tar.gz].
This is a slightly modified unofficial version of
SLight,
originaly by Brian Teague. My enhancements include:
Fixed a race-condition bug which can cause some channels to stop fading
until a "jump" (double-click) to another cue is performed manually.
Rework the fade computation to use integer arithmetic only, thus avoiding
a cumulative floating-point precision error.
Added a crude checkpoint function which saves all cues to
a new timestamped file every time a change is made to a show.
Fortunately, I've never had a crash that
required me to recover using this.
Add an ascii dump of patch and cue configuration to the save function.
Printing this out on real paper is the ultimate paranoia backup.
This version of slight is the only only lighting control interface
used in one small performance venue I have worked with.
My Dmx4Linux driver
The driver I put together is now included in the latest release of
Dmx4Linux, version 2.5.
I recommend trying that first.
Previously, the only way (short of coding your own) to drive DMX out of
an ftdi-based interface was using
this patch [dmx4linux-2.4-ftdi.patch.gz].
This is a patch for Dmx4Linux
version 2.4 that adds a driver for
DMX interfaces using the FTDI FT232BM chip.
As of November 2004, it supports output only.
Links
- Dmx4Linux,
a DMX-512 driver framework for linux. The Dmx4Linux framework allows
any linux-based lighting control software to use any compatible hardware
interface.
- SLight,
open-source lightboard software - official site that is rather old.
-
Free-USB-Dmx,
Nextec.co.uk's GPL'ed hardware design using the FTDI chip.
- ENTTEC Open-DMX-USB
- Circuit Cellar Ink.
Stefan Kalbermatter's USB-to-DMX-512 article referenced above is
listed towards the bottom
of this page.
webmaster@telltronics.org
Last modified: Tue Sep 6 23:13:49 EDT 2005