diff options
author | Johnathan Corgan <johnathan@corganlabs.com> | 2015-10-26 19:35:45 -0700 |
---|---|---|
committer | Johnathan Corgan <johnathan@corganlabs.com> | 2015-10-26 19:35:45 -0700 |
commit | 8f70ee3893cac5c9a93e35ba1c332af4c87d07ba (patch) | |
tree | 1754ccd39afac8aa6912a0f17d474c9ad98565c1 /gr-uhd | |
parent | 02c998311434a65de301755f028752a65df83ac5 (diff) | |
parent | 0cc8a03235fa5e1312306940542a1e7d8275084b (diff) |
Merge remote-tracking branch 'mbr0wn/uhd/fft_fixes'
Diffstat (limited to 'gr-uhd')
-rw-r--r-- | gr-uhd/apps/uhd_app.py | 9 | ||||
-rwxr-xr-x | gr-uhd/apps/uhd_fft | 30 |
2 files changed, 19 insertions, 20 deletions
diff --git a/gr-uhd/apps/uhd_app.py b/gr-uhd/apps/uhd_app.py index e0691bd03f..9721174d4d 100644 --- a/gr-uhd/apps/uhd_app.py +++ b/gr-uhd/apps/uhd_app.py @@ -219,9 +219,9 @@ class UHDApp(object): self.vprint("Tuning all channels to {freq} MHz.".format(freq=freq/1e6)) # Set frequency (tune request takes lo_offset): if hasattr(self.args, 'lo_offset') and self.args.lo_offset is not None: - treq = uhd.tune_request(self.freq, self.args.lo_offset) + treq = uhd.tune_request(freq, self.args.lo_offset) else: - treq = uhd.tune_request(self.freq) + treq = uhd.tune_request(freq) # Make sure tuning is synched: if len(self.channels) > 1 and not skip_sync: cmd_time = self.usrp.get_time_now() + uhd.time_spec(COMMAND_DELAY) @@ -239,9 +239,8 @@ class UHDApp(object): self.usrp.clear_command_time(mb_idx) self.vprint("Syncing channels...".format(prefix=self.prefix)) time.sleep(COMMAND_DELAY) - print('pre', self.freq) - self.freq = self.usrp.get_center_freq(self.channels[0]) - print('post', self.freq) + self.freq = self.usrp.get_center_freq(self.channels[1]) + self.vprint("First channel has freq: {freq} MHz.".format(freq=self.freq/1e6)) @staticmethod def setup_argparser( diff --git a/gr-uhd/apps/uhd_fft b/gr-uhd/apps/uhd_fft index 8a5a38bd1b..bb557e96f0 100755 --- a/gr-uhd/apps/uhd_fft +++ b/gr-uhd/apps/uhd_fft @@ -288,17 +288,12 @@ class uhd_fft(gr.top_block, Qt.QWidget, UHDApp): self._lo_locked_probe_label = Qt.QLabel("") self._lo_locked_probe_tool_bar.addWidget(self._lo_locked_probe_label) self.top_grid_layout.addWidget(self._lo_locked_probe_tool_bar, 4,0,1,2) - def _current_freq_probe(): while True: - val = self.usrp.get_center_freq(0) + val = self.usrp.get_center_freq(self.channels[0]) try: if val != self.freq: - print 'need to retuuuuuuune' - Qt.QMetaObject.invokeMethod( - self._freq_line_edit, "setText", - Qt.Q_ARG("QString", eng_notation.num_to_str(self.freq)) - ) + self.set_freq_qt(val, tune_source='freqsink_msg') except AttributeError: pass time.sleep(1.0 / (10)) @@ -342,18 +337,23 @@ class uhd_fft(gr.top_block, Qt.QWidget, UHDApp): def set_fft_size(self, fft_size): self.fft_size = fft_size - def set_freq_qt(self, freq): + def set_freq_qt(self, freq, tune_source='textbox'): if freq == self.freq: return - self.freq = freq + if tune_source == 'textbox': + # This sets self.freq: + self.set_freq(freq, skip_sync=False) + elif tune_source == 'freqsink_msg': + self.freq = freq + else: + raise RuntimeError("Invalid tune source: {src}".format(tune_source)) Qt.QMetaObject.invokeMethod( self._freq_line_edit, "setText", Qt.Q_ARG("QString", eng_notation.num_to_str(self.freq)) ) - print 'set_freq_qt', self.freq - self.qtgui_freq_sink_x_0.set_frequency_range(self.freq, self.samp_rate) self.qtgui_waterfall_sink_x_0.set_frequency_range(self.freq, self.samp_rate) - self.set_freq(self.freq, skip_sync=False) + if tune_source != 'freqsink_msg': + self.qtgui_freq_sink_x_0.set_frequency_range(self.freq, self.samp_rate) def set_update_rate(self, update_rate): self.update_rate = update_rate @@ -410,13 +410,13 @@ def setup_argparser(): ) group = parser.add_argument_group('UHD FFT Arguments') group.add_argument("--fft-size", type=eng_arg.intx, default=1024, - help="Set Set number of FFT bins [default=%default]") + help="Set number of FFT bins") group.add_argument("--fft-average", default='medium', choices=('off', 'low', 'medium', 'high'), - help="Set FFT averaging [default=%default]") + help="Set FFT averaging") group.add_argument("--avg-alpha", type=float, default=None, help="Specify FFT average alpha (overrides --fft-average)") group.add_argument("--update-rate", dest="update_rate", type=eng_arg.eng_float, default=eng_notation.num_to_str(.1), - help="Set Set GUI widget update rate [default=%default]") + help="Set GUI widget update rate") return parser |