def performOpen(self, options={}): """Perform the operation of opening the instrument connection""" # check communication try: self.samples = int(self.getValue('Number of samples')) self.triggers = int(self.getValue('Number of triggers')) self.powerMean = [0, 0, 0] self.IMean = [0, 0, 0] self.QMean = [0, 0, 0] self.Psi = np.zeros((3,3), dtype=np.complex_) self.oms = [0, 0, 0] self.f = [0, 0, 0] self.IITime = [] self.covar = [0]*48 self.time = [None]*3 # open connections self.digitizer1 = afDigitizerWrapper.afDigitizer() self.digitizer1.create_object() self.digitizer2 = afDigitizerWrapper.afDigitizer() self.digitizer2.create_object() self.tti = visa.instrument("GPIB::12") self.tti.write("SETUPCH 1") # get address strings sVisaDig1 = self.dComCfg['address'] sVisaDig1LO = self.getValue('Local oscillator digitizer 1 VISA') sVisaDig2 = self.getValue('Digitizer 2 VISA') sVisaDig2LO = self.getValue('Local oscillator digitizer 2 VISA') # boot instruments self.digitizer1.boot_instrument(sVisaDig1LO, sVisaDig1) self.digitizer2.boot_instrument(sVisaDig2LO, sVisaDig2) # set modulation mode to generic self.digitizer1.modulation_mode_set(5) self.digitizer2.modulation_mode_set(5) # set LO mode to OXCO for dig 1 and Ext daisy for dig 2 self.digitizer1.lo_reference_set(0) self.digitizer2.lo_reference_set(2) # set lo below self.digitizer1.rf_userLOPosition_set(0) self.digitizer2.rf_userLOPosition_set(0) self.save = False except afDigitizerWrapper.Error as e: # re-cast afdigitizer errors as a generic communication error msg = str(e) raise InstrumentDriver.CommunicationError(msg)
def performOpen(self, options={}): """Perform the operation of opening the instrument connection""" # check communication try: # open connections self.digitizer1 = afDigitizerWrapper.afDigitizer() self.digitizer1.create_object() self.digitizer2 = afDigitizerWrapper.afDigitizer() self.digitizer2.create_object() self.sigGen = afSigGenWrapper.afSigGen() self.sigGen.create_object() # get address strings sVisaDig1 = self.dComCfg['address'] sVisaDig1LO = self.getValue('Local oscillator digitizer 1 VISA') sVisaDig2 = self.getValue('Digitizer 2 VISA') sVisaDig2LO = self.getValue('Local oscillator digitizer 2 VISA') sVisaSigGen = self.getValue('Signal generator VISA') sVisaSigGenLO = self.getValue('Local oscillator signal generator VISA') self.nSamples = int(self.getValue('Number of samples')) self.nTriggers = int(self.getValue('Number of triggers')) self.nSegments=int(self.getValue('Number of segments')) self.cAvgSignals = [None]*3 self.cAvgNoise = [None]*3 self.vCorrelation = None self.dFreq = self.getValue('RF Frequency') self.nLags = int(self.getValue('Number of lags')) self.dPrefilter = int(self.getValue('Prefilter')) self.cTrace = [None]*2 # boot instruments self.digitizer1.boot_instrument(sVisaDig1LO, sVisaDig1) self.digitizer2.boot_instrument(sVisaDig2LO, sVisaDig2) self.sigGen.boot_instrument(sVisaSigGenLO, sVisaSigGen) # set LO Ref mode to Ext_Daisy, leveling to auto and modulation to CW self.sigGen.lo_reference_set(0) self.sigGen.rf_current_level_mode_set(0) self.sigGen.rf_modulation_source_set(3) # set modulation mode to generic self.digitizer1.modulation_mode_set(5) self.digitizer2.modulation_mode_set(5) # set LO mode to OXCO for dig 1 and Ext daisy for dig 2 self.digitizer1.lo_reference_set(2) self.digitizer2.lo_reference_set(2) except afDigitizerWrapper.Error as e: # re-cast afdigitizer errors as a generic communication error msg = str(e) raise InstrumentDriver.CommunicationError(msg)
def performOpen(self, options={}): """Perform the operation of opening the instrument connection""" # check communication try: # open connections self.digitizer1 = afDigitizerWrapper.afDigitizer() self.digitizer1.create_object() self.digitizer2 = afDigitizerWrapper.afDigitizer() self.digitizer2.create_object() # get address strings sVisaDig1 = self.dComCfg['address'] sVisaDig1LO = self.getValue('Local oscillator digitizer 1 VISA') sVisaDig2 = self.getValue('Digitizer 2 VISA') sVisaDig2LO = self.getValue('Local oscillator digitizer 2 VISA') self.nSamples = int(self.getValue('Number of samples')) self.nTriggers = int(self.getValue('Number of triggers')) self.nSegments=int(self.getValue('Number of segments')) self.cAvgSignals = [None]*3 self.cTrace = [None]*2 self.cTraces = None # boot instruments self.digitizer1.boot_instrument(sVisaDig1LO, sVisaDig1) self.digitizer2.boot_instrument(sVisaDig2LO, sVisaDig2) # set modulation mode to generic self.digitizer1.modulation_mode_set(5) self.digitizer2.modulation_mode_set(5) # set LO mode to OXCO for dig 1 and Ext daisy for dig 2 self.digitizer1.lo_reference_set(0) self.digitizer2.lo_reference_set(2) except afDigitizerWrapper.Error as e: # re-cast afdigitizer errors as a generic communication error msg = str(e) raise InstrumentDriver.CommunicationError(msg)
def performOpen(self, options={}): """Perform the operation of opening the instrument connection""" # check communication try: # open connection self.digitizer = afDigitizerWrapper.afDigitizer() self.digitizer.create_object() # get address strings sVisaDigitizer = self.dComCfg['address'] sVisaLO = self.getValue('Local oscillator VISA') # keep track of number of samples, averages, etc self.nSamples = int(self.getValue('Number of samples')) self.nTriggers = int(self.getValue('Number of triggers')) self.nAverages_per_trigger = int( self.getValue('Averages per trigger')) # Variables to store data self.cAvgSignal = None self.cTrace = None self.vPTrace = None self.dPower = None self.nAbove = 0 self.bCutTrace = self.getValue('Cut out part of the trace') self.nStartSample = int(self.getValue('Start Sample')) self.nStopSample = int(self.getValue('Stop Sample')) self.dFreq = self.getValue('RF Frequency') self.nBins = 0 self.overloads = 0 # boot instruments self.digitizer.boot_instrument(sVisaLO, sVisaDigitizer) # set modulation mode to generic self.digitizer.modulation_mode_set(5) except afDigitizerWrapper.Error as e: # re-cast afdigitizer errors as a generic communication error msg = str(e) raise InstrumentDriver.CommunicationError(msg)
def performOpen(self, options={}): """Perform the operation of opening the instrument connection""" # check communication try: # open connection self.digitizer = afDigitizerWrapper.afDigitizer() self.digitizer.create_object() # get address strings sVisaDigitizer = self.dComCfg['address'] sVisaLO = self.getValue('Local oscillator VISA') # keep track of number of samples, averages, etc self.nSamples = int(self.getValue('Number of samples')) self.nTriggers = int(self.getValue('Number of triggers')) self.nAverages_per_trigger=int(self.getValue('Averages per trigger')) # Variables to store data self.cAvgSignal = None self.cTrace = None self.vPTrace = None self.dPower = None self.nAbove = 0 self.bCutTrace = self.getValue('Cut out part of the trace') self.nStartSample = int(self.getValue('Start Sample')) self.nStopSample = int(self.getValue('Stop Sample')) self.dFreq = self.getValue('RF Frequency') self.nBins = 0 self.overloads = 0 # boot instruments self.digitizer.boot_instrument(sVisaLO, sVisaDigitizer) # set modulation mode to generic self.digitizer.modulation_mode_set(5) except afDigitizerWrapper.Error as e: # re-cast afdigitizer errors as a generic communication error msg = str(e) raise InstrumentDriver.CommunicationError(msg)
def performOpen(self, options={}): """Perform the operation of opening the instrument connection""" # check communication try: # open connection self.digitizer = afDigitizerWrapper.afDigitizer() self.digitizer.create_object() # get address strings sVisaDigitizer = self.dComCfg['address'] sVisaLO = self.getValue('Local oscillator VISA') # keep track of number of samples and old I,Q,R and theta values self.nSamples = self.getValue('Number of samples') self.lOldValueIQ = [None] * 4 self.lTrace= [None] * 4 # boot instruments self.digitizer.boot_instrument(sVisaLO, sVisaDigitizer) # set modulation mode to generic self.digitizer.modulation_mode_set(5) except afDigitizerWrapper.Error as e: # re-cast afdigitizer errors as a generic communication error msg = str(e) raise InstrumentDriver.CommunicationError(msg)