Example #1
0
def AttachAdvancedServo(databasepath, serialNumber):
	def onAttachHandler(event):
		logString = "AdvancedServo Attached " + str(event.device.getSerialNum())
		DisplayAttachedDeviceInfo(event.device)

	def onDetachHandler(event):
		logString = "AdvancedServo Detached " + str(event.device.getSerialNum())
		DisplayDetachedDeviceInfo(event.device)

		event.device.closePhidget()

	def onErrorHandler(event):
		logString = "AdvancedServo Error " + str(event.device.getSerialNum()) + ", Error: " + event.description
		print(logString)

		DisplayErrorDeviceInfo(event.device)
		
	def onServerConnectHandler(event):
		logString = "AdvancedServo Server Connect " + str(event.device.getSerialNum())

	def onServerDisconnectHandler(event):
		logString = "AdvancedServo Server Disconnect " + str(event.device.getSerialNum())

	def currentChangeHandler(event):
		logString = "AdvancedServo Current Changed"

		try:
			conn = sqlite3.connect(databasepath)

			conn.execute("INSERT INTO ADVANCEDSERVO_CURRENTCHANGE VALUES(NULL, DateTime('now'), ?, ?, ?)",
					(event.device.getSerialNum(), event.index, event.current))

			conn.commit()
			conn.close()
		except sqlite3.Error as e:
			print "An error occurred:", e.args[0]

	def positionChangeHandler(event):
		logString = "AdvancedServo Position Changed"
		#print(logString)

		try:
			conn = sqlite3.connect(databasepath)

			conn.execute("INSERT INTO ADVANCEDSERVO_POSITIONCHANGE VALUES(NULL, DateTime('now'), ?, ?, ?)",
					(event.device.getSerialNum(), event.index, event.position))

			conn.commit()
			conn.close()
		except sqlite3.Error as e:
			print "An error occurred:", e.args[0]

	def velocityChangeHandler(event):
		logString = "AdvancedServo Velocity Changed"
		#print(logString)

		try:
			conn = sqlite3.connect(databasepath)

			conn.execute("INSERT INTO ADVANCEDSERVO_VELOCITYCHANGE VALUES(NULL, DateTime('now'), ?, ?, ?)",
					(event.device.getSerialNum(), event.index, event.velocity))

			conn.commit()
			conn.close()
		except sqlite3.Error as e:
			print "An error occurred:", e.args[0]

	try:
		p = AdvancedServo()

		p.setOnAttachHandler(onAttachHandler)
		p.setOnDetachHandler(onDetachHandler)
		p.setOnErrorhandler(onErrorHandler)
		p.setOnServerConnectHandler(onServerConnectHandler)
		p.setOnServerDisconnectHandler(onServerDisconnectHandler)

		p.setOnCurrentChangeHandler(currentChangeHandler)
		p.setOnPositionChangeHandler(positionChangeHandler)
		p.setOnVelocityChangeHandler(velocityChangeHandler)

		p.openPhidget(serialNumber)

	except PhidgetException as e:
		print("Phidget Exception %i: %s" % (e.code, e.details))
		print("Exiting...")
		exit(1)
Example #2
0
    print("AdvancedServo %i: Motor %i Position: %f - Velocity: %f - Current: %f" % (source.getSerialNum(), e.index, e.position, velocityList[e.index], currentList[e.index]))
    if advancedServo.getStopped(e.index) == True:
        print("Motor %i Stopped" % (e.index))

def VelocityChanged(e):
    global velocityList
    velocityList[e.index] = e.velocity

#Main Program Code

#set up our event handlers
try:
    advancedServo.setOnAttachHandler(Attached)
    advancedServo.setOnDetachHandler(Detached)
    advancedServo.setOnErrorhandler(Error)
    advancedServo.setOnCurrentChangeHandler(CurrentChanged)
    advancedServo.setOnPositionChangeHandler(PositionChanged)
    advancedServo.setOnVelocityChangeHandler(VelocityChanged)
except PhidgetException as e:
    print("Phidget Exception %i: %s" % (e.code, e.details))
    print("Exiting....")
    exit(1)

print("Opening phidget object....")

try:
    advancedServo.openPhidget()
except PhidgetException as e:
    print("Phidget Exception %i: %s" % (e.code, e.details))
    print("Exiting....")
    exit(1)
            advancedServo.closePhidget()
        except PhidgetException as e:
            print("Phidget Exception %i: %s" % (e.code, e.details))

        print("Exiting....")
        exit(1)


# set up event handlers

try:

    advancedServo.setOnAttachHandler(Attached)
    advancedServo.setOnDetachHandler(Detached)
    advancedServo.setOnErrorhandler(Error)
    advancedServo.setOnCurrentChangeHandler(CurrentChanged)
    advancedServo.setOnPositionChangeHandler(PositionChanged)
    advancedServo.setOnVelocityChangeHandler(VelocityChanged)

except PhidgetException as e:

    print("Phidget Exception %i: %s" % (e.code, e.details))
    print("Exiting....")
    exit(1)

# create phidget

print("Opening phidget object....")

try:
    advancedServo.openPhidget()
Example #4
0
def AttachAdvancedServo(databasepath, serialNumber):
    def onAttachHandler(event):
        logString = "AdvancedServo Attached " + str(
            event.device.getSerialNum())
        DisplayAttachedDeviceInfo(event.device)

    def onDetachHandler(event):
        logString = "AdvancedServo Detached " + str(
            event.device.getSerialNum())
        DisplayDetachedDeviceInfo(event.device)

        event.device.closePhidget()

    def onErrorHandler(event):
        logString = "AdvancedServo Error " + str(
            event.device.getSerialNum()) + ", Error: " + event.description
        print(logString)

        DisplayErrorDeviceInfo(event.device)

    def onServerConnectHandler(event):
        logString = "AdvancedServo Server Connect " + str(
            event.device.getSerialNum())

    def onServerDisconnectHandler(event):
        logString = "AdvancedServo Server Disconnect " + str(
            event.device.getSerialNum())

    def currentChangeHandler(event):
        logString = "AdvancedServo Current Changed"

        try:
            conn = sqlite3.connect(databasepath)

            conn.execute(
                "INSERT INTO ADVANCEDSERVO_CURRENTCHANGE VALUES(NULL, DateTime('now'), ?, ?, ?)",
                (event.device.getSerialNum(), event.index, event.current))

            conn.commit()
            conn.close()
        except sqlite3.Error as e:
            print "An error occurred:", e.args[0]

    def positionChangeHandler(event):
        logString = "AdvancedServo Position Changed"
        #print(logString)

        try:
            conn = sqlite3.connect(databasepath)

            conn.execute(
                "INSERT INTO ADVANCEDSERVO_POSITIONCHANGE VALUES(NULL, DateTime('now'), ?, ?, ?)",
                (event.device.getSerialNum(), event.index, event.position))

            conn.commit()
            conn.close()
        except sqlite3.Error as e:
            print "An error occurred:", e.args[0]

    def velocityChangeHandler(event):
        logString = "AdvancedServo Velocity Changed"
        #print(logString)

        try:
            conn = sqlite3.connect(databasepath)

            conn.execute(
                "INSERT INTO ADVANCEDSERVO_VELOCITYCHANGE VALUES(NULL, DateTime('now'), ?, ?, ?)",
                (event.device.getSerialNum(), event.index, event.velocity))

            conn.commit()
            conn.close()
        except sqlite3.Error as e:
            print "An error occurred:", e.args[0]

    try:
        p = AdvancedServo()

        p.setOnAttachHandler(onAttachHandler)
        p.setOnDetachHandler(onDetachHandler)
        p.setOnErrorhandler(onErrorHandler)
        p.setOnServerConnectHandler(onServerConnectHandler)
        p.setOnServerDisconnectHandler(onServerDisconnectHandler)

        p.setOnCurrentChangeHandler(currentChangeHandler)
        p.setOnPositionChangeHandler(positionChangeHandler)
        p.setOnVelocityChangeHandler(velocityChangeHandler)

        p.openPhidget(serialNumber)

    except PhidgetException as e:
        print("Phidget Exception %i: %s" % (e.code, e.details))
        print("Exiting...")
        exit(1)