def send_time(addr=""): logger.info("Sending date to {}".format(addr)) retcode = 0 bdg = None try: bdg = Badge(addr) logger.info("Connected") bdg.sendDateTime() logger.info("Sent date") except BTLEException, e: retcode = -1 logger.error("failed sending time,{},{}".format(e.code, e.message))
def dialogue(addr=""): logger.info("Talking with {}".format(addr)) retcode = 0 bdg = None try: bdg = Badge(addr) logger.info("Connected") while not bdg.dlg.gotStatus: bdg.RfdReadWrite.write("s") # ask for status bdg.waitForNotifications(1.0) # waiting for status report logger.info("Got status") if bdg.dlg.needDate: bdg.sendDateTime() logger.info("Date sent") else: logger.info("Already synced") if bdg.dlg.dataReady: logger.info("Requesting data...") bdg.RfdReadWrite.write("d") # ask for data wait_count = 0 while True: if bdg.waitForNotifications(1.0): # if got data, don't inrease the wait counter continue logger.info("Waiting for more data...") wait_count = wait_count + 1 if wait_count >= PULL_WAIT: break logger.info("finished reading data") except BTLEException, e: retcode = -1 logger.error("failed pulling data") logger.error(e.code) logger.error(e.message)