#!/usr/bin/env python3 from ophyd import Signal, Device, Component as Cpt from ophyd import DeviceStatus import threading import numpy from bluesky import RunEngine from bluesky.callbacks import CallbackBase from pprint import pprint from ophyd.sim import motor1 from ophyd.sim import det1, det2, det3, det4 from bluesky.plans import scan class MyCallback(CallbackBase): def start(self, doc): print("\n\nI got a new 'start' Document") pprint(doc) def descriptor(self, doc): print("I got a new 'descriptor' Document") pprint(doc) def event(self, doc): print("I got a new 'event' Document") pprint(doc) def stop(self, doc): print("I got a new 'stop' Document") pprint(doc) def main(): RE = RunEngine() RE.subscribe(MyCallback()) dets = [det1, det2] plan = scan( dets, motor1, -1, 1, 10) for message in plan: print(message) RE( scan( dets, motor1, -1, 1, 3)) return if __name__ == "__main__": main() $ python3 displayPlan.py Msg('stage', obj=SynGauss(prefix=”, name='det1', read_attrs=['val'], configuration_attrs=['Imax', 'center', 'sigma', 'noise', 'noise_multiplier']), args=(), kwargs={}, run=None) Msg('stage', obj=SynGauss(prefix=”, name='det2', read_attrs=['val'], configuration_attrs=['Imax', 'center', 'sigma', 'noise', 'noise_multiplier']), args=(), kwargs={}, run=None) ...