コード例 #1
0
ファイル: alert.py プロジェクト: easyNav/easyNav-Alert
    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)
コード例 #2
0
ファイル: alert.py プロジェクト: easyNav/easyNav-serial
    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
コード例 #3
0
    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
コード例 #4
0
	"""
    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()
コード例 #5
0
ファイル: serialmod.py プロジェクト: easyNav/easyNav-serial
                # 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