def __init__(self): ## For interprocess comms self.DISPATCHER_PORT = 9004 self._dispatcherClient = DispatcherClient(port=self.DISPATCHER_PORT) ## Attach event listeners upon instantiation (to prevent duplicates) self.attachEvents() self.sendflag=1 self.state=1 #1-proceed #2-stop #3 step right #4 step left self.sendAlertInterval = datetime.datetime(seconds=5) self.triggerAlertime=datetime.datetime(seconds=0)
def __init__(self): ## For interprocess comms self.DISPATCHER_PORT = 9004 self._dispatcherClient = DispatcherClient(port=self.DISPATCHER_PORT) ## Attach event listeners upon instantiation (to prevent duplicates) self.attachEvents() # Latest sonar readings self.sonarLeft = Alert.SONAR_MAX_DISTANCE self.sonarRight = Alert.SONAR_MAX_DISTANCE
def test_generic(self): ## Event handler. Note the use of smokesignal label. @smokesignal.on('update') def doSomething(args): """This is an event callback. Payload data is passed as args, and is a JSON object """ logging.info('Event triggered: Update!') logging.info('JSON output: %s' % args) @smokesignal.on('fun event') def doSomething(args): """This is an event callback. Payload data is passed as args, and is a JSON object """ logging.info('Event triggered: A fun event!') logging.info('JSON output: %s' % args) ## Create two clients. One at 9001, the other 9002 client1 = DispatcherClient(port=9001) client2 = DispatcherClient(port=9002) client1.start() client2.start() client1.send(9002, 'update', {"hello": "world"}) client1.send(9002, 'update', {"something": "here"}) client1.send(9002, 'fun event', {"count": "counting numbers"}) logging.info('finished sending.') ## Keep clients alive for 5 seconds. Note how both are unaffected by block. time.sleep(5) client1.stop() client2.stop() logging.info('Ended. Goodbye!') pass
""" logging.info('Event triggered: Update!') logging.info('JSON output: %s' % args) @smokesignal.on('fun event') def doSomething(args): """This is an event callback. Payload data is passed as args, and is a JSON object """ logging.info('Event triggered: A fun event!') logging.info('JSON output: %s' % args) ## Create two clients. One at 9001, the other 9002 client1 = DispatcherClient(port=9001) client2 = DispatcherClient(port=9002) client1.start() client2.start() client1.send(9002, 'update', {"hello": "world"}) client1.send(9002, 'update', {"something": "here"}) client1.send(9002, 'fun event', {"count": "counting numbers"}) logging.info('finished sending.') ## Keep clients alive for 5 seconds. Note how both are unaffected by block. time.sleep(5) client.stop()
# Send left sonar HTTP request httpClient.post_heartbeat_sonar("left", ns.data['left']) print "Sent sonar to server ", ns.data except: print "Server communications failed." pass # Extract sonar data from generic packet def convertPacketToSonarData(strpkt): sonarData = {strpkt[0]: strpkt[2:5]} return sonarData sprotapi.SPROTInit("/dev/ttyAMA0", baudrate=SERIALMOD_BAUDRATE) dc = DispatcherClient(port=9005) dc.start() PRINT_EVERY_N_ITER = 10 canPrint = False iterationCount = 0 sonar1Data = 0 # Left Sonar sonar2Data = 0 # Right Sonar sonar3Data = 0 # Middle Sonar compassData = 0 footsensData = 0 footsensMutex = threading.Lock() manager = multiprocessing.Manager() ns = manager.Namespace() ns.data = 0