Closedown
This commit is contained in:
@@ -155,16 +155,22 @@ keithleys = {
|
||||
}
|
||||
|
||||
def set_hx(field, timeout = -1):
|
||||
"""
|
||||
"""
|
||||
timeout = int(timeout *1000) if timeout>0 else timeout
|
||||
field_x.write(float(field))
|
||||
field_x_done.waitValue(1,timeout)
|
||||
#Only test x today
|
||||
def setHz(field, timeout = -1):
|
||||
"""
|
||||
"""
|
||||
timeout = int(timeout *1000) if timeout>0 else timeout
|
||||
field_z.write(float(field))
|
||||
field_z_done.waitValue(1,timeout)
|
||||
|
||||
def set_pol_cplus(offset = None, timeout = -1):
|
||||
"""
|
||||
"""
|
||||
timeout = int(timeout *1000) if timeout>0 else timeout
|
||||
pol_mode.write("CIRC +")
|
||||
if offset is not None:
|
||||
@@ -172,6 +178,8 @@ def set_pol_cplus(offset = None, timeout = -1):
|
||||
pol_done.waitValue("DONE",timeout)
|
||||
|
||||
def set_pol_cminus(offset = None, timeout = -1):
|
||||
"""
|
||||
"""
|
||||
timeout = int(timeout *1000) if timeout>0 else timeout
|
||||
pol_mode.write("CIRC -")
|
||||
if offset is not None:
|
||||
@@ -179,6 +187,8 @@ def set_pol_cminus(offset = None, timeout = -1):
|
||||
pol_done.waitValue("DONE",timeout)
|
||||
|
||||
def set_pol_lin(angle, offset = None, timeout = -1):
|
||||
"""
|
||||
"""
|
||||
timeout = int(timeout *1000) if timeout>0 else timeout
|
||||
pol_mode.write("LINEAR")
|
||||
pol_angle.write(float(angle))
|
||||
@@ -187,36 +197,52 @@ def set_pol_lin(angle, offset = None, timeout = -1):
|
||||
pol_done.waitValue("DONE",timeout)
|
||||
|
||||
def set_temp(value, delay = 30.0):
|
||||
"""
|
||||
"""
|
||||
temperature.write(float(value))
|
||||
time.sleep(float(delay))
|
||||
|
||||
def open_valve(delay = 5.0):
|
||||
"""
|
||||
"""
|
||||
valve_try_open.write(1) #TODO: CAPUT
|
||||
time.sleep(float(delay))
|
||||
|
||||
def close_valve(delay = 0.0): #TODO: Check default delay
|
||||
"""
|
||||
"""
|
||||
valve_try_open.write(0)
|
||||
time.sleep(float(delay))
|
||||
|
||||
def set_energy (value, delay=0.5):
|
||||
"""
|
||||
"""
|
||||
energy.write(float(value))
|
||||
energy_done.waitValue(1, -1)
|
||||
time.sleep(float(delay))
|
||||
|
||||
def set_cff (value):
|
||||
"""
|
||||
"""
|
||||
cff.write(float(value))
|
||||
caput("X07MA-PGM:setE.PROC",1)
|
||||
energy_done.waitValue(1, -1)
|
||||
|
||||
def set_slit(value):
|
||||
"""
|
||||
"""
|
||||
exit_slit.write(float(value))
|
||||
|
||||
#1 or 3
|
||||
def set_har(value):
|
||||
"""
|
||||
"""
|
||||
harmonic.write(float(value))
|
||||
|
||||
#Not connected
|
||||
def set_volt(keithley, value, delay=0.1):
|
||||
"""
|
||||
"""
|
||||
#keithley.write(fl'10^'+str(8)oat(value))
|
||||
if not keithltey in keithleys.keys(): raise Exception("Invalid keithley: " + keithley)
|
||||
caput(keithleys[keithley][0], float(value))
|
||||
@@ -224,6 +250,8 @@ def set_volt(keithley, value, delay=0.1):
|
||||
|
||||
#value is int from 1 to 10
|
||||
def set_range(keithley, value):
|
||||
"""
|
||||
"""
|
||||
if not keithley in keithleys.keys(): raise Exception("Invalid keithley: " + keithley)
|
||||
v='10^'+str(value)
|
||||
while True:
|
||||
@@ -233,6 +261,8 @@ def set_range(keithley, value):
|
||||
break
|
||||
|
||||
def set_fe(opening):
|
||||
"""
|
||||
"""
|
||||
opening = int(opening*1000)
|
||||
if opening==0:
|
||||
aperture.write("closed")
|
||||
@@ -252,9 +282,13 @@ def set_fe(opening):
|
||||
raise Exception("Invalid aperture opening: " + str(opening))
|
||||
|
||||
def refill_1k():
|
||||
"""
|
||||
"""
|
||||
run("refill_1kpot")
|
||||
|
||||
def wait_temp():
|
||||
"""
|
||||
"""
|
||||
if (temperature.read() < 2.0):
|
||||
t=ct=temperature_readback.read()
|
||||
#hl=caget("X07MA-PC-HE:LEVELB", 'd') # TODO: not used
|
||||
@@ -262,30 +296,42 @@ def wait_temp():
|
||||
refill_1k()
|
||||
|
||||
def rampdown():
|
||||
"""
|
||||
"""
|
||||
field_x.write(0.0)
|
||||
field_z.write(0.0)
|
||||
|
||||
def shutdown():
|
||||
"""
|
||||
"""
|
||||
set_fe(0)
|
||||
rampdown()
|
||||
|
||||
|
||||
def has_beam():
|
||||
"""
|
||||
"""
|
||||
return beam_status.readback.read() !="Machine Down"
|
||||
|
||||
def wait_beam():
|
||||
"""
|
||||
"""
|
||||
print "Waiting for beam..."
|
||||
while not has_beam():
|
||||
sleep(0.1)
|
||||
print "Beam OK"
|
||||
|
||||
def wait_inj (value, delay=0.5):
|
||||
"""
|
||||
"""
|
||||
wait_channel('X07MA-OP2-EVR:TOPUP-STAT', 'TOPUP-ON')
|
||||
wait_channel('X07MA-OP2-EVR:TOPUP-STAT', 'TOPUP-OFF')
|
||||
time.sleep(float(delay))
|
||||
|
||||
|
||||
def set_file(file_name):
|
||||
"""
|
||||
"""
|
||||
FILENAME = file_name
|
||||
|
||||
class pol_mod(Readable):
|
||||
@@ -299,18 +345,28 @@ polmod = pol_mod()
|
||||
|
||||
|
||||
def otf(start, end, time, delay=0.0):
|
||||
"""
|
||||
"""
|
||||
run("EnergyScan", {"E1":start, "E2":end, "TIME":time, "DELAY":float(delay), "MODE":None, "OFFSET":None, "FOLDER":None, "FILE":None, "ALPHA":None})
|
||||
|
||||
def hyst_cont(field, init_field, final_field, ramp_speed, energies):
|
||||
"""
|
||||
"""
|
||||
run("HistScan",{"FIELD":field, "START_FIELD":init_field, "END_FIELD":final_field, "ENERGIES":energies, "RAMP_RATE":ramp_speed, "ENERGY_CHANGE_SLEEP":0.5, "MODE":None, "OFFSET":None})
|
||||
|
||||
def hyst_cont_mult(field, ranges, energies):
|
||||
"""
|
||||
"""
|
||||
run("HistScanMult",{"FIELD":field, "RANGES":ranges, "ENERGIES":energies, "ENERGY_CHANGE_SLEEP":0.5, "MODE":None, "OFFSET":None})
|
||||
|
||||
def hyst_step(forward, field, init_field, final_field, step, energies):
|
||||
"""
|
||||
"""
|
||||
run("HistScanMult",{"FIELD":field, "RANGES":[(init_field, final_field, step),], "ENERGIES":energies, "ENERGY_CHANGE_SLEEP":0.5, "FIELD_CHANGE_SLEEP":22.0, "MODE":None, "OFFSET":None})
|
||||
|
||||
def hyst_step_mult(forward, ranges, ramp_speed, energies):
|
||||
"""
|
||||
"""
|
||||
run("HistScanMult",{"FIELD":field, "RANGES":ranges, "ENERGIES":energies, "ENERGY_CHANGE_SLEEP":0.5, "FIELD_CHANGE_SLEEP":22.0, "MODE":None, "OFFSET":None})
|
||||
|
||||
def scan_e(start, end, step, settling_time = 0, accumulation_time = None):
|
||||
@@ -322,12 +378,16 @@ def scan_e(start, end, step, settling_time = 0, accumulation_time = None):
|
||||
lscan(energy, detectors, float(start), float(end), float(step), latency = settling_time)
|
||||
|
||||
def scan_e_mult(ranges, settling_time = 0, accumulation_time = None):
|
||||
"""
|
||||
"""
|
||||
acc = Accumulator([signal_tey, signal_i0, signal_trans], accumulation_time)
|
||||
detectors = acc.getSensors() + [polmod, pol_angle, temperature, current]
|
||||
rscan(energy, detectors, ranges, latency = settling_time)
|
||||
|
||||
#not connected
|
||||
def scan_v(keithley,start, end, step):
|
||||
"""
|
||||
"""
|
||||
setpoint = Channel (keithleys[keithley][0], 'd')
|
||||
readback = Channel (keithleys[keithley][2], 'd')
|
||||
lscan(setpoint, readback, float(start), float(end), float(step), latency = 0.1)
|
||||
|
||||
Reference in New Issue
Block a user