From ef1abfa913498e02a4ece3be4be45d2f03e47d05 Mon Sep 17 00:00:00 2001 From: rcoh Date: Fri, 28 Jan 2011 15:19:21 -0500 Subject: Lots of stuff INCOMPLETE --- util/NetworkOps.py | 6 ++++++ util/PacketComposition.py | 15 ++++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) (limited to 'util') diff --git a/util/NetworkOps.py b/util/NetworkOps.py index 8894b78..3ece763 100644 --- a/util/NetworkOps.py +++ b/util/NetworkOps.py @@ -8,3 +8,9 @@ def getConnectedSocket(ip,port): except Exception as inst: main_log.error('Network down. All network based renderers and sensors will not function.', inst) + +def getBroadcastSocket(port): + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) + return s diff --git a/util/PacketComposition.py b/util/PacketComposition.py index 7b4fe95..75ef917 100644 --- a/util/PacketComposition.py +++ b/util/PacketComposition.py @@ -5,7 +5,7 @@ PORTOUT = 0x0108 UNI = 0 import pdb import util.TimeOps as timeops -argDict = {'flags': 0, 'startcode': 0, 'pad':0} +argDict = {'flags': 0, 'startcode': 0x0fff, 'pad':0} def composePixelStripData(pixelStrip,currentTime=timeops.time()): packet = bytearray() @@ -33,10 +33,10 @@ def memoize(f): def cachePacketHeader(port): packet = bytearray() subDict = dict(argDict) - subDict['len'] = 38500 #I have no idea why this works. + subDict['len'] = 150 #I have no idea why this works. subDict['port'] = port packet.extend(portOutPacket(subDict)) - packet.append(0x0) +# packet.append(0x0) return packet def composePixelStripPacket(pixelStrip,port, currentTime): @@ -61,10 +61,19 @@ def portOut(): def portOutPayload(argDict): payload = bytearray() payload.extend(struct.pack('B', argDict['port'])) + payload.extend(struct.pack('B',0)) payload.extend(struct.pack('H', argDict['flags'])) payload.extend(struct.pack('H', argDict['len'])) payload.extend(struct.pack('H', argDict['startcode'])) return payload +def composeSynchPacket(): + header = bytearray() + header.extend(struct.pack('L', MAGIC)) + header.extend(struct.pack('H', VERSION)) + header.extend(struct.pack('H', 0x0109)) + header.extend(struct.pack('L', 0)) + header.extend(struct.pack('L', 0)) + return header def portOutPacket(payloadArgs): packet = bytearray() -- cgit v1.2.3