Mercurial > code > home > repos > light9
changeset 333:44189a37a876
change dmxserver to use enttec opendmx
author | drewp@bigasterisk.com |
---|---|
date | Mon, 02 Apr 2007 14:33:38 +0000 |
parents | d4aff817a304 |
children | 42e4c4728a66 |
files | bin/dmxserver light9/io/__init__.py |
diffstat | 2 files changed, 22 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/bin/dmxserver Fri Mar 16 21:10:44 2007 +0000 +++ b/bin/dmxserver Mon Apr 02 14:33:38 2007 +0000 @@ -28,7 +28,8 @@ import sys,time,os from optparse import OptionParser import run_local -from light9.io import ParportDMX +from light9.io import ParportDMX, UsbDMX + from light9.updatefreq import Updatefreq from light9 import networking @@ -51,7 +52,7 @@ self.calldelay=1/options.updates_per_sec print "starting parport connection" - self.parportdmx=ParportDMX() + self.parportdmx=UsbDMX() #ParportDMX() if os.environ.get('DMXDUMMY',0): self.parportdmx.godummy() else: @@ -113,7 +114,9 @@ self.laststatsprint=time.time() self.printstats() - if self.clientschanged or time.time()>self.lastupdate+1: + # used to be a fixed 1 in here, for the max delay between + # calls, instead of calldelay + if self.clientschanged or time.time() > self.lastupdate + self.calldelay: self.lastupdate=time.time() self.sendlevels_dmx()
--- a/light9/io/__init__.py Fri Mar 16 21:10:44 2007 +0000 +++ b/light9/io/__init__.py Mon Apr 02 14:33:38 2007 +0000 @@ -1,4 +1,5 @@ - +from __future__ import division +import sys class BaseIO: def __init__(self): @@ -53,6 +54,20 @@ for p in range(1, self.dimmers + 2): self.parport.outbyte(levels[p-1]*255 / 100) +class UsbDMX(BaseIO): + dimmers = 512 + def __init__(self): + BaseIO.__init__(self) + sys.path.append("/home/drewp/dmx_usb_module") + from dmx import Dmx + self.out = Dmx() + + def sendlevels(self, levels): + if self.dummy: + return + packet = ''.join([chr(int(lev * 255 / 100)) for lev in levels]) + "\x55" + self.out.write(packet) + class SerialPots(BaseIO): """ this is a dummy object (that returns zeros forever) until you call startup()