diff options
Diffstat (limited to 'host/python')
| -rw-r--r-- | host/python/uhd/usrp/cal/usrp_calibrator.py | 14 | 
1 files changed, 9 insertions, 5 deletions
diff --git a/host/python/uhd/usrp/cal/usrp_calibrator.py b/host/python/uhd/usrp/cal/usrp_calibrator.py index f409072d4..bb98e045a 100644 --- a/host/python/uhd/usrp/cal/usrp_calibrator.py +++ b/host/python/uhd/usrp/cal/usrp_calibrator.py @@ -42,9 +42,11 @@ def get_default_gains(direction, gain_range, gain_step):      Create a equidistant gain range for calibration      """      assert direction in ('rx', 'tx') -    if direction == 'tx': -        return numpy.arange(0, gain_range.stop(), gain_step) -    return numpy.arange(gain_range.stop(), 0, -gain_step) +    result = numpy.arange(0, gain_range.stop() + gain_step, gain_step) +    # reverse measurement points in RX so we can break cal loop once signal is too low +    if direction == 'rx': +        result = numpy.flip(result) +    return result  def get_usrp_power(streamer, num_samps=NUM_SAMPS_PER_EST, chan=0):      """ @@ -159,9 +161,12 @@ class USRPCalibratorBase:          If a particular device needs to check specific frequencies, then          override this.          """ +        step = step_hint or DEFAULT_FREQ_STEP          start_min = self.min_freq or \              getattr(self._usrp, 'get_{}_freq_range'.format(self._dir))(                  self._chan).start() +        if not start_hint and (start_min < step): +            start_min = step          start_hint = start_hint or start_min          start = max(start_hint, start_min)          stop_max = self.max_freq or \ @@ -169,8 +174,7 @@ class USRPCalibratorBase:                  self._chan).stop()          stop_hint = stop_hint or stop_max          stop = min(stop_hint, stop_max) -        step = step_hint or DEFAULT_FREQ_STEP -        return numpy.arange(start, stop + 1.0, step) +        return numpy.arange(start, stop + step, step)      def init_frequencies(self, start_hint, stop_hint, step_hint):          """  | 
