#!/usr/bin/env python from slic.controls import PV from slic.daq import BS, DIA from slic.scans import Scanner from slic.utils import Channels, Config, Elog, Screenshot from slic.checkers import PVChecker from devices import * from adhoc import * #fn_cfg = "/sf/alvra/config/exp/current_experiment.json" fn_cfg = "./slickits/alvra/config.json" cfg = Config(fn_cfg) elog = Elog(cfg.elog_url, cfg.screenshot_directory, user=cfg.user, password="supercorrect") #TODO: remove fake password screenshot = Screenshot(cfg.screenshot_directory) check_intensity = PVChecker("SARFE10-PBPG050:HAMP-INTENSITY-CAL", vmin=100, vmax=300, wait_time=3) bsdaqJF = DIA(#TODO: gain and pedestal? instrument="alvra", api_address="http://sf-daq-alvra:10000", jf_name="JF_4.5M", pgroup=cfg.pgroup ) scansJF = Scanner( data_base_dir="scan_data", scan_info_dir="/sf/alvra/data/{}/res/scan_info".format(cfg.pgroup), default_counters=[bsdaqJF], checker=check_intensity, scan_directories=True ) #fn_channels = "/sf/alvra/config/com/channel_lists/default_channel_list" fn_channels = "./slickits/alvra/channel_list" channels = Channels(fn_channels) bsdaq = BS(channels, default_file_path="???") scansBSreadLocal = Scanner( data_base_dir="/sf/alvra/data/{}/res/scan_data".format(cfg.pgroup), scan_info_dir="/sf/alvra/data/{}/res/scan_info".format(cfg.pgroup), default_counters=[bsdaq], scan_directories=True ) #TODO: just some generic examples: from slic.devices.device import Device shut_und = Device( "SARFE10-OPSH044", description="Photon shutter after Undulator" ) pbps_und = Device( "SARFE10-PBPS053", z_undulator=44, description="Intensity position monitor after Undulator (PBPS)" ) print(shut_und) print(pbps_und)