Esempio n. 1
0
	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
Esempio n. 2
0
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)
Esempio n. 3
0
__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(
Esempio n. 4
0
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)
Esempio n. 5
0
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)
Esempio n. 7
0
                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)
Esempio n. 8
0
    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:
Esempio n. 9
0
__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("----------------------------------------------------")