Changeset - 44189a37a876
[Not reviewed]
default
0 2 0
drewp@bigasterisk.com - 18 years ago 2007-04-02 14:33:38
drewp@bigasterisk.com
change dmxserver to use enttec opendmx
2 files changed with 22 insertions and 4 deletions:
0 comments (0 inline, 0 general)
bin/dmxserver
Show inline comments
 
@@ -28,7 +28,8 @@ from twisted.web import xmlrpc, server
 
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 @@ class XMLRPCServe(xmlrpc.XMLRPC):
 
        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 @@ class XMLRPCServe(xmlrpc.XMLRPC):
 
            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()
 

	
light9/io/__init__.py
Show inline comments
 

	
 
from __future__ import division
 
import sys
 

	
 
class BaseIO:
 
    def __init__(self):
 
@@ -53,6 +54,20 @@ class ParportDMX(BaseIO):
 
        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()
0 comments (0 inline, 0 general)