示例#1
0
    def get_limits(self):
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.SWEEP)

        limits.min_frequency = 1
        limits.max_frequency = 400e6

        limits.min_power = 100
        limits.max_power = 2000

        limits.sweep_minstep = 1
        limits.sweep_maxstep = 400e6

        return limits
    def get_limits(self):
        """ Return the device-specific limits in a nested dictionary.

          @return MicrowaveLimits: Microwave limits object
        """
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.SWEEP)

        limits.min_frequency = 1e9
        limits.max_frequency = 22e9

        limits.sweep_minstep = 1.e-3
        limits.sweep_maxstep = 22e9

        limits.min_power = -30
        limits.max_power = 30

        return limits
示例#3
0
    def get_limits(self):
        """ Return the device-specific limits in a nested dictionary.

          @return MicrowaveLimits: Microwave limits object
        """
        # Right now, this is for Vaunix Lab Brick LMS-203 only.
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.SWEEP,
                                  MicrowaveMode.ASWEEP)

        limits.min_frequency = 10e9  # unit: Hz
        limits.max_frequency = 20e9  # unit: Hz

        limits.min_power = -30  # unit: dBm
        limits.max_power = 10  # unit: dBm
        return limits
示例#4
0
    def get_limits(self):
        """ Right now, this is for Anritsu MG3691C with Option 2 only."""
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST)

        limits.min_frequency = 10e6
        limits.max_frequency = 20e9

        limits.min_power = -130
        limits.max_power = 30

        limits.list_minstep = 0.001
        limits.list_maxstep = 10e9
        limits.list_maxentries = 10001

        limits.sweep_minstep = 0.001
        limits.sweep_maxstep = 10e9
        limits.sweep_maxentries = 10001
        if self.model == 'MG3961C':
            limits.max_frequency = 10e9
            limits.min_frequency = 10e6
            limits.min_power = -130
            limits.max_power = 30
        return limits
示例#5
0
    def get_limits(self):
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST,
                                  MicrowaveMode.SWEEP)

        # SRS has two output connectors. The specifications
        # are used for the Type N output.
        limits.min_frequency = 950e3
        limits.max_frequency = 6.4e9

        limits.min_power = -110
        limits.max_power = 16.5

        # FIXME: Not quite sure about this:
        limits.list_minstep = 1e-6
        limits.list_maxstep = 2.025e9
        limits.list_maxentries = 4000

        # FIXME: Not quite sure about this:
        limits.sweep_minstep = 0.1
        limits.sweep_maxstep = 6.4e9
        limits.sweep_maxentries = 10001

        if self.model == 'SG392':
            limits.max_frequency = 2.025e9
        elif self.model == 'SG394':
            limits.max_frequency = 4.050e9
        elif self.model == 'SG396':
            limits.max_frequency = 6.075e9
        else:
            self.log.warning(
                'Model string unknown, hardware limits may be wrong.')

        limits.list_maxstep = limits.max_frequency
        limits.sweep_maxstep = limits.max_frequency
        return limits
示例#6
0
    def get_limits(self):
        """ Right now, this is for Anritsu MG3691C with Option 2 only."""
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST)

        limits.min_frequency = 10e6
        limits.max_frequency = 20e9

        limits.min_power = -130
        limits.max_power = 30

        limits.list_minstep = 0.001
        limits.list_maxstep = 10e9
        limits.list_maxentries = 10001

        limits.sweep_minstep = 0.001
        limits.sweep_maxstep = 10e9
        limits.sweep_maxentries = 10001
        if self.model == 'MG3961C':
            limits.max_frequency = 10e9
            limits.min_frequency = 10e6
            limits.min_power = -130
            limits.max_power = 30
        return limits
示例#7
0
    def get_limits(self):
        """ Create an object containing parameter limits for this microwave source.

            @return MicrowaveLimits: device-specific parameter limits
        """
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.SWEEP)

        limits.min_power = -145
        limits.max_power = 30

        limits.min_frequency = 9e3
        limits.max_frequency = 6e9

        limits.list_minstep = 0.1
        limits.list_maxstep = 5.991e9
        limits.list_maxentries = 1

        limits.sweep_minstep = 0.1
        limits.sweep_maxstep = 5.991e9
        limits.sweep_maxentries = 10001

        if self.model != 'SMBV100A':
            self.log.warning('Model string unknown, hardware limits may be wrong.')

        return limits
示例#8
0
    def get_limits(self):
        """ Create an object containing parameter limits for this microwave source.

            @return MicrowaveLimits: device-specific parameter limits
        """
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST, MicrowaveMode.SWEEP)

        limits.min_frequency = 300e3
        limits.max_frequency = 6.4e9

        limits.min_power = -144
        limits.max_power = 10

        limits.list_minstep = 0.1
        limits.list_maxstep = 6.4e9
        limits.list_maxentries = 4000

        limits.sweep_minstep = 0.1
        limits.sweep_maxstep = 6.4e9
        limits.sweep_maxentries = 10001

        if self.model == 'SMIQ02B':
            limits.max_frequency = 2.2e9
            limits.max_power = 13
        elif self.model == 'SMIQ03B':
            limits.max_frequency = 3.3e9
            limits.max_power = 13
        elif self.model == 'SMIQ03HD':
            limits.max_frequency = 3.3e9
            limits.max_power = 13
        elif self.model == 'SMIQ04B':
            limits.max_frequency = 4.4e9
        elif self.model == 'SMIQ06B':
            pass
        elif self.model == 'SMIQ06ATE':
            pass
        else:
            self.log.warning('Model string unknown, hardware limits may be wrong.')
        limits.list_maxstep = limits.max_frequency
        limits.sweep_maxstep = limits.max_frequency
        return limits
示例#9
0
    def get_limits(self):
        """ Right now, this is for Anritsu MG3696B only."""
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST)

        limits.min_frequency = 10e6
        limits.max_frequency = 70e9

        limits.min_power = -20
        limits.max_power = 10

        limits.list_minstep = 0.001
        limits.list_maxstep = 70e9
        limits.list_maxentries = 2000

        limits.sweep_minstep = 0.001
        limits.sweep_maxstep = 70e9
        limits.sweep_maxentries = 10001
        return limits
示例#10
0
    def get_limits(self):
        """ Return the device-specific limits in a nested dictionary.

        @return MicrowaveLimits: object containing Microwave limits
        """

        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST)
        # Exclude for now the sweep mode since not tested, MicrowaveMode.SWEEP)

        # SRS has two output connectors. The specifications
        # are used for the Type N output.
        if self._MODEL == 'SG392':
            limits.max_frequency = 2.025e9
        elif self._MODEL == 'SG394':
            limits.max_frequency = 4.050e9
        elif self._MODEL == 'SG396':
            limits.max_frequency = 6.075e9
        else:
            self.log.error('Model brand "{0}" unknown, hardware limits may '
                           'be wrong!'.format(self._MODEL))

        limits.min_power = -110  # in dBm
        limits.max_power = 16.5  # in dBm

        # FIXME: Not quite sure about this:
        limits.list_minstep = 1e-6  # in Hz
        limits.list_maxstep = limits.max_frequency  # in Hz
        limits.list_maxentries = self._MAX_LIST_ENTRIES

        # FIXME: Not quite sure about this:
        limits.sweep_minstep = 1e-6  # in Hz
        limits.sweep_maxstep = limits.max_frequency  # in Hz
        limits.sweep_maxentries = 10001

        # FIXME: Not quite sure about this:
        limits.sweep_minslope = 1  # slope in Hz/s
        limits.sweep_maxslope = 1e9  # slope in Hz/s

        return limits
    def get_limits(self):
        """SynthHD Pro limits"""
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.SWEEP)  # MicrowaveMode.LIST)

        limits.min_frequency = 53e6
        limits.max_frequency = 14e9

        limits.min_power = -60
        limits.max_power = 20

        limits.list_minstep = 0.01
        limits.list_maxstep = 14e9
        limits.list_maxentries = 100

        limits.sweep_minstep = 0.01
        limits.sweep_maxstep = 14e9
        limits.sweep_maxentries = 100
        return limits
示例#12
0
    def get_limits(self):
        """ Return the device-specific limits in a nested dictionary.

          @return MicrowaveLimits: limits object
        """
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST)

        limits.min_frequency = self._FREQ_MIN
        limits.max_frequency = self._FREQ_MAX

        limits.min_power = self._POWER_MIN
        limits.max_power = self._POWER_MAX

        limits.list_minstep = 0.1
        limits.list_maxstep = 6.4e9
        limits.list_maxentries = self._MAX_LIST_ENTRIES

        limits.sweep_minstep = 0.1
        limits.sweep_maxstep = 10e9
        limits.sweep_maxentries = 10e6

        return limits
示例#13
0
    def get_limits(self):
        """ Return the device-specific limits in a nested dictionary.

        @return MicrowaveLimits: object containing Microwave limits
        """

        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST)
        # Exclude for now the sweep mode since not tested, MicrowaveMode.SWEEP)

        # SRS has two output connectors. The specifications
        # are used for the Type N output.
        if self._MODEL == 'SG392':
            limits.max_frequency = 2.025e9
        elif self._MODEL == 'SG394':
            limits.max_frequency = 4.050e9
        elif self._MODEL == 'SG396':
            limits.max_frequency = 6.075e9
        else:
            self.log.error('Model brand "{0}" unknown, hardware limits may '
                           'be wrong!'.format(self._MODEL))

        limits.min_power = -110 # in dBm
        limits.max_power = 16.5 # in dBm

        # FIXME: Not quite sure about this:
        limits.list_minstep = 1e-6                      # in Hz
        limits.list_maxstep = limits.max_frequency      # in Hz
        limits.list_maxentries = self._MAX_LIST_ENTRIES

        # FIXME: Not quite sure about this:
        limits.sweep_minstep = 1e-6                     # in Hz
        limits.sweep_maxstep = limits.max_frequency     # in Hz
        limits.sweep_maxentries = 10001

        # FIXME: Not quite sure about this:
        limits.sweep_minslope = 1   # slope in Hz/s
        limits.sweep_maxslope = 1e9 # slope in Hz/s

        return limits
示例#14
0
    def get_limits(self):
        """ Return the device-specific limits in a nested dictionary.

          @return MicrowaveLimits: limits object
        """
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST)

        limits.min_frequency = self._FREQ_MIN
        limits.max_frequency = self._FREQ_MAX

        limits.min_power = self._POWER_MIN
        limits.max_power = self._POWER_MAX

        limits.list_minstep = 0.1
        limits.list_maxstep = 6.4e9
        limits.list_maxentries = self._MAX_LIST_ENTRIES

        limits.sweep_minstep = 0.1
        limits.sweep_maxstep = 10e9
        limits.sweep_maxentries = 10e6

        return limits
示例#15
0
    def get_limits(self):
        """ Create an object containing parameter limits for this microwave source.

            @return MicrowaveLimits: device-specific parameter limits
        """
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.SWEEP)

        limits.min_power = -145
        limits.max_power = 30

        limits.min_frequency = 9e3
        limits.max_frequency = 6e9

        limits.list_minstep = 0.1
        limits.list_maxstep = 5.991e9
        limits.list_maxentries = 1

        limits.sweep_minstep = 0.1
        limits.sweep_maxstep = 5.991e9
        limits.sweep_maxentries = 10001

        if self.model != 'SMBV100A':
            self.log.warning(
                'Model string unknown, hardware limits may be wrong.')

        return limits
示例#16
0
    def get_limits(self):
        """ Right now, this is for Anritsu MG3696B only."""
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST)

        limits.min_frequency = 10e6
        limits.max_frequency = 70e9

        limits.min_power = -20
        limits.max_power = 10

        if self.model == 'MG3696B':
            limits.min_frequency = 10e6
            limits.max_frequency = 70e9

            limits.min_power = -20
            limits.max_power = 10
        elif self.model == 'MG3691C':
            limits.min_frequency = 10e6  # only with Option 4 or 5
            limits.max_frequency = 10e9

            limits.min_power = -120
            limits.max_power = 20  # could be up to 26 dBm for Option 15
        else:
            self.log.warning('Model string unknown, hardware limits may be wrong.')

        limits.list_minstep = 0.001
        limits.list_maxstep = limits.max_frequency
        limits.list_maxentries = 1999

        limits.sweep_minstep = 0.001
        limits.sweep_maxstep = limits.max_frequency
        limits.sweep_maxentries = 10001
        return limits
    def get_limits(self):
        """ Create an object containing parameter limits for this microwave source.

            @return MicrowaveLimits: device-specific parameter limits
        """
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST,
                                  MicrowaveMode.SWEEP)

        limits.min_frequency = 9000
        limits.max_frequency = 4.0e9

        limits.min_power = -30
        limits.max_power = 17
        # fake data for list
        limits.list_minstep = 0.1
        limits.list_maxstep = 3.0e9
        limits.list_maxentries = 4000

        limits.sweep_minstep = 2.5
        limits.sweep_maxstep = (limits.max_frequency -
                                limits.min_frequency) / 2
        limits.sweep_maxentries = 65000
        return limits
示例#18
0
    def get_limits(self):
        """ Right now, this is for Anritsu MG37022A with Option 4 only."""
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST, MicrowaveMode.SWEEP)

        limits.min_frequency = 10e6
        limits.max_frequency = 20e9

        limits.min_power = -105
        limits.max_power = 30

        limits.list_minstep = 0.001
        limits.list_maxstep = 20e9
        limits.list_maxentries = 10001

        limits.sweep_minstep = 0.001
        limits.sweep_maxstep = 20e9
        limits.sweep_maxentries = 10001
        return limits
示例#19
0
    def get_limits(self):
        """ Retrieve the limits of the device.

        @return: object MicrowaveLimits: Serves as a container for the limits
                                         of the microwave device.
        """

        limits = MicrowaveLimits()

        identify = self._gpib_connection.query('*IDN?')
        # split the comma separted options and out the entries in an array:
        identify = identify.strip().split(',')

        opts = self._gpib_connection.query('*OPT?')

        # split the comma separted options and out the entries in an array:
        opts = opts.strip().split(',')

        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST,
                                  MicrowaveMode.SWEEP)

        # the extended frequency option
        if 'B11' in opts:
            limits.min_frequency = 10e6
        else:
            limits.min_frequency = 1e9

        if 'SMR20' in identify:
            limits.max_frequency = 20e9
        elif 'SMR27' in identify:
            limits.max_frequency = 27e9
        elif 'SMR30' in identify:
            limits.max_frequency = 30e9
        elif 'SMR40' in identify:
            limits.max_frequency = 40e9
        else:
            self.error('The SMR device is not of the types '
                       '"R&S SMR20 or SMR27 or SMR30 or SMR40"! Could not '
                       'determine the maximal frequency limit. Set it just to '
                       '10GHz as default. Please check the device type and the '
                       'maximal frequency for your device!')


        limits.min_power = -130
        limits.max_power = 13

        # FIXME: Not quite sure about this:
        limits.list_minstep = limits.min_frequency
        limits.list_maxstep = limits.max_frequency
        limits.list_maxentries = 2003

        # FIXME: Not quite sure about this:
        limits.sweep_minstep = limits.min_frequency
        limits.sweep_maxstep = limits.max_frequency
        limits.sweep_maxentries = 10001
        return limits
示例#20
0
    def get_limits(self):
        """Dummy limits"""
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST, MicrowaveMode.SWEEP)

        limits.min_frequency = 100e3
        limits.max_frequency = 20e9

        limits.min_power = -120
        limits.max_power = 30

        limits.list_minstep = 0.001
        limits.list_maxstep = 20e9
        limits.list_maxentries = 10001

        limits.sweep_minstep = 0.001
        limits.sweep_maxstep = 20e9
        limits.sweep_maxentries = 10001
        return limits
    def get_limits(self):
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.SWEEP)

        limits.min_frequency = 9.0e3
        limits.max_frequency = 2.4e9

        limits.min_power = -144
        limits.max_power = self._max_power

        limits.list_minstep = 0.1
        limits.list_maxstep = 3.0e9
        limits.list_maxentries = 4000

        limits.sweep_minstep = 0.1
        limits.sweep_maxstep = 3.0e9
        limits.sweep_maxentries = 10001

        return limits
示例#22
0
    def get_limits(self):
        """Limits of Gigatronics 2400/2500 microwave source series.

          return MicrowaveLimits: limits of the particular Gigatronics MW source model
        """
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST)

        limits.min_frequency = 100e3
        limits.max_frequency = 20e9

        limits.min_power = -144
        limits.max_power = 10

        limits.list_minstep = 0.1
        limits.list_maxstep = 20e9
        limits.list_maxentries = 4000

        limits.sweep_minstep = 0.1
        limits.sweep_maxstep = 20e9
        limits.sweep_maxentries = 10001

        if self.model.startswith('2508'):
            limits.max_frequency = 8e9
        elif self.model.startswith('2520'):
            limits.max_frequency = 20e9
        elif self.model.startswith('2526'):
            limits.max_frequency = 26.5e9
        elif self.model.startswith('2540'):
            limits.max_frequency = 40e9
        else:
            self.log.warn('Unknown Gigatronics model, you are on your own!')

        return limits
示例#23
0
    def get_limits(self):
        """ Create an object containing parameter limits for this microwave source.

            @return MicrowaveLimits: device-specific parameter limits
        """
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST, MicrowaveMode.SWEEP)

        limits.min_frequency = 300e3
        limits.max_frequency = 6.4e9

        limits.min_power = -144
        limits.max_power = 10

        limits.list_minstep = 0.1
        limits.list_maxstep = 6.4e9
        limits.list_maxentries = 4000

        limits.sweep_minstep = 0.1
        limits.sweep_maxstep = 6.4e9
        limits.sweep_maxentries = 10001

        if self.model == 'SMIQ02B':
            limits.max_frequency = 2.2e9
            limits.max_power = 13
        elif self.model == 'SMIQ03B':
            limits.max_frequency = 3.3e9
            limits.max_power = 13
        elif self.model == 'SMIQ03HD':
            limits.max_frequency = 3.3e9
            limits.max_power = 13
        elif self.model == 'SMIQ04B':
            limits.max_frequency = 4.4e9
        elif self.model == 'SMIQ06B':
            pass
        elif self.model == 'SMIQ06ATE':
            pass
        else:
            self.log.warning('Model string unknown, hardware limits may be wrong.')
        limits.list_maxstep = limits.max_frequency
        limits.sweep_maxstep = limits.max_frequency
        return limits
    def get_limits(self):
        """SynthHD Pro limits"""
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.SWEEP
                                  )  # MicrowaveMode.LIST)

        limits.min_frequency = 53e6
        limits.max_frequency = 14e9

        limits.min_power = -60
        limits.max_power = 20

        limits.list_minstep = 0.01
        limits.list_maxstep = 14e9
        limits.list_maxentries = 100

        limits.sweep_minstep = 0.01
        limits.sweep_maxstep = 14e9
        limits.sweep_maxentries = 100
        return limits
示例#25
0
    def get_limits(self):
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST, MicrowaveMode.SWEEP)

        limits.min_frequency = 9.0e3
        limits.max_frequency = 3.0e9

        limits.min_power = -144
        limits.max_power = 10

        limits.list_minstep = 0.1
        limits.list_maxstep = 3.0e9
        limits.list_maxentries = 4000

        limits.sweep_minstep = 0.1
        limits.sweep_maxstep = 3.0e9
        limits.sweep_maxentries = 10001

        if self.model == 'N9310A':
            limits.min_frequency = 9e3
            limits.max_frequency = 3.0e9
            limits.min_power = -127
            limits.max_power = 20
        else:
            self.log.warning('Model string unknown, hardware limits may be wrong.')
        #limits.list_maxstep = limits.max_frequency
        #limits.sweep_maxstep = limits.max_frequency
        return limits
    def get_limits(self):
        """ Retrieve the limits of the device.

        @return: object MicrowaveLimits: Serves as a container for the limits
                                         of the microwave device.
        """
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST)
        # the sweep mode seems not to work properly, comment it out:
                                  #MicrowaveMode.SWEEP)

        limits.min_frequency = self._FREQ_MIN
        limits.max_frequency = self._FREQ_MAX
        limits.min_power = self._POWER_MIN
        limits.max_power = self._POWER_MAX

        limits.list_minstep = self._LIST_FREQ_STEP_MIN
        limits.list_maxstep = self._LIST_FREQ_STEP_MAX
        limits.list_maxentries = self._MAX_LIST_ENTRIES

        limits.sweep_minstep = self._SWEEP_FREQ_STEP_MIN
        limits.sweep_maxstep = self._SWEEP_FREQ_STEP_MAX
        limits.sweep_maxentries = self._MAX_SWEEP_ENTRIES
        return limits
示例#27
0
    def get_limits(self):
        """ Right now, this is for Anritsu MG37022A with Option 4 only."""
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST, MicrowaveMode.SWEEP)

        limits.min_frequency = 10e6
        limits.max_frequency = 20e9

        limits.min_power = -105
        limits.max_power = 30

        limits.list_minstep = 0.001
        limits.list_maxstep = 20e9
        limits.list_maxentries = 10001

        limits.sweep_minstep = 0.001
        limits.sweep_maxstep = 20e9
        limits.sweep_maxentries = 10001
        return limits
示例#28
0
    def get_limits(self):
        """ Right now, this is for APSIN6000 only."""
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST)

        limits.min_frequency = 10e3
        limits.max_frequency = 6e9

        limits.min_power = -50
        limits.max_power = 10

        limits.list_minstep = 0.001
        limits.list_maxstep = 6e9
        limits.list_maxentries = 2000

        limits.sweep_minstep = 0.001
        limits.sweep_maxstep = 6e9
        limits.sweep_maxentries = 3501
        return limits
    def get_limits(self):
        """ Right now, this is for Anritsu MG3696B only."""
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST)

        limits.min_frequency = 10e6
        limits.max_frequency = 70e9

        limits.min_power = -20
        limits.max_power = 10

        limits.list_minstep = 0.001
        limits.list_maxstep = 70e9
        limits.list_maxentries = 1999

        limits.sweep_minstep = 0.001
        limits.sweep_maxstep = 70e9
        limits.sweep_maxentries = 10001
        return limits
示例#30
0
    def get_limits(self):
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST, MicrowaveMode.SWEEP)

        # SRS has two output connectors. The specifications
        # are used for the Type N output.
        limits.min_frequency = 950e3
        limits.max_frequency = 6.4e9

        limits.min_power = -110
        limits.max_power = 16.5

        # FIXME: Not quite sure about this:
        limits.list_minstep = 1e-6
        limits.list_maxstep = 2.025e9
        limits.list_maxentries = 4000

        # FIXME: Not quite sure about this:
        limits.sweep_minstep = 0.1
        limits.sweep_maxstep = 6.4e9
        limits.sweep_maxentries = 10001

        if self.model == 'SG392':
            limits.max_frequency = 2.025e9
        elif self.model == 'SG394':
            limits.max_frequency = 4.050e9
        elif self.model == 'SG396':
            limits.max_frequency = 6.075e9
        else:
            self.log.warning('Model string unknown, hardware limits may be wrong.')

        limits.list_maxstep = limits.max_frequency
        limits.sweep_maxstep = limits.max_frequency
        return limits
示例#31
0
    def get_limits(self):
        """Limits of Gigatronics 2400/2500 microwave source series.

          return MicrowaveLimits: limits of the particular Gigatronics MW source model
        """
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST)

        limits.min_frequency = 100e3
        limits.max_frequency = 20e9

        limits.min_power = -144
        limits.max_power = 10

        limits.list_minstep = 0.1
        limits.list_maxstep = 20e9
        limits.list_maxentries = 4000

        limits.sweep_minstep = 0.1
        limits.sweep_maxstep = 20e9
        limits.sweep_maxentries = 10001

        if self.model.startswith('2508'):
            limits.max_frequency = 8e9
        elif self.model.startswith('2520'):
            limits.max_frequency = 20e9
        elif self.model.startswith('2526'):
            limits.max_frequency = 26.5e9
        elif self.model.startswith('2540'):
            limits.max_frequency = 40e9
        else:
            self.log.warn('Unknown Gigatronics model, you are on your own!')

        return limits
    def get_limits(self):
        """ Create an object containing parameter limits for this microwave source.

            @return MicrowaveLimits: device-specific parameter limits
        """
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.SWEEP)

        # values for SMBV100A
        limits.min_power = -145
        limits.max_power = 30

        limits.min_frequency = 9e3
        limits.max_frequency = 6e9

        if self.model == 'SMB100A':
            limits.max_frequency = 3.2e9

        limits.list_minstep = 0.1
        limits.list_maxstep = limits.max_frequency - limits.min_frequency
        limits.list_maxentries = 1

        limits.sweep_minstep = 0.1
        limits.sweep_maxstep = limits.max_frequency - limits.min_frequency
        limits.sweep_maxentries = 10001

        # in case a lower maximum is set in config file
        if self._max_power is not None and self._max_power < limits.max_power:
            limits.max_power = self._max_power

        return limits
示例#33
0
    def get_limits(self):
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST,
                                  MicrowaveMode.SWEEP)

        limits.min_frequency = 300e3
        limits.max_frequency = 6.4e9

        limits.min_power = -144
        limits.max_power = 10

        limits.list_minstep = 0.1
        limits.list_maxstep = 6.4e9
        limits.list_maxentries = 4000

        limits.sweep_minstep = 0.1
        limits.sweep_maxstep = 6.4e9
        limits.sweep_maxentries = 10001

        if str.lstrip(self.model) == 'N5172B':
            limits.min_frequency = 9e3
            limits.max_frequency = 6.0e9
            limits.min_power = -127
            limits.max_power = 9
            limits.list_maxentries = 3201
            limits.sweep_maxentries = 65535
        else:
            self.log.warning(
                'Model string unknown, hardware limits may be wrong.')
        limits.list_maxstep = limits.max_frequency
        limits.sweep_maxstep = limits.max_frequency

        return limits
示例#34
0
    def get_limits(self):
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST,
                                  MicrowaveMode.SWEEP)

        limits.min_frequency = 9.0e3
        limits.max_frequency = 3.0e9

        limits.min_power = -144
        limits.max_power = 10

        limits.list_minstep = 0.1
        limits.list_maxstep = 3.0e9
        limits.list_maxentries = 4000

        limits.sweep_minstep = 0.1
        limits.sweep_maxstep = 3.0e9
        limits.sweep_maxentries = 10001

        if self.model == 'N9310A':
            limits.min_frequency = 9e3
            limits.max_frequency = 3.0e9
            limits.min_power = -127
            limits.max_power = 20
        else:
            self.log.warning(
                'Model string unknown, hardware limits may be wrong.')
        #limits.list_maxstep = limits.max_frequency
        #limits.sweep_maxstep = limits.max_frequency
        return limits
示例#35
0
    def get_limits(self):
        """ Right now, this is for Anritsu MG3696B only."""
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST)

        limits.min_frequency = 10e6
        limits.max_frequency = 70e9

        limits.min_power = -20
        limits.max_power = 10

        if self.model == 'MG3696B':
            limits.min_frequency = 10e6
            limits.max_frequency = 70e9

            limits.min_power = -20
            limits.max_power = 10
        elif self.model == 'MG3691C':
            limits.min_frequency = 10e6  # only with Option 4 or 5
            limits.max_frequency = 10e9

            limits.min_power = -120
            limits.max_power = 20  # could be up to 26 dBm for Option 15
        else:
            self.log.warning(
                'Model string unknown, hardware limits may be wrong.')

        limits.list_minstep = 0.001
        limits.list_maxstep = limits.max_frequency
        limits.list_maxentries = 1999

        limits.sweep_minstep = 0.001
        limits.sweep_maxstep = limits.max_frequency
        limits.sweep_maxentries = 10001
        return limits
示例#36
0
    def get_limits(self):
        limits = MicrowaveLimits()
        limits.supported_modes = ('CW', 'LIST', 'SWEEP')

        limits.min_frequency = 300e3
        limits.max_frequency = 6.4e9

        limits.min_power = -144
        limits.max_power = 10

        limits.list_minstep = 0.1
        limits.list_maxstep = 6.4e9
        limits.list_maxentries = 4000

        limits.sweep_minstep = 0.1
        limits.sweep_maxstep = 6.4e9
        limits.sweep_maxentries = 10001

        if self.model == 'SMIQ02B':
            limits.max_frequency = 2.2e9
            limits.max_power = 13
        elif self.model == 'SMIQ03B':
            limits.max_frequency = 3.3e9
            limits.max_power = 13
        elif self.model == 'SMIQ03HD':
            limits.max_frequency = 3.3e9
            limits.max_power = 13
        elif self.model == 'SMIQ04B':
            limits.max_frequency = 4.4e9
        elif self.model == 'SMIQ06B':
            pass
        elif self.model == 'SMIQ06ATE':
            pass
        else:
            self.log.warning(
                'Model string unknown, hardware limits may be wrong.')
        limits.list_maxstep = limits.max_frequency
        limits.sweep_maxstep = limits.max_frequency
        return limits
示例#37
0
    def get_limits(self):
        """Dummy limits"""
        limits = MicrowaveLimits()
        limits.supported_modes = (MicrowaveMode.CW, MicrowaveMode.LIST,
                                  MicrowaveMode.SWEEP)

        limits.min_frequency = 100e3
        limits.max_frequency = 20e9

        limits.min_power = -120
        limits.max_power = 30

        limits.list_minstep = 0.001
        limits.list_maxstep = 20e9
        limits.list_maxentries = 10001

        limits.sweep_minstep = 0.001
        limits.sweep_maxstep = 20e9
        limits.sweep_maxentries = 10001
        return limits