本文整理汇总了Python中Phidgets.Devices.InterfaceKit.setOnDetachHandler方法的典型用法代码示例。如果您正苦于以下问题:Python InterfaceKit.setOnDetachHandler方法的具体用法?Python InterfaceKit.setOnDetachHandler怎么用?Python InterfaceKit.setOnDetachHandler使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Phidgets.Devices.InterfaceKit
的用法示例。
在下文中一共展示了InterfaceKit.setOnDetachHandler方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: HomeMonDaemon
# 需要导入模块: from Phidgets.Devices import InterfaceKit [as 别名]
# 或者: from Phidgets.Devices.InterfaceKit import setOnDetachHandler [as 别名]
class HomeMonDaemon(daemon.BaseDaemon):
""" Serves one device
"""
def __init__(self):
daemon.BaseDaemon.__init__(self)
self.ikit = None
self.deviceName = None
self.inputs = None
self.outputs = None
self.state = states['init']
def init(self):
""" Init
"""
try:
self.ikit = InterfaceKit()
self.ikit.setOnAttachHandler(self.inferfaceKitAttached)
self.ikit.setOnDetachHandler(self.interfaceKitDetached)
self.ikit.setOnErrorhandler(self.interfaceKitError)
self.ikit.setOnInputChangeHandler(self.interfaceKitInputChanged)
self.ikit.setOnOutputChangeHandler(self.interfaceKitOutputChanged)
self.ikit.setOnSensorChangeHandler(self.interfaceKitSensorChanged)
except Exception,e:
pass
示例2: __init__
# 需要导入模块: from Phidgets.Devices import InterfaceKit [as 别名]
# 或者: from Phidgets.Devices.InterfaceKit import setOnDetachHandler [as 别名]
class PhidgetsInterfaceKit:
def __init__(self):
rospy.init_node('interface_kit', anonymous=True)
self.name = rospy.get_param('~name', '')
self.serial = rospy.get_param('~serial_number', -1)
if self.serial == -1:
rospy.logwarn('No serial number specified. This node will connect to the first interface kit attached.')
self.interface_kit = InterfaceKit()
def initialize(self):
try:
self.interface_kit.setOnAttachHandler(self.interfaceKitAttached)
self.interface_kit.setOnDetachHandler(self.interfaceKitDetached)
self.interface_kit.setOnErrorhandler(self.interfaceKitError)
self.interface_kit.setOnSensorChangeHandler(self.interfaceKitSensorChanged)
self.interface_kit.openPhidget(self.serial)
except PhidgetException, e:
rospy.logfatal('Phidget Exception %i: %s' % (e.code, e.message))
sys.exit(1)
示例3: open
# 需要导入模块: from Phidgets.Devices import InterfaceKit [as 别名]
# 或者: from Phidgets.Devices.InterfaceKit import setOnDetachHandler [as 别名]
if __name__ == '__main__':
# f = open('sonar.txt','a')
# f.write('********************************\n')
# f.close()
# Create
try:
device = InterfaceKit()
except RuntimeError as e:
print("Runtime Error: %s" % e.message)
try:
device.setOnAttachHandler(AttachHandler)
device.setOnDetachHandler(DetachHandler)
device.openPhidget()
device.setOnSensorChangeHandler(sensorChanged)
except PhidgetException as e:
LocalErrorCatcher(e)
try:
pub = rospy.Publisher('sonar', Float32)
rospy.init_node('sonar')
except rospy.ROSInterruptException:
pass
print("Phidget Simple Playground (plug and unplug devices)");
print("Press Enter to end anytime...");
character = str(raw_input())
示例4: interfaceKitInputChanged
# 需要导入模块: from Phidgets.Devices import InterfaceKit [as 别名]
# 或者: from Phidgets.Devices.InterfaceKit import setOnDetachHandler [as 别名]
def interfaceKitInputChanged(e):
print "Input %i: %s" % (e.index, e.state)
return 0
def interfaceKitSensorChanged(e):
print "Sensor %i: %i" % (e.index, e.value)
return 0
def interfaceKitOutputChanged(e):
print "Output %i: %s" % (e.index, e.state)
return 0
#Main Program Code
try:
interfaceKit.setOnAttachHandler(inferfaceKitAttached)
interfaceKit.setOnDetachHandler(interfaceKitDetached)
interfaceKit.setOnErrorhandler(interfaceKitError)
interfaceKit.setOnInputChangeHandler(interfaceKitInputChanged)
interfaceKit.setOnOutputChangeHandler(interfaceKitOutputChanged)
interfaceKit.setOnSensorChangeHandler(interfaceKitSensorChanged)
except PhidgetException, e:
print "Phidget Exception %i: %s" % (e.code, e.message)
print "Exiting...."
exit(1)
print "Opening phidget object...."
try:
interfaceKit.openPhidget()
except PhidgetException, e:
print "Phidget Exception %i: %s" % (e.code, e.message)
示例5: __init__
# 需要导入模块: from Phidgets.Devices import InterfaceKit [as 别名]
# 或者: from Phidgets.Devices.InterfaceKit import setOnDetachHandler [as 别名]
class Sonar:
def __init__(self):
try:
self.device = InterfaceKit()
except RuntimeError as e:
print("Runtime Error: %s" % e.message)
self.height = 0
self.vel = 0
self.last_hit_time = 0
self.lock = Lock()
num = [0.0181,0.0543,0.0543,0.0181]
den = [1,-1.76,1.1829,-0.2781]
self.vzfilter = IIRfilter(num,den)
try:
self.device.setOnAttachHandler(self.AttachHandler)
self.device.setOnDetachHandler(self.DetachHandler)
self.device.openPhidget()
self.device.setOnSensorChangeHandler(self.sensorChanged)
except PhidgetException as e:
self.LocalErrorCatcher(e)
def AttachHandler(self,event):
attachedDevice = event.device
serialNumber = attachedDevice.getSerialNum()
deviceName = attachedDevice.getDeviceName()
attachedDevice.setRatiometric(True)
attachedDevice.setSensorChangeTrigger(5,1)
print("Hello to Device " + str(deviceName) + ", Serial Number: " + str(serialNumber))
def DetachHandler(self,event):
detachedDevice = event.device
serialNumber = detachedDevice.getSerialNum()
deviceName = detachedDevice.getDeviceName()
print("Goodbye Device " + str(deviceName) + ", Serial Number: " + str(serialNumber))
def sensorChanged(self,e):
# f = open('sonar.txt','a')
with self.lock:
current_hit = time.time()
time_elapse = current_hit-self.last_hit_time
if time_elapse > 0.1:
#print ("Sensor height {0} cm vel {1} cm/s".format(self.height, self.vel))
self.last_hit_time= current_hit
self.vel = (e.value*1024.0/1000-self.height)/time_elapse
self.vzfilter.add_raw_data(self.vel)
self.vel = self.vzfilter.get_filter_data()
self.height = e.value*1024.0/1000
# print ("Sensor %i: %i" % (e.index, height))
# f.write('Height at %.3f\n',height)
# f.close()
return 0
def LocalErrorCatcher(event):
print("Phidget Exception: " + str(event.code) + " - " + str(event.details) + ", Exiting...")
exit(1)
def get_height(self):
#with self.lock:
return self.height
def get_vel(self):
#with self.lock:
return self.vel
def close_phidget(self):
print("Closing...")
# f = open('sonar.txt','a')
# f.write('********************************\n')
# f.close()
try:
self.device.closePhidget()
except PhidgetException as e:
self.LocalErrorCatcher(e)