configure_device(area_det=dexela, shutter=shctl1, temp_controller=cs700, db=db, filter_bank=fb, ring_current=ring_current, robot=robot ) # cache previous glbl state reload_glbl_dict = _reload_glbl() from xpdacq.glbl import glbl # reload beamtime from xpdacq.beamtimeSetup import (start_xpdacq, _start_beamtime, _end_beamtime) bt = start_xpdacq() if bt is not None: print("INFO: Reload beamtime objects:\n{}\n".format(bt)) if reload_glbl_dict is not None: _set_glbl(glbl, reload_glbl_dict) # import necessary modules from xpdacq.xpdacq import * from xpdacq.beamtime import * from xpdacq.utils import import_sample_info # instantiate xrun without beamtime, like bluesky setup xrun = CustomizedRunEngine(None) xrun.md['beamline_id'] = glbl['beamline_id'] xrun.md['group'] = glbl['group'] xrun.md['facility'] = glbl['facility']
glbl.area_det = pe1c glbl.shutter = shctl1 glbl.temp_controller = cs700 # let NameError handle missing object # beamtime reload happen in xpdacq from xpdacq.xpdacq import * # instantiate prun without beamtime, like bluesky setup prun = CustomizedRunEngine(None) prun.md['owner'] = glbl.owner prun.md['beamline_id'] = glbl.beamline_id prun.md['group'] = glbl.group # load beamtime bt = start_xpdacq() if bt is not None: print("INFO: Reload beamtime objects:\n{}\n".format(bt)) prun.beamtime = bt HOME_DIR = glbl.home BASE_DIR = glbl.base YAML_DIR = glbl.yaml_dir print('INFO: Initializing the XPD data acquisition environment') if os.path.isdir(HOME_DIR): os.chdir(HOME_DIR) else: os.chdir(BASE_DIR) from xpdacq.calib import run_calibration