Script execution

This commit is contained in:
gac-x04sa
2018-10-30 14:21:13 +01:00
parent 2ceeadd3ef
commit 03f8d90be9

View File

@@ -85,6 +85,14 @@ def trigger_detectors(position, scan):
count_id = + 1
close_shutter()
def save_metadata(rec):
if get_exec_pars().persist:
if rec.index == 0:
create_diag_datasets()
append_diag_datasets()
"""
#get_counts
@@ -109,8 +117,49 @@ def trigger_detectors(position, scan):
"""
diag_channels = [ phi.readback, \
omegaH.readback,
nu.readback,\
omegaV.readback, \
alpha.readback, \
delta.readback, \
gamma.readback, \
xv.readback, \
y1.readback, \
y2.readback, \
y3.readback, \
trx.readback, \
thy.readback, \
]
MOTOR_READBACKS = phi.readback, omegaH.readback, nu.readback, omegaV.readback, alpha.readback, delta.readback, gamma.readback, \
xv.readback, y1.readback, y2.readback, y3.readback, trx.readback, thy.readback
def get_diag_name(diag):
return ch.psi.utils.Str.toTitleCase(diag.getName()).replace(" ", "")
def print_diag():
for f in diag_channels:
print "%-25s %s" % (get_diag_name(f) , str(f.read()))
def create_diag_datasets(parent = None):
if parent is None:
parent = get_exec_pars().group
group = parent + "meta/"
print "Creating ", group
for f in diag_channels:
create_dataset(group+get_diag_name(f) , 's' if (type(f) is ch.psi.pshell.epics.ChannelString) else 'd')
def append_diag_datasets(parent = None):
if parent is None:
parent = get_exec_pars().group
group = parent + "meta/"
for f in diag_channels:
try:
x = f.read()
if x is None:
x = '' if (type(f) is ch.psi.pshell.epics.ChannelString) else float('nan')
append_dataset(group+get_diag_name(f), x)
except:
log("Error sampling " + str(get_diag_name(f)) + ": " + str(sys.exc_info()[1]))
#PSEUDO_DEVICES = h, k, l, lambda