summaryrefslogtreecommitdiff
path: root/gr-uhd
diff options
context:
space:
mode:
authorJohnathan Corgan <johnathan@corganlabs.com>2015-10-26 19:35:45 -0700
committerJohnathan Corgan <johnathan@corganlabs.com>2015-10-26 19:35:45 -0700
commit8f70ee3893cac5c9a93e35ba1c332af4c87d07ba (patch)
tree1754ccd39afac8aa6912a0f17d474c9ad98565c1 /gr-uhd
parent02c998311434a65de301755f028752a65df83ac5 (diff)
parent0cc8a03235fa5e1312306940542a1e7d8275084b (diff)
Merge remote-tracking branch 'mbr0wn/uhd/fft_fixes'
Diffstat (limited to 'gr-uhd')
-rw-r--r--gr-uhd/apps/uhd_app.py9
-rwxr-xr-xgr-uhd/apps/uhd_fft30
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