aboutsummaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorGravatar rcoh <rcoh@mit.edu>2010-12-22 14:27:33 -0500
committerGravatar rcoh <rcoh@mit.edu>2010-12-22 14:27:33 -0500
commitc581408f028d5b8ceadc53c68d7c1252fbe09e6d (patch)
tree8724862d05bde3bb3427cdff378cdb08da8babd2 /util
parenta1d9b85320c9b07d62470d78ef0c5f9015baf813 (diff)
About halfway done with support for pixel regions. Modified the component registry a bit. Added
support for multiple pixel mappers (and along with that, default components). RCOH
Diffstat (limited to 'util')
-rw-r--r--util/ComponentRegistry.py36
-rw-r--r--util/Config.py4
-rw-r--r--util/NetworkOps.py6
-rw-r--r--util/PacketComposition.py2
-rw-r--r--util/Strings.py1
5 files changed, 38 insertions, 11 deletions
diff --git a/util/ComponentRegistry.py b/util/ComponentRegistry.py
index f8fe00d..119ce18 100644
--- a/util/ComponentRegistry.py
+++ b/util/ComponentRegistry.py
@@ -1,17 +1,43 @@
import pdb
+#component registry, a singleton
+import thread
+#class ComponentRegistry:
+# def __init__(self):
+# self.regDict = {}
+# @staticmethod
+# def getRegistry(self):
+# if self.instance == None:
+# self.instance = self.__class__()
+# return self.instance
+# def registerComponent(component, cid=None):
+# if cid != None:
+# globals()['Registry'][cid] = component
+# else:
+# try:
+# cid = component['Id']
+# globals()['Registry'][cid] = component
+# except:
+# raise Exception('Must specify Id, component did not store it')
+#def registerDefault(
+def removeComponent(cid):
+ globals()['Registry'].pop(cid)
+def getComponent(cid):
+ return globals()['Registry'][cid]
#Registry of all components of the light system
#TODO: pick a graceful failure behavior and implement it
-registry = {}
+def initRegistry():
+ globals()['Registry'] = {}
def registerComponent(component, cid=None):
if cid != None:
- registry[cid] = component
+ globals()['Registry'][cid] = component
else:
try:
cid = component['Id']
- registry[cid] = component
+ globals()['Registry'][cid] = component
except:
raise Exception('Must specify Id, component did not store it')
+#def registerDefault(
def removeComponent(cid):
- registry.pop(cid)
+ globals()['Registry'].pop(cid)
def getComponent(cid):
- return registry[cid]
+ return globals()['Registry'][cid]
diff --git a/util/Config.py b/util/Config.py
index 4cf2ed5..f80b7b2 100644
--- a/util/Config.py
+++ b/util/Config.py
@@ -6,7 +6,7 @@ def loadParamRequirementDict(className):
classArgsMem[className] = fileToDict(CONFIG_PATH + className)
return classArgsMem[className]
def loadConfigFile(fileName): #TODO: error handling etc.
- try:
+ #try:
fileName = CONFIG_PATH + fileName
if '.params' in fileName:
return fileToDict(fileName)
@@ -14,7 +14,7 @@ def loadConfigFile(fileName): #TODO: error handling etc.
config = ElementTree()
config.parse(fileName)
return config
- except:
+ #except:
return None
def fileToDict(fileName):
fileText = ''
diff --git a/util/NetworkOps.py b/util/NetworkOps.py
index a247090..0404975 100644
--- a/util/NetworkOps.py
+++ b/util/NetworkOps.py
@@ -1,6 +1,8 @@
import socket
def getConnectedSocket(ip,port):
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
- print (ip, port)
- sock.connect((ip, port))
+ try:
+ sock.connect((ip, port))
+ except:
+ print 'network down'
return sock
diff --git a/util/PacketComposition.py b/util/PacketComposition.py
index 5133459..2563c61 100644
--- a/util/PacketComposition.py
+++ b/util/PacketComposition.py
@@ -26,7 +26,6 @@ def composePixelStripPacket(pixelStrip,port):
subDict = dict(kinetDict)
subDict['len'] = 38000 #I have no idea why this works.
subDict['port'] = port
- #pdb.set_trace()
packet.extend(kinetPortOutPacket(subDict))
packet.append(0x0)
packet.extend(data)
@@ -50,7 +49,6 @@ def kinetPortOutPayload(argDict):
#payload.append(0x00) #somepadding? lolwtf.
payload.extend(struct.pack('H', argDict['len']))
payload.extend(struct.pack('H', argDict['startcode']))
- #pdb.set_trace()
return payload
def kinetPortOutPacket(payloadArgs):
packet = bytearray()
diff --git a/util/Strings.py b/util/Strings.py
index 1331db4..81c34f2 100644
--- a/util/Strings.py
+++ b/util/Strings.py
@@ -1 +1,2 @@
LOCATION = 'Location'
+DEFAULT_MAPPER = 'DefaultPixelMapper'