예제 #1
0
def retrieve_vna_data(vna, vna_params):
    sdata = []
    freq_data = []
    template = ":CALC{ch}:DATA:FDAT?"
    for channel in [1,2,3,4]:
        data = vna.executor.ask(template.format(ch=str(channel)))
        data = data.split(',')
        data = [complex(float(pair[0]), float(pair[1])) for pair in chunker(data, 2)]
        sdata.append(data)
    
    template_freq = ":SENS{ch}:FREQ:DATA?"
    freq_data = vna.executor.ask(template_freq.format(ch=1))
    freq_data = freq_data.split(',')
    freq_data = [float(fdatum) for fdatum in freq_data]


    ydata = y_from_s(sdata)
    zdata = z_from_s(sdata)
    cga_data = cga_from_s(freq_data, sdata)
    cgs_data = cgs_from_s(freq_data, sdata)
    capacitance = [cga_data, cgs_data]
    gdata["cap"] = capacitance
    write_vector(freq_data, vna_params["file"] + "_freqs")
    write_4vectors(sdata, vna_params["file"] + "_s")
    write_4vectors(zdata, vna_params["file"] + "_z")
    write_4vectors(ydata, vna_params["file"] + "_y")
    write_2vectors(capacitance, vna_params["file"] + "_cap")
    
    retrieve_both()
예제 #2
0
def retrieve_keithley_data(device, smu_params):
    ch = smu_params["index"] + 1
    cmd = "DO 'CH{ch}T'".format(ch=ch)
    data = device.executor.ask(cmd)
    print "Keithley Data:"
    pprint.pprint(data)
    data = data.split(",")
    data = [float(datum) for datum in data]
    gdata["pol"] = data
    write_vector(data, smu_params["file"] + "_pol.csv")
    
    retrieve_both()