Lighting controller software and hardware in 3 days
(aka DMX for under $50)

Download: light8-1.0.tgz
Terms: No warranty, GPL, etc.
I started on a README, but it's incomplete.  Email us if you have questions.
(dmcc and drewp at bigasterisk.com)

Photo album from 6/17 performance
(images captured from DV with dvgrab (and dv2jpg and lavtrans); 
some brightnened with gimp; thumbnail page was created with a single line of zsh:
  for x (*) { convert -geometry 150x150 $x thumb$x; echo "<a href=$x><img src=thumb$x></a>" >> index.html }
)

Timeline
2002-06-10 night       build the "No-Parts" Pic Programmer (NOPPP)
2002-06-14 night       build the circuit at http://users.skynet.be/kristofnys/.  
                       The circuit includes the PIC that was programmed by the NOPPP.
2002-06-14 20:07       circuit's still not right - write to Robin for help
2002-06-14 22:46       fixed the circuit
2002-06-15 22:55       fixed the device driver timing
2002-06-15 01:20-07:14 sleep
2002-06-15 08:30-23:00 develop software at the theater during 2 consecutive show rehearsals
2002-06-16 00:47       successfully patched the PIC code to gain 4 more DMX channels
2002-06-16 00:48-07:15 sleep
2002-06-16 08:30-19:29 develop software at the theater during 2 more rehearsals
2002-06-16-11:45       first revision using zsh revision control software:

#!/bin/zsh

cd ~dmcc/light9
DIR=backups/`date +%Y%m%d%H%M%S`
mkdir -p $DIR
cp *.py $DIR

This program was run every 5 minutes as a cronjob, providing us with 197 snapshots of light9.

2002-06-16 19:30-22:00 run show.  this was drew's first experience with the crossfader, but it turned out to work bug-free.
2002-06-17 15:30-19:29 more software features and effect code
2002-06-17 19:30       (approx) performance starts
2002-06-17 19:35       edit a new feature (map currently lit lights to an axis of the crossfader), restart code mid-show

Some features of the code
- reload patching (mapping of sliders to dimmers), submaster, and effect data and code on the fly
- named submasters can be static cues or dynamic effects (via Python generators)
- assign any submasters to X/Y axes and then use the mouse to adjust two groups of subs at once
- mouse shortcuts to raise levels to 0/full (3rd mouse button toggles)
- color-codable subs
- DMX channels can be named with multiple aliases
- if the code quits (even with SIGINT), it writes the current state so no lights will change upon restart
- dummy (no output) mode for debugging; dummy mode has its own config and restore files
- built in less than 2 days
Screenshots and Offscreenshots
Controller with PIC and RS485 driver:

Screenshot of show control software:

(window titles say 'Bogus' because this I ran the program in a debug/no-DMX-output mode to take the screenshot)

Powered by Zope