diff --git a/script/Bpm6ParallelScan.py b/script/Bpm6ParallelScan.py index a7d5ab3..a3e0b71 100644 --- a/script/Bpm6ParallelScan.py +++ b/script/Bpm6ParallelScan.py @@ -44,9 +44,22 @@ def time_interval_scan(sensor, samples, interval): set_attribute( r.group, "Sensor", sensor.channelName) set_attribute( r.group, "Scan Type", "Time interval samples: " + str(samples) + " interval:" + str(interval)) +def fixed_samples_fft_scan(sensor, samples): + global sensors + r = mscan(sensor, [sensor, pico_bpm6_fft_x_freq] , samples, title = sensor.name) + set_device_alias(x_axis, sensor.name+"fft_x_axis") + set_attribute( r.group, "Sensor", sensor.channelName) + set_attribute( r.group, "Scan Type", "Fixed samples: " + str(samples)) + + +def execute_parallel_fixed_samples_scan(sensors, samples): + function_calls = [] + for sensor in sensors: + function_calls.append([fixed_samples_scan, [sensor, samples]]) + parallelize(*function_calls) 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] +sensors = sensors + [pico_bpm6_fft_sumal_f_absval, pico_bpm6_fft_sumal_f_real, pico_bpm6_fft_sumal_f_imag] setup_plotting(line_plots = sensors, plot_list =sensors ) @@ -56,20 +69,42 @@ for sensor in sensors: sensor.setMonitored(True) caput ("X12SA-ES1-TTL:OUT_02", "HIGH") + +import ch.psi.pshell.data.LayoutDefault as LayoutDefault + +class LayoutParallelScan(LayoutDefault): + def getDefaultGroup(self, scan): + return scan.writables.[0].name + +set_exec_pars(layout = LayoutParallelScan()) + #x_axis = SensorXAxis(pico_bpm6_ts_sumall) #r = tscan([pico_bpm6_ts_sumall, pico_bpm6_ts_cur1, pico_bpm6_ts_cur2, pico_bpm6_ts_cur3, pico_bpm6_ts_cur4, x_axis], 10, 0.2) try: - time_interval_scan(pico_bpm6_ts_sumall, 10, 0.001) + #time_interval_scan(pico_bpm6_ts_sumall, 10, 0.001) samples = 10 + #execute_parallel_fixed_samples_scan(sensors, samples) + + #parallelize([fixed_samples_scan, [pico_bpm6_ts_sumall, samples]], [fixed_samples_scan, [pico_bpm6_ts_cur1, samples]], \ + # [fixed_samples_scan, [pico_bpm6_ts_cur2, samples]], [fixed_samples_scan, [pico_bpm6_ts_cur3, samples]], \ + # [fixed_samples_scan, [pico_bpm6_ts_cur4, samples]]) + parallelize([fixed_samples_scan, [pico_bpm6_ts_sumall, samples]], [fixed_samples_scan, [pico_bpm6_ts_cur1, samples]], \ [fixed_samples_scan, [pico_bpm6_ts_cur2, samples]], [fixed_samples_scan, [pico_bpm6_ts_cur3, samples]], \ - [fixed_samples_scan, [pico_bpm6_ts_cur4, samples]]) - time = 1.00 - parallelize([fixed_time_scan, [pico_bpm6_ts_sumall, time]], [fixed_time_scan, [pico_bpm6_ts_cur1, time]], \ - [fixed_time_scan, [pico_bpm6_ts_cur2, time]], [fixed_time_scan, [pico_bpm6_ts_cur3, time]], \ - [fixed_time_scan, [pico_bpm6_ts_cur4, time]]) + [fixed_samples_scan, [pico_bpm6_ts_cur4, samples]], + + [fixed_samples_fft_scan, [pico_bpm6_fft_sumal_f_absval, samples]], + [fixed_samples_fft_scan, [pico_bpm6_fft_sumal_f_real, samples]], + [fixed_samples_fft_scan, [pico_bpm6_fft_sumal_f_imag, samples]], + ) + + #time = 1.00 + #parallelize([fixed_time_scan, [pico_bpm6_ts_sumall, time]], [fixed_time_scan, [pico_bpm6_ts_cur1, time]], \ + # [fixed_time_scan, [pico_bpm6_ts_cur2, time]], [fixed_time_scan, [pico_bpm6_ts_cur3, time]], \ + # [fixed_time_scan, [pico_bpm6_ts_cur4, time]]) finally: + set_exec_pars(layout = LayoutDefault()) for sensor in sensors: sensor.setMonitored(False) caput ("X12SA-ES1-TTL:OUT_02", "LOW") caputq ("X12SA-OP-BPM6:TS:TSAcquire", 0)