def attach(self): m = Manager() m.openManager() time.sleep(1) # print 'There are', len(m.getAttachedDevices()), 'device(s) attached' try: d = m.getAttachedDevices()[0] self.ir = IR() self.ir.openPhidget(d.getSerialNum()) except IndexError as e: print 'No devices attached!' raise e
class ROSIr(object): code_read = False def __init__(self): self.attach() def attach(self): m = Manager() m.openManager() time.sleep(1) # print 'There are', len(m.getAttachedDevices()), 'device(s) attached' try: d = m.getAttachedDevices()[0] self.ir = IR() self.ir.openPhidget(d.getSerialNum()) except IndexError as e: print 'No devices attached!' raise e # ir.setOnIRCodeHandler(recv) # return ir def recv_learn_handler(self, e): self.code_read = False def learn(self): self.ir.setOnIRCodeHandler(self.recv_learn_handler) while not self.code_read: try: learned_code = self.ir.getLastLearnedCode() self.code_read = True return learned_code.Code, learned_code.CodeInfo except KeyboardInterrupt: return None, None break except: pass time.sleep(0.1)
__author__ = 'Adam Stelmack' __version__ = '2.1.8' __date__ = 'May 11 2010' #Basic imports from ctypes import * import sys import math #Phidget specific imports from Phidgets.PhidgetException import PhidgetErrorCodes, PhidgetException from Phidgets.Events.Events import AttachEventArgs, DetachEventArgs, ErrorEventArgs, IRCodeEventArgs, IRLearnEventArgs, IRRawDataEventArgs from Phidgets.Devices.IR import IR, IRCode, IRCodeInfo, IRCodeLength, IREncoding #Create an RFID object try: ir = IR() except RuntimeError as e: print("Runtime Exception: %s" % e.details) print("Exiting....") exit(1) #Information Display Function def displayDeviceInfo(): print( "|------------|----------------------------------|--------------|------------|" ) print( "|- Attached -|- Type -|- Serial No. -|- Version -|" ) print(
def AttachIR(databasepath, serialNumber): def onAttachHandler(event): logString = "IR Attached " + str(event.device.getSerialNum()) #print(logString) DisplayAttachedDeviceInfo(event.device) def onDetachHandler(event): logString = "IR Detached " + str(event.device.getSerialNum()) #print(logString) DisplayDetachedDeviceInfo(event.device) event.device.closePhidget() def onErrorHandler(event): logString = "IR Error " + str(event.device.getSerialNum()) + ", Error: " + event.description print(logString) DisplayErrorDeviceInfo(event) def onServerConnectHandler(event): logString = "IR Server Connect " + str(event.device.getSerialNum()) #print(logString) def onServerDisconnectHandler(event): logString = "IR Server Disconnect " + str(event.device.getSerialNum()) #print(logString) def IRCodeHandler(event): logString = "IR Code " + str(event.device.getSerialNum()) print(logString) try: conn = sqlite3.connect(databasepath) conn.execute("INSERT INTO IR_CODE VALUES(NULL, DateTime('now'), ?, ?, ?)", (event.device.getSerialNum(), event.code, event.repeat)) conn.commit() conn.close() except sqlite3.Error as e: print "An error occurred:", e.args[0] def IRLearnHandler(event): logString = "IR Learn " + str(event.device.getSerialNum()) print(logString) try: conn = sqlite3.connect(databasepath) conn.execute("INSERT INTO IR_LEARN VALUES(NULL, DateTime('now'), ?, ?, ?)", (event.device.getSerialNum(), event.code, event.codeInfo)) conn.commit() conn.close() except sqlite3.Error as e: print "An error occurred:", e.args[0] def IRRawDataHandler(event): logString = "IR Raw Data " + str(event.device.getSerialNum()) print(logString) try: conn = sqlite3.connect(databasepath) conn.execute("INSERT INTO IR_RAWDATA VALUES(NULL, DateTime('now'), ?, ?)", (event.device.getSerialNum(), event.rawData)) conn.commit() conn.close() except sqlite3.Error as e: print "An error occurred:", e.args[0] try: p = IR() p.setOnAttachHandler(onAttachHandler) p.setOnDetachHandler(onDetachHandler) p.setOnErrorhandler(onErrorHandler) p.setOnServerConnectHandler(onServerConnectHandler) p.setOnServerDisconnectHandler(onServerDisconnectHandler) p.setOnIRCodeHandler (IRCodeHandler) p.setOnIRLearnHandler (IRLearnHandler) p.setOnIRRawDataHandler(IRRawDataHandler) p.openPhidget(serialNumber) except PhidgetException as e: print("Phidget Exception %i: %s" % (e.code, e.details)) print("Exiting...") exit(1)
def AttachIR(databasepath, serialNumber): def onAttachHandler(event): logString = "IR Attached " + str(event.device.getSerialNum()) #print(logString) DisplayAttachedDeviceInfo(event.device) def onDetachHandler(event): logString = "IR Detached " + str(event.device.getSerialNum()) #print(logString) DisplayDetachedDeviceInfo(event.device) event.device.closePhidget() def onErrorHandler(event): logString = "IR Error " + str( event.device.getSerialNum()) + ", Error: " + event.description print(logString) DisplayErrorDeviceInfo(event) def onServerConnectHandler(event): logString = "IR Server Connect " + str(event.device.getSerialNum()) #print(logString) def onServerDisconnectHandler(event): logString = "IR Server Disconnect " + str(event.device.getSerialNum()) #print(logString) def IRCodeHandler(event): logString = "IR Code " + str(event.device.getSerialNum()) print(logString) try: conn = sqlite3.connect(databasepath) conn.execute( "INSERT INTO IR_CODE VALUES(NULL, DateTime('now'), ?, ?, ?)", (event.device.getSerialNum(), event.code, event.repeat)) conn.commit() conn.close() except sqlite3.Error as e: print "An error occurred:", e.args[0] def IRLearnHandler(event): logString = "IR Learn " + str(event.device.getSerialNum()) print(logString) try: conn = sqlite3.connect(databasepath) conn.execute( "INSERT INTO IR_LEARN VALUES(NULL, DateTime('now'), ?, ?, ?)", (event.device.getSerialNum(), event.code, event.codeInfo)) conn.commit() conn.close() except sqlite3.Error as e: print "An error occurred:", e.args[0] def IRRawDataHandler(event): logString = "IR Raw Data " + str(event.device.getSerialNum()) print(logString) try: conn = sqlite3.connect(databasepath) conn.execute( "INSERT INTO IR_RAWDATA VALUES(NULL, DateTime('now'), ?, ?)", (event.device.getSerialNum(), event.rawData)) conn.commit() conn.close() except sqlite3.Error as e: print "An error occurred:", e.args[0] try: p = IR() p.setOnAttachHandler(onAttachHandler) p.setOnDetachHandler(onDetachHandler) p.setOnErrorhandler(onErrorHandler) p.setOnServerConnectHandler(onServerConnectHandler) p.setOnServerDisconnectHandler(onServerDisconnectHandler) p.setOnIRCodeHandler(IRCodeHandler) p.setOnIRLearnHandler(IRLearnHandler) p.setOnIRRawDataHandler(IRRawDataHandler) p.openPhidget(serialNumber) except PhidgetException as e: print("Phidget Exception %i: %s" % (e.code, e.details)) print("Exiting...") exit(1)
or Buttons.MUTE < 0 or Buttons.MUTE > 5 or Buttons.EXTRA < 0 or Buttons.EXTRA > 5): print( "Error: All button indices must be from 0 to 5 only. Please check MediaProjectConfig." ) exit() # Start with buttons bright and reset activity timer SetButtonBrightness(uc.ButtonBrightnessPercent_ON) lastActiveTime = time.time() #======================================================================================= # Object attachment # IR object ir = IR() ir.setOnAttachHandler(irAttachedEvent) ir.setOnDetachHandler(irDetachedEvent) ir.openPhidget() # Attach IR phidget try: ir.waitForAttach(1000) except PhidgetException as e: print( "Cannot connect to IR blaster. Please ensure all devices are plugged in." ) # InterfaceKit object interfaceKit = InterfaceKit() interfaceKit.setOnAttachHandler(interfaceKitAttachedEvent)
printStr += ", " printStr += str(codeInfo.Repeat[i]) printStr += " }" message("Repeat: %s" % (printStr)) else: message("Repeat: None") message("MinRepeat: %d\nToggle Mask: %s\nCarrier Frequency: %d\nDuty Cycle: %d" % (codeInfo.MinRepeat, codeInfo.ToggleMask.toString(), codeInfo.CarrierFrequency, codeInfo.DutyCycle)) message("----------------------------------------------------") try: interfaceKit = InterfaceKit() message( "Setting up interface", interfaceKit) ir = IR() except RuntimeError as e: print("Runtime Error: %s" % e.message) try: try: message( "Opening IR Device 121774") ir.openPhidget(121774) message( "Waiting for attachment...") ir.waitForAttach(10000) message("Device ready.") ir.setOnAttachHandler(irAttached) ir.setOnDetachHandler(irDetached) ir.setOnErrorhandler(irError) ir.setOnIRCodeHandler(irCodeRecv) ir.setOnIRLearnHandler(irLearnRecv)
irAttached = False print("IR %i detached" % (e.device.getSerialNum())) def irLearnReceived(e): global codeLearned if (learnDisplayEnabled): print("Learned code: %s" % e.code.toString()) codeLearned = True #======================================================================================= # Main code # IR object ir = IR() ir.setOnAttachHandler(irAttachedEvent) ir.setOnDetachHandler(irDetachedEvent) ir.setOnIRLearnHandler(irLearnReceived) ir.openPhidget() # Attach IR phidget try: while (not irAttached): try: ir.waitForAttach(1000) except PhidgetException as e: print( "Cannot connect to IR blaster. Please ensure all devices are plugged in." ) except:
__author__ = 'Adam Stelmack' __version__ = '2.1.8' __date__ = 'May 11 2010' #Basic imports from ctypes import * import sys import math #Phidget specific imports from Phidgets.PhidgetException import PhidgetErrorCodes, PhidgetException from Phidgets.Events.Events import AttachEventArgs, DetachEventArgs, ErrorEventArgs, IRCodeEventArgs, IRLearnEventArgs, IRRawDataEventArgs from Phidgets.Devices.IR import IR, IRCode, IRCodeInfo, IRCodeLength, IREncoding #Create an RFID object try: ir = IR() except RuntimeError as e: print("Runtime Exception: %s" % e.details) print("Exiting....") exit(1) #Information Display Function def displayDeviceInfo(): print("|------------|----------------------------------|--------------|------------|") print("|- Attached -|- Type -|- Serial No. -|- Version -|") print("|------------|----------------------------------|--------------|------------|") print("|- %8s -|- %30s -|- %10d -|- %8d -|" % (ir.isAttached(), ir.getDeviceName(), ir.getSerialNum(), ir.getDeviceVersion())) print("|------------|----------------------------------|--------------|------------|") def displayCodeInfo(codeInfo): print("----------------------------------------------------")