def sweep_dim_2(obj, value): ramp(obj, obj.sweep_par, value, obj.sstep, obj.stime) def sweep_dim_3(obj, value): ramp(obj, obj.sweep_par, value, obj.sstep, obj.stime) # This describes how data is saved DS = DataStoreSP(folder, filen_0, dim_1, dim_2, dim_3, 'Vx1k') # CorrProc controls, coordinates D1 and D2 together (also does thes calcs.) if recordD12: D12.create_datastore_objs(folder, filen_0, dim_1, dim_2, dim_3) DS.ask_overwrite() copy_file(thisfile, filen_0, folder) # describe how data is to be stored def record_data(kk, jj, ii, back): '''This function is called with each change in ii,jj,kk content: what to measure each time ''' if recordD12: D12.init_trigger() # Trigger and check D1 & D2 #print 'send trigger from loop' vdata = vm.get_val() # aquire voltage data point if back is True: return DS.record_data2(vdata, kk, jj, ii) DS.record_data(vdata, kk, jj, ii)
#for the VNA I want 4 data files for Real, Imag, MAG, Phase filen_1 = filen_0 + '_real' + '.mtx' filen_2 = filen_0 + '_imag' + '.mtx' filen_3 = filen_0 + '_mag' + '.mtx' filen_4 = filen_0 + '_phase' + '.mtx' head_1 = make_header(dim_1, dim_2, dim_3, 'S21 _real') head_2 = make_header(dim_1, dim_2, dim_3, 'S21 _imag') head_3 = make_header(dim_1, dim_2, dim_3, 'S21 _mag') head_4 = make_header(dim_1, dim_2, dim_3, 'S21 _phase') matrix3d_1 = np.zeros((dim_3.pt, dim_2.pt, dim_1.pt)) matrix3d_2 = np.zeros((dim_3.pt, dim_2.pt, dim_1.pt)) matrix3d_3 = np.zeros((dim_3.pt, dim_2.pt, dim_1.pt)) matrix3d_4 = np.zeros((dim_3.pt, dim_2.pt, dim_1.pt)) ask_overwrite(folder+filen_1) copy_file(thisfile, filen_0, folder) #backup this script dim_1.lin = np.linspace(dim_1.start,dim_1.stop,dim_1.pt) dim_2.lin = np.linspace(dim_2.start,dim_2.stop,dim_2.pt) dim_3.lin = np.linspace(dim_3.start,dim_3.stop,dim_3.pt) print 'Executing sweep' print 'req time (h):'+str(dim_3.pt*dim_2.pt*dim_1.sweeptime/3600) t0 = time() try: for kk in range(dim_3.pt): dim_3val = dim_3.lin[kk] dim_3.set_freq_cw(dim_3val) #sleep(5.2) dim_2.sweep_v(dim_2.start, 4)