本文整理汇总了Python中pychron.core.ui.thread.Thread.isRunning方法的典型用法代码示例。如果您正苦于以下问题:Python Thread.isRunning方法的具体用法?Python Thread.isRunning怎么用?Python Thread.isRunning使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pychron.core.ui.thread.Thread
的用法示例。
在下文中一共展示了Thread.isRunning方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: FusionsLaserManager
# 需要导入模块: from pychron.core.ui.thread import Thread [as 别名]
# 或者: from pychron.core.ui.thread.Thread import isRunning [as 别名]
#.........这里部分代码省略.........
if self.use_video:
self.stage_manager.stop_recording()
def degasser_factory(self):
from pychron.mv.degas.degasser import Degasser
dm = Degasser(
laser_manager=self,
video=self.stage_manager.video,
)
return dm
def do_machine_vision_degas(self, lumens, duration, new_thread=False):
if self.use_video:
dm = self.degasser_factory()
def func():
dm.degas(lumens, duration)
if new_thread:
self._degas_thread = Thread(target=func)
self._degas_thread.start()
else:
func()
def get_brightness(self):
if self.use_video:
return self.stage_manager.get_brightness()
else:
return super(FusionsLaserManager, self).get_brightness()
def is_degassing(self):
if self._degas_thread:
return self._degas_thread.isRunning()
# ===============================================================================
# pyscript interface
# ===============================================================================
def _move_to_position(self, position, autocenter):
if self.stage_manager is not None:
if isinstance(position, tuple):
if len(position) > 1:
x, y = position[:2]
self.stage_manager.linear_move(x, y)
if len(position) == 3:
self.stage_manager.set_z(position[2])
else:
self.stage_manager.move_to_hole(position)
return True
def set_stage_map(self, mapname):
if self.stage_manager is not None:
self.stage_manager.set_stage_map(mapname)
def _enable_hook(self, **kw):
resp = self.laser_controller._enable_laser(**kw)
if self.laser_controller.simulation:
resp = True
return resp
def _disable_hook(self):
resp = self.laser_controller._disable_laser()
if self.laser_controller.simulation:
示例2: StageManager
# 需要导入模块: from pychron.core.ui.thread import Thread [as 别名]
# 或者: from pychron.core.ui.thread.Thread import isRunning [as 别名]
#.........这里部分代码省略.........
self.stage_controller._z_position = self._default_z
if self.home_option in ['XY', 'Home All']:
time.sleep(0.25)
# the stage controller should think x and y are at -25,-25
self.stage_controller._x_position = -25
self.stage_controller._y_position = -25
self.info('moving to center')
self.stage_controller.linear_move(0, 0, block=True,
sign_correct=False)
def _get_hole_by_position(self, x, y):
if self._stage_map:
return self._stage_map._get_hole_by_position(x, y)
def _get_hole_by_name(self, key):
sm = self._stage_map
return sm.get_hole(key)
#===============================================================================
# special move
#===============================================================================
def _stop(self, ax_key=None, verbose=False):
self.stage_controller.stop(ax_key=ax_key, verbose=verbose)
if self.parent.pattern_executor:
self.parent.pattern_executor.stop()
def _move(self, func, pos, name=None, *args, **kw):
if pos is None:
return
if self.move_thread and self.move_thread.isRunning():
self.stage_controller.stop()
if name is None:
name = func.func_name
self.move_thread = Thread(name='stage.{}'.format(name),
target=func, args=(pos,) + args, kwargs=kw)
self.move_thread.start()
def _drill_point(self, pt):
zend = pt.zend
vel = pt.velocity
# assume already at zstart
st = time.time()
self.info('start drilling. move to {}. velocity={}'.format(zend, vel))
self.set_z(zend, velocity=vel, block=True)
et = time.time() - st
self.info('drilling complete. drilled for {}s'.format(et))
def _move_polygon(self, pts, velocity=5,
offset=50,
use_outline=True,
find_min=False,
scan_size=None,
use_move=True,
use_convex_hull=True,
motors=None,
verbose=True,
start_callback=None, end_callback=None):
'''
motors is a dict of motor_name:value pairs