#!/usr/bin/env python from slic.core.acquisition import SFAcquisition from slic.core.acquisition import PVAcquisition from slic.core.adjustable import PVAdjustable, DummyAdjustable from slic.core.condition import PVCondition from slic.core.scanner import Scanner from slic.devices.general.delay_stage import Delay from slic.devices.general.motor import Motor from slic.devices.general.smaract import SmarActAxis from slic.gui import GUI from slic.utils import devices from undulator import Undulators dummy = DummyAdjustable(units="au") mot_x = Motor("SATES30-RETRO:MOT_X", name="Retro X") mot_y = Motor("SATES30-RETRO:MOT_Y", name="Retro Y") mot_z = Motor("SATES30-RETRO:MOT_Z", name="Retro Z") mot_theta = Motor("SATES30-RETRO:MOT_RY", name="Retro Theta") #CH0 = PVAdjustable("SATES30-LSCP10-FNS:CH0:VAL_GET") und = Undulators(name="Undulators") channels = [ "SATFE10-PEPG046:FCUP-INTENSITY-CAL", "SATFE10-PEPG046:PHOTON-ENERGY-PER-PULSE-AVG", "SATES30-LSCP10-FNS:CH0:VAL_GET", "SATES30-LSCP10-FNS:CH1:VAL_GET", "SATES30-LSCP10-FNS:CH4:VAL_GET" ] pvs = [ "SATFE10-PEPG046:PHOTON-ENERGY-PER-PULSE-AVG" ] live_channels = [ "SATES30-LSCP10-FNS:CH0:VAL_GET", "SATES30-LSCP10-FNS:CH1:VAL_GET", # "SATES30-LSCP10-FNS:CH4:VAL_GET" ] instrument = "furka" pgroup = "p19197" #check_intensity = PVCondition("SATFE10-PEPG046:FCUP-INTENSITY-CAL", vmin=5, vmax=None, wait_time=3, required_fraction=0.8) check_intensity = None daq = SFAcquisition(instrument, pgroup, default_channels=channels, default_pvs=pvs, rate_multiplicator=1) scan = Scanner(default_acquisitions=[daq], condition=check_intensity) gui = GUI(scan) daqPV = PVAcquisition(instrument, pgroup, default_channels=live_channels) scanPV = Scanner(default_acquisitions=[daqPV], condition=check_intensity) print("To start the GUI, run: gui()")