本文整理汇总了Python中director.timercallback.TimerCallback类的典型用法代码示例。如果您正苦于以下问题:Python TimerCallback类的具体用法?Python TimerCallback怎么用?Python TimerCallback使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了TimerCallback类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
def __init__(self, view, channelName, coordinateFrame, sensorName, intensityRange):
TimerCallback.__init__(self)
self.view = view
self.channelName = channelName
self.reader = None
self.displayedRevolution = -1
self.lastScanLine = 0
self.numberOfScanLines = 1000
self.nextScanLineId = 0
self.scanLines = []
self.pointSize = 1
self.alpha = 0.5
self.visible = True
self.colorBy = 'Solid Color'
self.initScanLines()
self.sensorName = sensorName
self.coordinateFrame = coordinateFrame
self.revPolyData = vtk.vtkPolyData()
self.polyDataObj = vis.PolyDataItem('Lidar Sweep', self.revPolyData, view)
self.polyDataObj.actor.SetPickable(1)
self.polyDataObj.setRangeMap('intensity', intensityRange)
self.setPointSize(self.pointSize)
self.setAlpha(self.alpha)
self.targetFps = 60
self.colorizeCallback = None
示例2: __init__
def __init__(self, view):
TimerCallback.__init__(self)
self.view = view
self.flyTime = 0.5
self.startTime = 0.0
self.maintainViewDirection = False
self.positionZoom = 0.7
示例3: main
def main():
app = consoleapp.ConsoleApp()
meshCollection = lcmobjectcollection.LCMObjectCollection('MESH_COLLECTION_COMMAND')
affordanceCollection = lcmobjectcollection.LCMObjectCollection('AFFORDANCE_COLLECTION_COMMAND')
meshCollection.sendEchoRequest()
affordanceCollection.sendEchoRequest()
def printCollection():
print
print '----------------------------------------------------'
print datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print '%d affordances' % len(affordanceCollection.collection)
for desc in affordanceCollection.collection.values():
print
print 'name:', desc['Name']
print 'type:', desc['classname']
timer = TimerCallback(targetFps=0.2)
timer.callback = printCollection
timer.start()
#app.showPythonConsole()
app.start()
示例4: startApplication
def startApplication(enableQuitTimer=False):
appInstance = QtGui.QApplication.instance()
if enableQuitTimer:
quitTimer = TimerCallback()
quitTimer.callback = appInstance.quit
quitTimer.singleShot(0.1)
appInstance.exec_()
示例5: LCMForceDisplay
class LCMForceDisplay(object):
'''
Displays foot force sensor signals in a status bar widget or label widget
'''
def onRobotState(self,msg):
self.l_foot_force_z = msg.force_torque.l_foot_force_z
self.r_foot_force_z = msg.force_torque.r_foot_force_z
def __init__(self, channel, statusBar=None):
self.sub = lcmUtils.addSubscriber(channel, lcmbotcore.robot_state_t, self.onRobotState)
self.label = QtGui.QLabel('')
statusBar.addPermanentWidget(self.label)
self.timer = TimerCallback(targetFps=10)
self.timer.callback = self.showRate
self.timer.start()
self.l_foot_force_z = 0
self.r_foot_force_z = 0
def __del__(self):
lcmUtils.removeSubscriber(self.sub)
def showRate(self):
global leftInContact, rightInContact
self.label.text = '%.2f | %.2f' % (self.l_foot_force_z,self.r_foot_force_z)
示例6: AnimateRobot
class AnimateRobot(object):
def __init__(self, obj, view):
self.obj = obj
self.view = view
self.timer = TimerCallback(targetFps=60)
self.timer.callback = self.tick
def start(self):
self.startTime = time.time()
self.timer.start()
def stop(self):
self.timer.stop()
def tick(self):
tNow = time.time()
elapsed = tNow - self.startTime
x, y = np.sin(elapsed), np.cos(elapsed)
angle = -elapsed
t = vtk.vtkTransform()
t.PostMultiply()
t.RotateZ(np.degrees(angle))
t.Translate(x, y, 0)
self.obj.getChildFrame().copyFrame(t)
self.view.render()
示例7: start
def start(self):
if self.reader is None:
self.reader = drc.vtkMultisenseSource()
self.reader.InitBotConfig(drcargs.args().config_file)
self.reader.SetDistanceRange(0.25, 4.0)
self.reader.Start()
TimerCallback.start(self)
示例8: BlackoutMonitor
class BlackoutMonitor(object):
UPDATE_RATE = 5
AVERAGE_N = 5
def __init__(self, robotStateJointController, view, cameraview, mapServerSource):
self.robotStateJointController = robotStateJointController
self.view = view
self.cameraview = cameraview
self.mapServerSource = mapServerSource
self.lastCameraMessageTime = 0
self.lastScanBundleMessageTime = 0
self.lastBlackoutLengths = []
self.lastBlackoutLength = 0
self.inBlackout = False
self.averageBlackoutLength = 0.0
self.txt = vis.updateText("DATA AGE: 0 sec", "Data Age Text", view=self.view)
self.txt.addProperty('Show Avg Duration', False)
self.txt.setProperty('Visible', False)
self.updateTimer = TimerCallback(self.UPDATE_RATE)
self.updateTimer.callback = self.update
self.updateTimer.start()
def update(self):
self.lastCameraMessageTime = self.cameraview.imageManager.queue.getCurrentImageTime('CAMERA_LEFT')
self.lastScanBundleMessageTime = self.mapServerSource.reader.GetLastScanBundleUTime()
if self.robotStateJointController.lastRobotStateMessage:
elapsedCam = max((self.robotStateJointController.lastRobotStateMessage.utime - self.lastCameraMessageTime) / (1000*1000), 0.0)
elapsedScan = max((self.robotStateJointController.lastRobotStateMessage.utime - self.lastScanBundleMessageTime) / (1000*1000), 0.0)
# can't be deleted, only hidden, so this is ok
if (self.txt.getProperty('Visible')):
if (self.txt.getProperty('Show Avg Duration')):
textstr = "CAM AGE: %02d sec\nSCAN AGE: %02d sec AVG: %02d sec" % (math.floor(elapsedCam), math.floor(elapsedScan), math.floor(self.averageBlackoutLength))
else:
textstr = "CAM AGE: %02d sec\nSCAN AGE: %02d sec" % (math.floor(elapsedCam), math.floor(elapsedScan))
ssize = self.view.size
self.txt.setProperty('Text', textstr)
self.txt.setProperty('Position', [10, 10])
# count out blackouts
if elapsedCam > 1.0:
self.inBlackout = True
self.lastBlackoutLength = elapsedCam
else:
if (self.inBlackout):
# Don't count huge time jumps due to init
if (self.lastBlackoutLength < 100000):
self.lastBlackoutLengths.append(self.lastBlackoutLength)
if len(self.lastBlackoutLengths) > self.AVERAGE_N:
self.lastBlackoutLengths.pop(0)
if len(self.lastBlackoutLengths) > 0:
self.averageBlackoutLength = sum(self.lastBlackoutLengths) / float(len(self.lastBlackoutLengths))
self.inBlackout = False
示例9: init_node
def init_node(self):
rospy.init_node('director_rospy_node', anonymous=True)
def on_idle():
time.sleep(0.0001)
self.idle_timer = TimerCallback(callback=on_idle, targetFps=100)
self.idle_timer.start()
self.dispatch_timer = TimerCallback(targetFps=30)
self.dispatch_timer.callback = self.on_dispatch_timer
self.dispatch_timer.start()
示例10: start
def start(self):
if self.reader is None:
self.reader = drc.vtkLidarSource()
self.reader.subscribe(self.channelName)
self.reader.setCoordinateFrame(self.coordinateFrame)
self.reader.InitBotConfig(drcargs.args().config_file)
self.reader.SetDistanceRange(0.25, 80.0)
self.reader.SetHeightRange(-80.0, 80.0)
self.reader.Start()
TimerCallback.start(self)
示例11: RosSubscriberManager
class RosSubscriberManager(object):
"""A helper class for managing rospy subscribers and dispatching callbacks."""
def __init__(self):
self.msgs = {}
self.pending_msgs = {}
self.counters = {}
self.subs = OrderedDict()
self.callbacks = OrderedDict()
def init_node(self):
rospy.init_node('director_rospy_node', anonymous=True)
def on_idle():
time.sleep(0.0001)
self.idle_timer = TimerCallback(callback=on_idle, targetFps=100)
self.idle_timer.start()
self.dispatch_timer = TimerCallback(targetFps=30)
self.dispatch_timer.callback = self.on_dispatch_timer
self.dispatch_timer.start()
def get_estimated_topic_hz(self, topic_name):
assert topic_name in self.counters
return self.counters[topic_name].getAverageFPS()
def get_latest_msg(self, topic_name):
return self.msgs.get(topic_name)
def subscribe(self, topic_name, message_type, message_function=None, call_on_thread=False):
def on_message(msg):
self.msgs[topic_name] = msg
self.counters[topic_name].tick()
if call_on_thread and message_function:
message_function(topic_name, msg)
else:
self.pending_msgs[topic_name] = msg
self.counters[topic_name] = FPSCounter()
self.callbacks[topic_name] = message_function
self.subs[topic_name] = rospy.Subscriber(topic_name, message_type, on_message)
def handle_pending_message(self, topic_name):
msg = self.pending_msgs.pop(topic_name, None)
if msg is not None:
callback = self.callbacks.get(topic_name)
if callback:
callback(topic_name, msg)
def handle_pending_messages(self):
for topic_name in list(self.pending_msgs.keys()):
self.handle_pending_message(topic_name)
def on_dispatch_timer(self):
self.handle_pending_messages()
示例12: __init__
def __init__(self, view, callbackFunc=None):
TimerCallback.__init__(self)
self.reader = None
self.folder = None
self.view = view
self.displayedMapIds = {}
self.polyDataObjects = {}
self.targetFps = 10
self.callbackFunc = callbackFunc
self.colorizeCallback = None
self.useMeshes = True
示例13: TriggerFingerPublisher
class TriggerFingerPublisher():
def __init__(self, lcmChannel):
self.lcmChannel = lcmChannel
self.reader = midi.MidiReader()
self.timer = TimerCallback()
self.timer.callback = self.tick
self.msg = lcmdrc.trigger_finger_t()
def startPublishing(self):
print 'Publishing on ' + self.lcmChannel
self.timer.start()
def publish(self):
messages = self.reader.getMessages()
for message in messages:
channel = message[2]
val = message[3] / 127.0
if channel is 102:
self.msg.slider1 = val
elif channel is 103:
self.msg.slider2 = val
elif channel is 104:
self.msg.slider3 = val
elif channel is 105:
self.msg.slider4 = val
elif channel is 106:
self.msg.knob1 = val
elif channel is 107:
self.msg.knob2 = val
elif channel is 108:
self.msg.knob3 = val
elif channel is 109:
self.msg.knob4 = val
elif channel is 110:
self.msg.knob5 = val
elif channel is 111:
self.msg.knob6 = val
elif channel is 112:
self.msg.knob7 = val
elif channel is 113:
self.msg.knob8 = val
if len(messages) is not 0:
self.msg.utime = getUtime()
lcmUtils.publish(self.lcmChannel, self.msg)
def tick(self):
self.publish()
示例14: CommittedRobotPlanListener
class CommittedRobotPlanListener(object):
def __init__(self):
self.sub = lcmUtils.addSubscriber('COMMITTED_ROBOT_PLAN', lcmdrc.robot_plan_t, self.onRobotPlan)
lcmUtils.addSubscriber('COMMITTED_PLAN_PAUSE', lcmdrc.plan_control_t, self.onPause)
self.animationTimer = None
def onPause(self, msg):
commandStream.stopStreaming()
if self.animationTimer:
self.animationTimer.stop()
def onRobotPlan(self, msg):
playback = planplayback.PlanPlayback()
playback.interpolationMethod = 'pchip'
poseTimes, poses = playback.getPlanPoses(msg)
f = playback.getPoseInterpolator(poseTimes, poses)
print 'received robot plan, %.2f seconds' % (poseTimes[-1] - poseTimes[0])
commandStream.applyPlanDefaults()
commandStream.startStreaming()
timer = simpletimer.SimpleTimer()
def setPose(pose):
commandStream.setGoalPose(pose)
def updateAnimation():
tNow = timer.elapsed()
if tNow > poseTimes[-1]:
pose = poses[-1]
setPose(pose)
commandStream.applyDefaults()
print 'plan ended.'
return False
pose = f(tNow)
setPose(pose)
self.animationTimer = TimerCallback()
self.animationTimer.targetFps = 1000
self.animationTimer.callback = updateAnimation
self.animationTimer.start()
示例15: PropertyPanelConnector
class PropertyPanelConnector(object):
def __init__(self, propertySet, propertiesPanel, propertyNamesToAdd=None):
self.propertySet = propertySet
self.propertyNamesToAdd = propertyNamesToAdd
self.propertiesPanel = propertiesPanel
self.connections = []
self.connections.append(self.propertySet.connectPropertyAdded(self._onPropertyAdded))
self.connections.append(self.propertySet.connectPropertyChanged(self._onPropertyChanged))
self.connections.append(self.propertySet.connectPropertyAttributeChanged(self._onPropertyAttributeChanged))
self.propertiesPanel.connect('propertyValueChanged(QtVariantProperty*)', self._onPanelPropertyChanged)
self.timer = TimerCallback()
self.timer.callback = self._rebuildNow
self._blockSignals = True
PropertyPanelHelper.addPropertiesToPanel(self.propertySet, self.propertiesPanel, self.propertyNamesToAdd)
self._blockSignals = False
def cleanup(self):
self.timer.callback = None
self.propertiesPanel.disconnect('propertyValueChanged(QtVariantProperty*)', self._onPanelPropertyChanged)
for connection in self.connections:
self.propertySet.callbacks.disconnect(connection)
def _rebuild(self):
if not self.timer.singleShotTimer.isActive():
self.timer.singleShot(0)
def _rebuildNow(self):
self._blockSignals = True
self.propertiesPanel.clear()
PropertyPanelHelper.addPropertiesToPanel(self.propertySet, self.propertiesPanel)
self._blockSignals = False
def _onPropertyAdded(self, propertySet, propertyName):
self._rebuild()
def _onPropertyAttributeChanged(self, propertySet, propertyName, propertyAttribute):
self._rebuild()
def _onPropertyChanged(self, propertySet, propertyName):
self._blockSignals = True
PropertyPanelHelper.onPropertyValueChanged(self.propertiesPanel, propertySet, propertyName)
self._blockSignals = False
def _onPanelPropertyChanged(self, panelProperty):
if not self._blockSignals:
PropertyPanelHelper.setPropertyFromPanel(panelProperty, self.propertiesPanel, self.propertySet)