41 lines
1.8 KiB
Python
41 lines
1.8 KiB
Python
und_table = ["SARUN03", "SARUN04", "SARUN05", "SARUN06", "SARUN07",
|
|
"SARUN08", "SARUN09", "SARUN10", "SARUN11", "SARUN12",
|
|
"SARUN13", "SARUN14", "SARUN15", "STEST01", "SATUN06",
|
|
"SATUN07", "SATUN08", "SATUN09", "SATUN10", "SATUN11",
|
|
"SATUN12", "SATUN13", "SATUN15", "SATUN16", "SATUN17",
|
|
"SATUN18", "SATUN19", "SATUN20", "SATUN21", "SATUN22"]
|
|
psh_table = ["SARUN03", "SARUN04", "SARUN05", "SARUN06", "SARUN07",
|
|
"SARUN08", "SARUN09", "SARUN10", "SARUN11", "SARUN12",
|
|
"SARUN13", "SARUN14", "STEST01", "SATUN06",
|
|
"SATUN07", "SATUN08", "SATUN09", "SATUN10", "SATUN11",
|
|
"SATUN12", "SATUN13", "SATUN15", "SATUN16", "SATUN17",
|
|
"SATUN18", "SATUN19", "SATUN20", "SATUN21"]
|
|
snr_threshold = caget("SF-SCAN-GLOBAL:SNR-THR")
|
|
|
|
und_scan_global_state.assertReady()
|
|
und_scan_global_state = State.Busy
|
|
und_scan_global_result = None
|
|
try:
|
|
for und in und_table:
|
|
req = caget(und + ":K-SCAN-REQUIRED")
|
|
if req == "True":
|
|
scan = "AT_K" if und.startswith("SAT") else "AR_K"
|
|
[max_val, snr] = run("Undulators/und_scan.py")
|
|
if snr > snr_threshold:
|
|
run("Undulators/und_scan_set.py")
|
|
caput(und + ":K-SCAN-REQUIRED", 0)
|
|
for und in psh_table:
|
|
req = caget(und + ":PHI-SCAN-REQUIRED")
|
|
if req == "True":
|
|
scan = "AT_PHI" if und.startswith("SAT") else "AR_PHI"
|
|
[max_val, snr] = run("Undulators/und_scan.py")
|
|
if snr > snr_threshold:
|
|
run("Undulators/und_scan_set.py")
|
|
caput(und + ":PHI-SCAN-REQUIRED", 0)
|
|
set_return('Success')
|
|
und_scan_global_result = "Ok"
|
|
except:
|
|
und_scan_global_result = str(sys.exc_info()[1])
|
|
finally:
|
|
und_scan_global_state = State.Ready
|
|
|