Files
x12sa/script/motor&bpm.py
2017-08-11 09:11:26 +02:00

53 lines
1.3 KiB
Python

TEST = False
TOTAL_TIME =5.0
INTERVAL = 0.2
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 SensorXAxis(ReadableArray):
def __init__(self, sensor):
self.sensor = sensor
self.x = rel_x[:]
def read(self):
timestamp = self.sensor.getTimestamp()
return [x + timestamp for x in self.x]
def getSize(self):
return len(self.x) #only reads if cache is None
sensors = [pico_bpm6_ts_sumall, pico_bpm6_ts_cur1, pico_bpm6_ts_cur2, pico_bpm6_ts_cur3, pico_bpm6_ts_cur4]
sensors = sensors + [pico_bpm6_fft_sumal_f_absval, pico_bpm6_fft_sumal_f_real, pico_bpm6_fft_sumal_f_imag, pico_bpm6_fft_x_freq]
x_axis = SensorXAxis(pico_bpm6_ts_sumall)
set_device_alias(x_axis, "x_axis")
setup_plotting(line_plots = sensors, plot_list =sensors )
caputq ("X12SA-OP-BPM6:TS:TSAcquire", 1)
for sensor in sensors: sensor.setMonitored(True)
caput ("X12SA-ES1-TTL:OUT_02", "HIGH")
try:
r = lscan(dummy, [x_axis,] + sensors, 0.0, 1.0, 10, latency = 0.1, relative = False, passes = 1, zigzag = False)
finally:
for sensor in sensors: sensor.setMonitored(False)
caput ("X12SA-ES1-TTL:OUT_02", "LOW")
caputq ("X12SA-OP-BPM6:TS:TSAcquire", 0)