Exemple #1
0
class DmxOutput(BaseInterface):
    def __init__(self, portname):
        super().__init__("DMX out", "green")
        self.portname = portname
        self.serialok = False
        self.test = False

    def listen(self):

        while self.isRunning() and not self.serialok:
            try:
                port = get_port_by_serial_number(self.portname)
                self.log("Starting DMX sender on port", port)
                self.dmx = Controller(port)
                self.serialok = True
            except:
                self.log("ERROR: ", self.portname, "not found.. retrying")
                time.sleep(5)

        self.stopped.wait()

        # i = 0
        # while self.isRunning():
        #     if not self.test:
        #         time.sleep(0.2)
        #     else:
        #         i = (i+1)%2
        #         if i % 2:
        #             self.dmx.set_channel(1, 255)
        #         else:
        #             self.dmx.set_channel(1, 128)
        #         self.dmx.submit()
        #         time.sleep(1)

        # for i in range(256):
        #     self.set_channel(1, i)
        #     self.submit()
        #     time.sleep(0.02)

        # for i in range(256):
        #     self.set_channel(1, 255-i)
        #     self.submit()
        #     time.sleep(0.02)

    def setBuffer(self, buffer):
        for i in range(min(512, len(buffer))):
            if i > 0:
                self.dmx.set_channel(i, buffer[i])
        self.dmx.submit()
Exemple #2
0
def run(shared):
    dmx = Controller('/dev/ttyUSB0')
    dmx.set_all_channels(0)
    dmx.submit()

    phase = Phase()

    while True:
        info = shared.get()
        last_beat = info['last_beat']
        bpm = info['bpm']

        if shared.debug_on:
            dmx_programs.debug(shared, dmx, phase)

        elif shared.auto_on:
            dmx_programs.auto(shared, dmx, phase)

        else:
            phase.update(last_beat, bpm)
            PROGRAMS[shared.program_index](shared, dmx, phase)

        dmx.submit()
        time.sleep(0.01)
Exemple #3
0
'''
sudo pip install DMXEnttecPro
'''
'''
from DMXEnttecPro import Controller
dmx = Controller('/dev/ttyUSB0')

# or 
'''


from DMXEnttecPro import Controller
from DMXEnttecPro.utils import get_port_by_serial_number, get_port_by_product_id
#my_port = get_port_by_serial_number('6A3ROIWE')
my_port = get_port_by_product_id(24577)
dmx = Controller(my_port)

dmx.set_channel(2,0)
dmx.set_channel(3,0)
dmx.submit()