示例#1
0
 def __init__(self, config=None, guiloader=None):
     '''
     Constructor
     '''
     self._gui = GuiLoader()
     
     # check for config
     if type(config) == mrConfigParser:
         self.__visionConfig = config
         self.__visionHostName = self.__visionConfig.getConfigValue("PROTOCOl", "visionHostname")
         self.__visionCalibImg = self.__visionConfig.getConfigValue("GENERAL", "calibrationImg")
         self.__moduleName = self.__visionConfig.getConfigValue("GENERAL", "moduleName")
         self.__connectionTimeout = self.__visionConfig.getConfigValueFloat("NETWORK", "timeout")
     else:
         mrLogger.log( "No configuration specified", mrLogger.LOG_LEVEL['info'] ) 
     
     # load network interface
     self.__initNetworkInterface()
     
     # start image processing
     start_new_thread( self.__processImage, () )
     
     # start gui
     if guiloader != None:
         self._gui = guiloader 
         self._imageGrabber = ImageGrabber(self._gui, self.__visionConfig)
         self.__distortion = Distortion(self._gui, self._imageGrabber, self.__visionConfig)
         self.__transformation = Transformation(self._gui, self._imageGrabber, self.__visionConfig)
         self.__recognition = Recognition(self._gui, self._imageGrabber, self.__visionConfig)
         
         self.__initGui()
示例#2
0
 def __clientAdded(self, servername, clientdata):
     '''
     Client added listener
     '''
     msg = "Client " + servername + " " + str(clientdata)
     msg += " added"
     mrLogger.log( msg, mrLogger.LOG_LEVEL['info'] )
示例#3
0
 def __initNetworkInterface(self):
     '''
     Initiates network interface
     '''
     host = self.__visionConfig.getConfigValue("NETWORK", "serverIP")
     port = self.__visionConfig.getConfigValueInt("NETWORK", "serverPort")
     self.__socketManager = mrSocketManager(host=host, port=port, server=True, udpOn=True, useHandshake=True, name=str(self.__moduleName))
     self.__socketManager.addOnDataRecievedListener( self.__dataRecieved )
     self.__socketManager.addOnClientAddedListener( self.__clientAdded )
     
     mrLogger.log( "Vision module trying to connect to gameserver", mrLogger.LOG_LEVEL['info'] )
     
     # wait for connection
     t1 = time()
     while (time()-t1) < self.__connectionTimeout and not self.__socketManager.isConnected():
         pass
     
     if self.__socketManager.isConnected():
         mrLogger.log( "Vision module started", mrLogger.LOG_LEVEL['info'] )
         
     else:
         msg = "Vision module could not establish connection to server at " + str(host)
         msg += " on port " + str(port)
         mrLogger.log( msg, mrLogger.LOG_LEVEL['error'] )
         return False
     
     return True
示例#4
0
def onDataRecievedListener(socket, addr, data):
    mrLogger.log( str(socket.getSocketAddress()) + " recieved data: " + str(data), mrLogger.LOG_LEVEL['info'] )
示例#5
0
def onClientAddedListener(clientdata):
    mrLogger.log( "new client " + str(clientdata[1]) + " added", mrLogger.LOG_LEVEL['info'] )
示例#6
0
# LISTENER FUNCTIONS
def onClientAddedListener(clientdata):
    mrLogger.log( "new client " + str(clientdata[1]) + " added", mrLogger.LOG_LEVEL['info'] )
    
def onDataRecievedListener(socket, addr, data):
    mrLogger.log( str(socket.getSocketAddress()) + " recieved data: " + str(data), mrLogger.LOG_LEVEL['info'] )


# MAIN FUNCTION
if __name__ == '__main__':
    
    print "test started ..."
    mrLogger.logClear()
    mrLogger.LOGGER_LOG_LEVEL = mrLogger.LOG_LEVEL['debug']
    mrLogger.log( "sockettest started" )
    
    # generate data package
    data = "DATA"
    
    # create server
    server = mrSocketManager( server=True )
    
    # wait for server
    while not server.isConnected():
        pass
    
    # create clients
    client1 = mrSocketManager()
    client2 = mrSocketManager()