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)
Esempio n. 4
0
    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)
Esempio n. 6
0
    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)