import logging from nslsii import configure_base from IPython import get_ipython from bluesky.callbacks.zmq import Publisher import functools from ophyd.signal import EpicsSignal, EpicsSignalRO EpicsSignal.set_defaults(connection_timeout=10) EpicsSignalRO.set_defaults(connection_timeout=10) configure_base(get_ipython().user_ns, "jpls") publisher = Publisher("xf12id1-ws2:5577") RE.subscribe(publisher) # Optional: set any metadata that rarely changes. RE.md["beamline_id"] = "OPLS" # For debug mode from bluesky.utils import ts_msg_hook # RE.msg_hook = ts_msg_hook # THIS NEEDS TO MOVE UPSTREAM async def reset_user_position(msg): obj = msg.obj (val,) = msg.args old_value = obj.position obj.set_current_position(val) print(f"{obj.name} reset from {old_value:.4f} to {val:.4f}")
timeout = self.connection_timeout # print(f'{print_now()}: waiting for {self.name} to connect within {timeout:.4f} s...') start = time.time() self._ensure_connected(self._read_pv, self._write_pv, timeout=timeout) # print(f'{print_now()}: waited for {self.name} to connect for {time.time() - start:.4f} s.') EpicsSignalBase.wait_for_connection = wait_for_connection_base EpicsSignal.wait_for_connection = wait_for_connection ############################################################################### from ophyd.signal import EpicsSignalBase # EpicsSignalBase.set_default_timeout(timeout=10, connection_timeout=10) # old style EpicsSignalBase.set_defaults(timeout=10, connection_timeout=10) # new style EpicsSignal.set_defaults(timeout=10, connection_timeout=10) # new style import nslsii from datetime import datetime # Register bluesky IPython magics. if not is_re_worker_active(): from bluesky.magics import BlueskyMagics get_ipython().register_magics(BlueskyMagics) from bluesky.preprocessors import stage_decorator, run_decorator from databroker.v0 import Broker db = Broker.named("fxi") del Broker