Ejemplo n.º 1
0
 def __init__(self, D1, D2, pflux, sgen, lags=20,
              BW=1e6, lsamples=1e4,
              mTypeNames=('ON12', 'ON11', 'ON21', 'ON22', 'OFF21', 'OFF12'), corrAvg=1):
     '''
     D1, D2, pgen, pstar
     D1,2: Digitizer 1,2 object
     pgen: Flux Pump (Anritzu pulsed mode)
     sgen: Signal Generator
     pstar: Trigger source (PXI-Star)
     '''
     self.D1 = D1
     self.D2 = D2
     self.f1 = D1.freq
     self.f2 = D2.freq
     self.D1w = self.D1.digitizer
     self.D2w = self.D2.digitizer
     self.sgen = sgen
     self.pflux = pflux
     self.pstar = nit()
     self.corrAvg = corrAvg
     self.lags = lags
     self.BW = BW
     self.mTypeNames = mTypeNames
     self.mTypes = {}
     self.lsamples = lsamples
     self.pstar.send_many_triggers(10)
     self.doBG = False
     self.doHist2d = False
     self.doRaw = False
     self.doCorrel = True
     self.num = 0    # number of missed triggers in a row
     for mName in mTypeNames:
         self.mTypes[mName] = meastype(D1, D2, lags, mName, self.corrAvg)
Ejemplo n.º 2
0
 def __init__(self, D1, D2, pflux, sgen,
              lags=20, BW=1e6, lsamples=1e4, corrAvg=1):
     '''
     D1, D2, pgen, pstar
     D1,2: Digitizer 1,2 object
     pgen: Flux Pump (Anritzu pulsed mode)
     sgen: Signal Generator
     pstar: Trigger source (PXI-Star)
     '''
     # Make some object references
     self.D1 = D1
     self.D2 = D2
     self.D1w = self.D1.digitizer
     self.D2w = self.D2.digitizer
     self.sgen = sgen
     self.pflux = pflux
     self.pstar = nit()
     self.corrAvg = corrAvg
     self.lags = lags
     self.BW = BW
     self.lsamples = lsamples
     self.pstar.send_many_triggers(10)
     self.doBG = False
     self.doHist2d = False
     self.doRaw = False
     self.doCorrel = True
     self.num = 0    # number of missed triggers in a row
     # Define the different measurement types here:
     self.driveON = meastype(D1, D2, lags, 'ON', self.corrAvg)  # Pump drive ON
     self.driveOFF = meastype(D1, D2, lags, 'OFF', self.corrAvg)  # Pump drive off
Ejemplo n.º 3
0
    def __init__(self, D1, D2, pflux, sgen,
                 lags=20, BW=1e6, lsamples=1e4, corrAvg=1, doHist2d=False):
        '''
        D1, D2, pgen, pstar
        D1,2: Digitizer 1,2 object
        pgen: Flux Pump (Anritzu pulsed mode)
        sgen: Signal Generator
        pstar: Trigger source (PXI-Star)
        '''
        # Make some object references
        self.D1 = D1
        self.D2 = D2
        self.D1w = self.D1.digitizer
        self.D2w = self.D2.digitizer
        self.sgen = sgen
        self.pflux = pflux
        self.pstar = nit()
        self.corrAvg = corrAvg
        self.lags = lags
        self.BW = BW
        self.lsamples = lsamples
        self.pstar.send_many_triggers(10)
        self._takeBG = True
        self.num = 0    # number of missed triggers in a row
        self.doHist2d = doHist2d
        # Define the different measurement types here:
        self.driveON = meastype(D1, D2, lags, 'ON', self.corrAvg)  # Pump drive ON
        self.driveOFF = meastype(D1, D2, lags, 'OFF', self.corrAvg)  # Pump drive off
        # self.driveOFFf1 = meastype(D1, D2, lags, 'f1')  # Pump drive off & Probe Signal f1
        # self.driveOFFf2 = meastype(D1, D2, lags, 'f2')  # Pump drive off & Probe Signal f2

        if doHist2d:
            # hdf5 format is desired, files would become too large to address in 32bit
            pass
Created on Fri Apr 15 21:19:35 2016

@author: Morran or Lumi
"""

# code to test digitizer e.v.t. kill some sidebands

from AfDigi import instrument as AfDig  # Digitizer driver
from nirack import nit  # load PXI trigger
from time import sleep, time
import numpy as np
from matplotlib import pyplot as plt
#from ctypes import c_int, c_long, c_float, c_double, c_ulong, POINTER, byref
#from ctypes import WinDLL, c_char_p, Structure, c_void_p, c_short #, create_string_buffer
#
trigger = nit()

#D = WinDLL('afDigitizerDll_32')
#class afDigitizerBufferIQ_t(Structure):
#    pass
#
#afDigitizerBufferIQ_t._fields_ = [
#        ('iBuffer', POINTER(c_float)),
#        ('qBuffer', POINTER(c_float)),
#        ('samples', c_ulong),
#        ('userData', c_void_p)]
#
#session=c_long()
#print D.afDigitizerDll_CreateObject(byref(session))
#ses=session.value
#D.afDigitizerDll_BootInstrument(session, '3011D1', '3036D1', False)
Ejemplo n.º 5
0
from dummydriver import instrument as dummy
from keithley2000 import instrument as key2000
# from AnritzuSig import instrument as AnSigGen
from AfSgen import instrument as AfSigGen
from SRsim import instrument as sim900c
from Sim928 import instrument as sim928c
# from Yoko import instrument as yoko
from AfDigi import instrument as AfDig  # Digitizer driver
import gc  # Garbage memory collection
# from IQcorr import Process as CorrProc  # Handle Correlation measurements
# import sys
# from RSZNB20 import instrument as ZNB20
import os

from nirack import nit
pstar = nit(adress="PXI7::15::INSTR")

thisfile = __file__
filen_0 = '2012D1'
folder = 'data_Oct02\\'
folder = folder + filen_0 + '\\'  # in one new folder
if not os.path.exists(folder):
    os.makedirs(folder)

sim900 = sim900c('GPIB0::12::INSTR')
vm = key2000('GPIB0::29::INSTR')

# Digitizer setup
lags = 1000
BW = 1e4
lsamples = 5e3
Ejemplo n.º 6
0
    def do_measurement(self, pstar):
        ''' Arms the digitizer,
        Sends a Trigger via the refered object pstar,
        downloads the data.
        '''
        self.init_trigger_buff()
        sleep(0.020)
        pstar.send_software_trigger()
        self.wait_capture_complete()
        self.get_data_complete()


if __name__ == '__main__':
    ''' Test code to see if this Driver works on its own '''
    from nirack import nit
    pstar = nit()
    lags = 30
    BW = 10e6
    lsamples = 1e5
    corrAvg = 1
    f1 = 4.799999e9
    D1 = instrument(adressDigi='3036D1', adressLo='3011D1', LoPosAB=1, LoRef=2,
           name='D1 Lags (sec)', cfreq=f1, inputlvl=-6,
           start=(-lags / BW), stop=(lags / BW), pt=(lags * 2 - 1),
           nSample=lsamples, sampFreq=BW)

    D1.do_measurement(pstar)
    print D1.cIQ
    # D1.setup_captmem()
    # D1.init_trigger()
    # pstar.send_software_trigger()