def go_plan(): ret = (yield from bps.abs_set(pgm.fly.fly_start, 1)) st = StatusBase() enum_map = pgm.fly.scan_status.describe()[ pgm.fly.scan_status.name]['enum_strs'] def _done_cb(value, old_value, **kwargs): print(f'Old value {old_value} -> new value {value}') print( f'Old value type {type(old_value)} -> new value {type(value)}') try: old_value = enum_map[int(old_value)] except (TypeError, ValueError): ... try: value = enum_map[int(value)] except (TypeError, ValueError): ... if old_value != value and value == 'Ready': st._finished() pgm.fly.scan_status.clear_sub(_done_cb) if ret is not None: pgm.fly.scan_status.subscribe(_done_cb, run=False) else: st._finished() print('SIM MODE') return st
def kickoff(): # plan for moving st = StatusBase() # move once every second for 2 min for i in range(24): # 24*5 = 120 for loc in np.linspace(-delta / 2, delta / 2, 5): # 5s, RE.loop.call_later(1, lambda v=loc: motor.set(v)) st._finished() return st
def test_pardon_failures(RE): from ophyd import StatusBase st = StatusBase() class Dummy: name = 'dummy' def set(self, val): return st dummy = Dummy() RE([Msg('set', dummy, 1)]) st._finished(success=False) RE([Msg('null')])
def test_pardon_failures(RE): from ophyd import StatusBase st = StatusBase() class Dummy: name = 'dummy' def set(self, val): return st dummy = Dummy() RE([Msg('set', dummy, 1)]) st._finished(success=False) RE([Msg('null')])
def go_plan(): ret = (yield from bps.abs_set(pgm.fly.fly_start, 1)) st = StatusBase() enum_map = pgm.fly.scan_status.describe()[pgm.fly.scan_status.name]['enum_strs'] def _done_cb(value, old_value, **kwargs): old_value = enum_map[int(old_value)] value = enum_map[int(value)] if old_value != value and value == 'Ready': st._finished() pgm.fly.scan_status.clear_sub(_done_cb) if ret is not None: pgm.fly.scan_status.subscribe(_done_cb, run=False) else: st._finished() print('SIM MODE') return st
def go_plan(): ret = (yield from bps.abs_set(pgm.fly.fly_start, 1)) st = StatusBase() enum_map = pgm.fly.scan_status.describe()[ pgm.fly.scan_status.name]['enum_strs'] def _done_cb(value, old_value, **kwargs): old_value = enum_map[int(old_value)] value = enum_map[int(value)] if old_value != value and value == 'Ready': st._finished() pgm.fly.scan_status.clear_sub(_done_cb) if ret is not None: pgm.fly.scan_status.subscribe(_done_cb, run=False) else: st._finished() print('SIM MODE') return st
def trigger(self): st = StatusBase() fresh_RE.loop.call_later(1, lambda: st._finished(success=False)) return st
def set(self, val): st = StatusBase() st._finished(success=False) return st
def trigger(self): st = StatusBase() fresh_RE.loop.call_later(1, lambda: st._finished(success=False)) return st
def set(self, inp): st = StatusBase() RE.loop.call_later(1, lambda: st._finished(success=False)) return st
def set(self, inp): st = StatusBase() RE.loop.call_later(1, lambda: st._finished(success=False)) return st
def set(self, val): st = StatusBase() st._finished(success=False) return st