From c904d26eb441386cd4a8978b650fdddc075ea6a8 Mon Sep 17 00:00:00 2001 From: Sylvain Munaut Date: Sun, 13 Oct 2013 22:16:59 +0200 Subject: [PATCH] apps/osmocom_fft: Add option to use fosphor for the main display Currently the GLFW variant as it's all that's available currently Signed-off-by: Sylvain Munaut --- apps/osmocom_fft | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/apps/osmocom_fft b/apps/osmocom_fft index d15d9f0..3efdf36 100755 --- a/apps/osmocom_fft +++ b/apps/osmocom_fft @@ -72,6 +72,8 @@ class app_top_block(stdgui2.std_top_block, pubsub): help="Set gain in dB (default is midpoint)") parser.add_option("-W", "--waterfall", action="store_true", default=False, help="Enable waterfall display") + parser.add_option("-F", "--fosphor", action="store_true", default=False, + help="Enable fosphor display") parser.add_option("-S", "--oscilloscope", action="store_true", default=False, help="Enable oscilloscope display") parser.add_option("", "--avg-alpha", type="eng_float", default=1e-1, @@ -163,7 +165,10 @@ class app_top_block(stdgui2.std_top_block, pubsub): #print key, "=", self[key] #self[key] = self[key] - if options.waterfall: + if options.fosphor: + from gnuradio import fosphor + self.scope = fosphor.glfw_sink_c() + elif options.waterfall: self.scope = waterfallsink2.waterfall_sink_c (panel, fft_size=options.fft_size, sample_rate=input_rate, @@ -206,8 +211,9 @@ class app_top_block(stdgui2.std_top_block, pubsub): def _build_gui(self, vbox): - vbox.Add(self.scope.win, 0, wx.EXPAND) - vbox.AddSpacer(3) + if hasattr(self.scope, 'win'): + vbox.Add(self.scope.win, 0, wx.EXPAND) + vbox.AddSpacer(3) # add control area at the bottom self.myform = myform = form.form() @@ -417,7 +423,8 @@ class app_top_block(stdgui2.std_top_block, pubsub): def set_sample_rate(self, samp_rate): samp_rate = self.src.set_sample_rate(samp_rate) - self.scope.set_sample_rate(samp_rate) + if hasattr(self.scope, 'set_sample_rate'): + self.scope.set_sample_rate(samp_rate) if self._verbose: print "Set sample rate to:", samp_rate @@ -469,7 +476,7 @@ class app_top_block(stdgui2.std_top_block, pubsub): freq = self.src.set_center_freq(freq) - if not self.options.oscilloscope: + if hasattr(self.scope, 'set_baseband_freq'): self.scope.set_baseband_freq(freq) if freq is not None: