コード例 #1
0
    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
コード例 #2
0
ファイル: ramp.py プロジェクト: tangkong/SSRL-2-1
    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
コード例 #3
0
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')])
コード例 #4
0
ファイル: test_run_engine.py プロジェクト: NSLS-II/bluesky
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')])
コード例 #5
0
    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
コード例 #6
0
    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
コード例 #7
0
ファイル: test_examples.py プロジェクト: tacaswell/bluesky
 def trigger(self):
     st = StatusBase()
     fresh_RE.loop.call_later(1, lambda: st._finished(success=False))
     return st
コード例 #8
0
 def set(self, val):
     st = StatusBase()
     st._finished(success=False)
     return st
コード例 #9
0
ファイル: test_examples.py プロジェクト: vherzog/bluesky
 def trigger(self):
     st = StatusBase()
     fresh_RE.loop.call_later(1, lambda: st._finished(success=False))
     return st
コード例 #10
0
ファイル: test_examples.py プロジェクト: zyzelda/bluesky
 def set(self, inp):
     st = StatusBase()
     RE.loop.call_later(1, lambda: st._finished(success=False))
     return st
コード例 #11
0
ファイル: test_examples.py プロジェクト: NSLS-II/bluesky
 def set(self, inp):
     st = StatusBase()
     RE.loop.call_later(1, lambda: st._finished(success=False))
     return st
コード例 #12
0
ファイル: test_run_engine.py プロジェクト: NSLS-II/bluesky
 def set(self, val):
     st = StatusBase()
     st._finished(success=False)
     return st