Beispiel #1
0
 def frequency(self, frequency):
     """Defines RF frequency"""
     if self.has_doubler:
         truncated_range(frequency, (SG380.MIN_RF, 2*SG380.MAX_RF))
     else:
         truncated_range(frequency, (SG380.MIN_RF, SG380.MAX_RF))
     self.write("FREQ%.6f" % frequency)
Beispiel #2
0
 def frequency(self, frequency):
     """Defines RF frequency"""
     if self.has_doubler:
         truncated_range(frequency, (SG380.MIN_RF, 2*SG380.MAX_RF))
     else:
         truncated_range(frequency, (SG380.MIN_RF, SG380.MAX_RF))
     self.write("FREQ%.6f" % frequency)
Beispiel #3
0
    def configure_frequency_array_measurement(self, n_samples, channel):
        """
        Configure the counter for an array of measurements.

        :param n_samples: The number of samples
        :param channel: Measurment channel (A, B, C, E, INTREF)
        """
        n_samples = truncated_range(n_samples, [1, self.MAX_BUFFER_SIZE])
        channel = strict_discrete_set(channel, self.CHANNELS)
        channel = self.CHANNELS[channel]
        self.write(f":CONF:ARR:FREQ {n_samples},(@{channel})")
    def wavelength(self, value):
        """Wavelength in nm."""
        if self.wavelength_settable:
            # Store min and max wavelength to only request them once.
            if not hasattr(self, "_wavelength_min"):
                self._wavelength_min = self.wavelength_min
            if not hasattr(self, "_wavelength_max"):
                self._wavelength_max = self.wavelength_max

            value = truncated_range(
                value, [self._wavelength_min, self._wavelength_max])
            self.write("SENSE:CORR:WAV {}".format(value))
        else:
            raise AttributeError(
                f"{self.sensor_name} does not allow setting the wavelength.")
Beispiel #5
0
def test_truncated_range():
    assert truncated_range(5, range(10)) == 5
    assert truncated_range(5.1, range(10)) == 5.1
    assert truncated_range(-10, range(10)) == 0
    assert truncated_range(20, range(10)) == 9
Beispiel #6
0
 def voltage(self, level):
     voltage_range = [0, 5] if self.channel == 3 else [0, 30]
     new_level = truncated_range(level, voltage_range)
     self.write("SOURce:VOLTage:LEVel:IMMediate:AMPLitude %g" % new_level)
Beispiel #7
0
def test_truncated_range():
    assert truncated_range(5, range(10)) == 5
    assert truncated_range(5.1, range(10)) == 5.1
    assert truncated_range(-10, range(10)) == 0
    assert truncated_range(20, range(10)) == 9