aboutsummaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorGravatar rcoh <rcoh@mit.edu>2011-01-28 15:19:21 -0500
committerGravatar rcoh <rcoh@mit.edu>2011-01-28 15:19:21 -0500
commitef1abfa913498e02a4ece3be4be45d2f03e47d05 (patch)
treeca9e7fb9819e59872f7f6a73c032b40a0804517c /util
parenta7d6577e55ebd665ad9e4f45183836f11b3c6fd4 (diff)
Lots of stuff INCOMPLETE
Diffstat (limited to 'util')
-rw-r--r--util/NetworkOps.py6
-rw-r--r--util/PacketComposition.py15
2 files changed, 18 insertions, 3 deletions
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()