From: jcorgan Date: Thu, 8 Nov 2007 20:50:47 +0000 (+0000) Subject: Fix for working with peak hold in usrp_fft.py X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=28edd49f3d5c1e7eb2f3f2826726bf688f037b1f;p=debian%2Fgnuradio Fix for working with peak hold in usrp_fft.py git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@6839 221aa14e-8319-0410-a670-987f0aec2ac5 --- diff --git a/gr-utils/src/python/usrp_fft.py b/gr-utils/src/python/usrp_fft.py index fae5ae4c..58da6714 100755 --- a/gr-utils/src/python/usrp_fft.py +++ b/gr-utils/src/python/usrp_fft.py @@ -235,7 +235,7 @@ class app_top_block(stdgui2.std_top_block): self.myform['baseband'].set_value(r.baseband_freq) self.myform['ddc'].set_value(r.dxc_freq) if not self.options.waterfall and not self.options.oscilloscope: - self.scope.set_baseband_freq(target_freq) + self.scope.win.set_baseband_freq(target_freq) return True return False @@ -264,9 +264,16 @@ class app_top_block(stdgui2.std_top_block): if event.CmdDown(): # Re-center on maximum power points = self.scope.win._points - ind = numpy.argmax(points[:,1]) + if self.scope.win.peak_hold: + if self.scope.win.peak_vals is not None: + ind = numpy.argmax(self.scope.win.peak_vals) + else: + ind = int(points.shape()[0]/2) + else: + ind = numpy.argmax(points[:,1]) (freq, pwr) = points[ind] target_freq = freq/self.scope.win._scale_factor + print ind, freq, pwr self.set_freq(target_freq) else: # Re-center on clicked frequency diff --git a/gr-wxgui/src/python/fftsink2.py b/gr-wxgui/src/python/fftsink2.py index 52b898a5..8e07dda4 100755 --- a/gr-wxgui/src/python/fftsink2.py +++ b/gr-wxgui/src/python/fftsink2.py @@ -256,6 +256,8 @@ class fft_window (plot.PlotCanvas): self._format = "%3.3f" def set_baseband_freq(self, baseband_freq): + if self.peak_hold: + self.peak_vals = None self.set_scale(baseband_freq) self.fftsink.set_baseband_freq(baseband_freq)