TEST = False if TEST: set_exec_pars(path="/sls/X12SA/data/x12saop/Data10/bpm/{date}_{time}_{name}") #rel_x = pico_bpm6_new_x.read() rel_x = pico_bpm6_ts_x.read() class XAxis(ReadableArray): def read(self): return [x + pico_bpm6_ts_sumall.getTimestamp() for x in rel_x] def getSize(self): return len(rel_x) #only reads if cache is None pico_bpm6_x_axis = XAxis() set_device_alias(pico_bpm6_x_axis, "pico_bpm6_x_axis") sensors = [pico_bpm6_ts_sumall, pico_bpm6_ts_cur1, pico_bpm6_ts_cur2, pico_bpm6_ts_cur3, pico_bpm6_ts_cur4] setup_plotting(line_plots = sensors + [pico_bpm6_x_axis,]) caputq ("X12SA-OP-BPM6:TS:TSAcquire", 1) caput ("X12SA-ES1-TTL:OUT_02", "HIGH") for sensor in sensors: sensor.setMonitored(True) try: mscan(pico_bpm6_ts_sumall, sensors + [pico_bpm6_x_axis,], 100) # 100 samples #mscan(pico_bpm6_ts_sumall, sensors, -1, 2.0) #Samples for 2s #tscan(pico_bpm6_ts_sumall, 100, 0.1) #100 samples every 0.1s finally: for sensor in sensors: sensor.setMonitored(False) caput ("X12SA-ES1-TTL:OUT_02", "LOW") """ #Parallel example def scan1(): mscan(pico_bpm6_new, [pico_bpm6_new, pico_bpm6_x_axis], 50) def scan2(): mscan(pico_bpm5_new, [pico_bpm5_new, pico_bpm5_x_axis], 50) pico_bpm5_new.setMonitored(True) pico_bpm6_new.setMonitored(True) try: parallelize(scan1, scan2) finally: pico_bpm6_new.setMonitored(False) pico_bpm5_new.setMonitored(False) """ #mscan([pico_bpm6_new, pico_bpm6_x_axis], 3600)caput X12SA-ES1-TTL:OUT_02 "LOW"