#Parameters (global variables): # ranges: list of RangeSelection if scienta.acquisitionMode == scienta.AcquisitionMode.Fixed: scienta.acquisitionMode = scienta.AcquisitionMode.Swept ret=[] names=[] for i in range(len(ranges)): names.append(str(ranges[i])) plots = plot(None, names) try: for i in range(len(ranges)): scienta.lowEnergy.put(ranges[i].min) scienta.highEnergy.put(ranges[i].max) vars = ranges[i].vars if vars is not None and len(vars)==3: scienta.stepTime.write(vars[0]) scienta.stepSize.write(vars[1]) scienta.setIterations(vars[2]) trig_scienta() ydata = scienta.spectrum.read() xdata = scienta.spectrumX plots[i].getSeries(0).setData(xdata, ydata) ret.append((xdata, ydata)) #time.sleep(3.0) finally: if not scienta.isReady(): scienta.stop() set_return(to_array(ret,'o'))