################################################################################################### # Deployment specific global definitions - executed after startup.py ################################################################################################### NO_BEAM_CHECK = False # setting this to true disables the waiting for the beam before starting energy or hyst scan OTF_START = "X11MA-OTF:GO" OTF_E1 = "X11MA-OTF:E1" OTF_E2 = "X11MA-OTF:E2" OTF_TIME = "X11MA-OTF:TIME" OTF_FID = "X11MA-OTF:FID" OTF_FTS = "X11MA-OTF:FTSTAMP" OTF_FILE = "X11MA-OTF:FNAME" ID1_MODE = "X11MA-ID1:MODE" ID2_MODE = "X11MA-ID2:MODE" ID1_ALPHA = "X11MA-ID1:ALPHA" ID2_ALPHA = "X11MA-ID2:ALPHA" ID1_OFF = "X11MA-ID1:ENERGY-OFFS" ID2_OFF = "X11MA-ID2:ENERGY-OFFS" ALL_DONE = "X11MA-PHS:ALL-DONE" ENERGY_SP = "X11MA-PHS:E_SP" VG10_SET = "X11MA-EPS-VG10:SET" VG10_GET = "X11MA-OP-VG10:OPEN" VG11_SET = "X11MA-EPS-VG11:SET" VG11_GET = "X11MA-OP-VG11:OPEN" VG12_SET = "X11MA-EPS-VG12:SET" VG12_GET = "X11MA-OP-VG12:OPEN" VG13_SET = "X11MA-EPS-VG13:SET" VG13_GET = "X11MA-OP-VG13:OPEN" LPP_DELAY = "X11MA-ES2-4CHT:SET2-DELAY" LPP_FINE_DELAY = "X11MA-ES2-4CHT:SET2-FINE" TIME_DELAY_SET = "X11MA-ES2:Theta-New.A" TIME_DELAY_VAL = "X11MA-ES2:Theta-Cur.VAL" TIME_DELAY_START = "X11MA-ES2:SCAN-START" TIME_DELAY_COMPLETE = "X11MA-ES2-scan1.SMSG" TBT_MAG = "X11MA-LSCI632:MFIELD" MAG="X11MA-XMCD:Ireadout" def get_next_fid(folder, prefix): try: import glob files = glob.glob(folder + prefix + '*_*.dat') last = max(files) index = int (last[last.rfind('_')+1 : last.rfind('.')]) + 1 return index except: return 0 def wait_channel(name, value, timeout =None, type='s'): print "Waiting " + str(name) + " = " + str(value) cawait(name, value, timeout = timeout, type=type) print "Done" def open_vg10(): if caget (VG10_GET,'i') != 1: caput(VG10_SET, 0) time.sleep(0.1) caput(VG10_SET, 1) def close_vg10(): if caget (VG10_GET,'i') == 1: caput(VG10_SET, 0) time.sleep(0.1) caput(VG10_SET, 1) def open_vg11(): if caget (VG11_GET,'i') != 1: caput(VG11_SET, 0) time.sleep(0.1) caput(VG11_SET, 1) def close_vg11(): if caget (VG11_GET,'i') == 1: caput(VG11_SET, 0) time.sleep(0.1) caput(VG11_SET, 1) def open_vg12(): if caget (VG12_GET,'i') != 1: caput(VG12_SET, 0) time.sleep(0.1) caput(VG12_SET, 1) def close_vg12(): if caget (VG12_GET,'i') == 1: caput(VG12_SET, 0) time.sleep(0.1) caput(VG12_SET, 1) def open_vg13(): if caget (VG13_GET,'i') != 1: caput(VG13_SET, 0) time.sleep(0.1) caput(VG13_SET, 1) def close_vg13(): if caget (VG13_GET,'i') == 1: caput(VG13_SET, 0) time.sleep(0.1) caput(VG13_SET, 1) def plot_file(file, ctxt = None): """ """ sep = "\t" table = Table.load(file, sep, '#') plots = plot(table, title = ctxt) def has_beam(): """ """ return beam_status.readback.read() !="Machine Down" def wait_beam(): """ """ print "Waiting for beam... ", while not has_beam(): if maintenance_mode: print "Maintenence mode: disregarding beam state" return sleep(0.1) print "Beam OK."