#!/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)
...