try: clientsocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) clientsocket.settimeout(3) clientsocket.sendto(button, (udphost, udpport)) data = clientsocket.recv(100).strip() except socket.error, e: err = e.args[0] if err == errno.EAGAIN or err == errno.EWOULDBLOCK: log.message("IR remote udpSend no data" + e, log.ERROR) else: # Errors such as timeout log.message("IR remote udpSend " + str(e), log.ERROR) if len(data) > 0: log.message("IR daemon server sent: " + data, log.DEBUG) return data # Flash the IR activity LED def flash_led(led): count = 6 delay = 0.3 log.message("Flash LED on GPIO " + str(led), log.DEBUG) while count > 0: GPIO.output(led, True) time.sleep(delay) GPIO.output(led, False) time.sleep(delay) count -= 1 return
if 'start' == sys.argv[1]: daemon.start() elif 'stop' == sys.argv[1]: daemon.stop() elif 'restart' == sys.argv[1]: daemon.restart() elif 'status' == sys.argv[1]: daemon.status() elif 'version' == sys.argv[1]: print "Version 0.1" # Robot arm commands elif len(sys.argv) >= 3: cmd = sys.argv[1] message = "Command " + cmd + " " + sys.argv[2] log.message(message, log.INFO) # Handle commands input file if cmd == '-c': commandfile = sys.argv[2] commandsfile = open(commandfile, "r") commands = commandsfile.readlines() commandsfile.close() for command in commands: command = command.rstrip() command = " ".join(command.split()) log.message(command, log.INFO) cmds = command.split(' ') cmd = cmds[0] t = float(cmds[1]) robot.execute(t, cmd)
data = client_data client_data = '' return data # Test UDP server class if __name__ == "__main__": server = None # Call back routine to get data event def callback(): global server print "Data =", server.getData() return server = UDPServer((HOST, PORT), RequestHandler) server.serve_forever() print "Listening", server.fileno() server.listen(server,callback) try: while True: time.sleep(0.1) except KeyboardInterrupt: server.shutdown() server.server_close() log.message("Exiting remote listener", Log.INFO) sys.exit(0) # End of class
try: clientsocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) clientsocket.settimeout(3) clientsocket.sendto(button, (udphost, udpport)) data = clientsocket.recv(100).strip() except socket.error, e: err = e.args[0] if err == errno.EAGAIN or err == errno.EWOULDBLOCK: log.message("IR remote udpSend no data" + e, log.ERROR) else: # Errors such as timeout log.message("IR remote udpSend " + str(e), log.ERROR) if len(data) > 0: log.message("IR daemon server sent: " + data, log.DEBUG) return data # Flash the IR activity LED def flash_led(led): count = 6 delay = 0.3 log.message("Flash LED on GPIO " + str(led), log.DEBUG) while count > 0: GPIO.output(led, True) time.sleep(delay) GPIO.output(led, False) time.sleep(delay) count -= 1
server = None # Call back routine to get data event def callback(): global server print("Data =", server.getData()) return server = UDPServer((HOST, PORT), RequestHandler) try: print("Starting UDP server on port " + str(PORT)) server.serve_forever() server.listen(server, callback) except KeyboardInterrupt: server.shutdown() server.server_close() msg = "Exiting remote listener" print(msg) log.message(msg, Log.INFO) sys.exit(0) finally: server.server_close() # End of class # set tabstop=4 shiftwidth=4 expandtab # retab
client_data = '' return data # Test TCP server class if __name__ == "__main__": server = None # Call back routine to get data event def callback(): global server print "Data =", server.getData() return server = TCPServer((HOST, PORT), RequestHandler) server.allow_reuse_address = True print "Listening", server.fileno() server.listen(server, callback) try: while True: time.sleep(0.1) except KeyboardInterrupt: server.shutdown() server.server_close() log.message("Exiting remote listener", Log.INFO) sys.exit(0) # End of class
picWallpaper = None locale.setlocale(locale.LC_ALL, '') try: os.environ['DISPLAY'] except: print("This program requires an X-Windows desktop") sys.exit(1) # Do not override locale settings try: locale.setlocale(locale.LC_ALL, '') except: pass log.message("locale " + str(locale.getdefaultlocale()), log.DEBUG) # Prevent LCD version of program starting os.popen("systemctl disable radiod") # See if alraedy running pid = checkPid(pidfile) # Stop the pygame mixer as it conflicts with MPD pygame.mixer.quit() font = pygame.font.SysFont('freesans', 13) display = GraphicDisplay(font) size = display.config.screen_size if display.config.fullscreen:
for cmd in commands: print cmd + " " + commands[cmd] print "x Exit program" print return ### Main routine ### if __name__ == "__main__": displayKeys() fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) tty.setcbreak(sys.stdin) t = 0.1 while True: key = sys.stdin.read(1) if key == 'x': sys.exit(0) else: try: cmd = commands[key] log.message(cmd, log.INFO) robot.execute(t,cmd) except: displayKeys() # End of main