56 lines
2.0 KiB
Python
56 lines
2.0 KiB
Python
def set_energy(v):
|
|
motor.move(v)
|
|
energy_setpoint = motor
|
|
energy = motor.getReadback()
|
|
set_device_alias(energy, "energy")
|
|
|
|
|
|
START, STOP, STEP = 0, 40, 2
|
|
ENERGIES = [0.0, 0.5, 0.25]
|
|
sensors = (sin,out, energy)
|
|
|
|
|
|
|
|
#def before_pass(pass_num):
|
|
# set_energy(ENERGIES[pass_num-1])
|
|
#ret= lscan(inp, sensors, START, STOP, STEP, 0.2, passes = len(ENERGIES), before_pass = before_pass, latency = 0.5)
|
|
|
|
|
|
#positions = frange(START, STOP, STEP , True)
|
|
#vector = [[pos, en] for en in ENERGIES for pos in positions]
|
|
#ret = vscan((inp,energy_setpoint), sensors, vector, line = True, latency = 0.5)
|
|
|
|
|
|
"""
|
|
plots = plot([None]*len(sensors), name = [d.name for d in sensors])
|
|
for p in plots: p.clear()
|
|
def AfterReadout(record, scan):
|
|
if record.setpoints[1] == scan.getStart()[1]:
|
|
for p in plots: p.addSeries(LinePlotSeries(str(record.positions[0])))
|
|
for i in range(len(plots)):
|
|
plots[i].getSeries(plots[i].numberOfSeries-1).appendData(record.positions[1], record.values[i])
|
|
|
|
class EnergyIndex("Writable):
|
|
def write(self, value):
|
|
if not hasattr(self, 'setpoint') or self.setpoint != value:
|
|
self.setpoint = value
|
|
set_energy(ENERGIES[int(value)])
|
|
|
|
positions = frange(START, STOP, STEP , True)
|
|
ret = ascan([EnergyIndex(), inp], sensors, (0,START), (len(ENERGIES)-1,STOP), (1.0,STEP), latency = 0.1, after_read=AfterReadout, plot_disabled=True)
|
|
"""
|
|
|
|
plots = plot([None]*len(sensors), name = [d.name for d in sensors])
|
|
for p in plots:
|
|
p.clear()
|
|
p.legendVisible = True
|
|
def after_readout(record, scan):
|
|
for i in range(len(plots)):
|
|
plots[i].getSeries(plots[i].numberOfSeries-1).appendData(record.positions[0], record.values[i])
|
|
def before_pass(pass_num):
|
|
en = ENERGIES[pass_num-1]
|
|
set_energy(en)
|
|
for p in plots: p.addSeries(LinePlotSeries(str(en)))
|
|
|
|
ret= lscan(inp, sensors, START, STOP, STEP, latency = 0.2, passes = len(ENERGIES), before_pass = before_pass, after_read=after_readout, plot_disabled=True)
|