コード例 #1
0
ファイル: runPatternJob.py プロジェクト: ozel/py-artnet
def sendout(args):
    # sendout function that sends out data to the networked devices and
    # also to the matrix screen simulator if enabled.
    # or only to the matrix simulator if netSilent enabled.
    try:
        for t in TARGETS:
            pattern = TARGETS[t]
            data = pattern.generate()
            # make sure matrixSim always displays
            # the data the right way.
            # can't have the matrixsimulator hang because there is not change..
            if args.matrixSim == "enabled":
                matrixscreen.handleinput()
            # if this is a simulation draw it to the matrixscreen
            if args.matrixSim == "enabled":
                    matrixscreen.process(data)
            # convert the data for the special matrix layout.
            if args.snakeMode == "enabled":
                data = convertSnakeModes(data)
            if args.byteMode == "enabled":
                data = convertByteMode(data, args.convertColor)
            # check if data generated is the same as before because then
            # just don't send it out
            change = True
            if args.soc == "enabled":
                previous_set = collections.Counter(sendout.data)
                current_set = collections.Counter(data)
                change = previous_set != current_set
            elif args.soc == "disabled":
                change = True
            if(change):
                sendout.data = data
                # send it out over the network.
                if not (args.netSilent == "enabled"):
                    try:
                        if (args.mapy == "enabled"):

                            for universe in range(0,matrix_height):
                                #print('send to universe:', universe)
                                sock.sendto(buildPacket(universe, data[matrix_width*universe:(matrix_width*(universe+1))]), (t, UDP_PORT))    
                        else:
                            #sock.sendto(buildPacket(0, data), (t, UDP_PORT))
                            #sock.sendto(buildPacket(1, data), (t, UDP_PORT))
                            #sock.sendto(buildPacket(2, data), (t, UDP_PORT))
                            sock.sendto(buildPacket(3, data), (t, UDP_PORT))
                            #sock.sendto(buildPacket(4, data), (t, UDP_PORT))
                            #sock.sendto(buildPacket(5, data), (t, UDP_PORT))
                    except Exception:
                        print("no good ip dest found: %s" % (t))
                        sys.exit(0)
    # matrix sim needs this because i am to lazy to press the x button.
    except KeyboardInterrupt:
        signal_handler(None, None)
    except SystemExit as error:
        signal_handler(error, None)
コード例 #2
0
ファイル: Gui.py プロジェクト: ozel/py-artnet
 def sendout(self, data):
     try:
         if(self.sendoutData != data):
             self.sendoutData = data
             self.socket.sendto(artnet.buildPacket(0, data),
                                (self.dest_ip, self.port))
     except Exception as e:
         fmt = (get_trace(), e)
         print >>self.par, ("pattern:%s:%s:sendPacket>> %s" % fmt)
コード例 #3
0
ファイル: police.py プロジェクト: aprogas/py-gogbot-artnet
#!/usr/bin/python

# 2013-09-02 Aprogas

import argparse
import socket
import time

from artnet import buildPacket

from police_conf import TARGETS

UDP_PORT = 6454

parser = argparse.ArgumentParser(description="Rotating police light.")
parser.add_argument("-d", "--delay", nargs="?", default=0.08, type=float)
args = parser.parse_args()

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # UDP
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, True)  # Allow broadcast

while (True):
	for t in TARGETS:
		pattern = TARGETS[t]
		data = pattern.generate()
		sock.sendto(buildPacket(0, data), (t, UDP_PORT))
	time.sleep(args.delay)

sock.close()
コード例 #4
0
ファイル: generic.py プロジェクト: aprogas/py-gogbot-artnet
#!/usr/bin/python

# 2013-09-02 Aprogas

import argparse
import socket
import time

from artnet import buildPacket

from generic_conf import TARGETS

UDP_PORT = 6454

parser = argparse.ArgumentParser(description="Generic interface to patterns.")
parser.add_argument("-d", "--delay", nargs="?", default=0.1, type=float)
args = parser.parse_args()

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)  # UDP
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST,
                True)  # Allow broadcast

while (True):
    for t in TARGETS:
        pattern = TARGETS[t]
        data = pattern.generate()
        sock.sendto(buildPacket(0, data), (t, UDP_PORT))
    time.sleep(args.delay)

sock.close()
コード例 #5
0
import socket
import time

from artnet import buildPacket

UDP_PORT = 6454

parser = argparse.ArgumentParser(
    description="Make one or more horizontal stripes of certain color.")
parser.add_argument("-c", "--color", action="append", nargs=3, type=int)
args = parser.parse_args()

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)  # UDP
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST,
                True)  # Allow broadcast

if (not args.color):
    # Default to pink
    args.color = [[84, 37, 42]]
while (True):
    data = []
    stripes = len(args.color)
    stripeheight = 150 / stripes
    for stripe in xrange(stripes):
        for i in xrange(stripeheight):
            data.append(args.color[stripe])
    sock.sendto(buildPacket(0, data), ("192.168.42.255", UDP_PORT))
    time.sleep(1)

sock.close()
コード例 #6
0
ファイル: flag.py プロジェクト: aprogas/py-gogbot-artnet
import argparse
import socket
import time

from artnet import buildPacket

UDP_PORT = 6454

parser = argparse.ArgumentParser(description="Make one or more horizontal stripes of certain color.")
parser.add_argument("-c", "--color", action="append", nargs=3, type=int)
args = parser.parse_args()

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # UDP
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, True)  # Allow broadcast

if (not args.color):
	# Default to pink
	args.color = [[84, 37, 42]]
while (True):
	data = []
	stripes = len(args.color)
	stripeheight = 150 / stripes
	for stripe in xrange(stripes):
		for i in xrange(stripeheight):
			data.append(args.color[stripe])
	sock.sendto(buildPacket(0, data), ("192.168.42.255", UDP_PORT))
	time.sleep(1)

sock.close()