aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus Müller <marcus.mueller@ettus.com>2015-12-29 19:08:40 +0100
committerDimitri Stolnikov <horiz0n@gmx.net>2016-01-10 22:12:25 +0100
commit20a5986ca0ae2c123f08ae58001f187a27914ad1 (patch)
treed2d6c8a2fb572db5e29896b51414163b406165f6
parent84249efbea6220fa193a3ce08c4be119545ce41b (diff)
made siggen cooperate with sinks without bw range
-rwxr-xr-xapps/osmocom_siggen23
-rw-r--r--apps/osmocom_siggen_base.py44
2 files changed, 47 insertions, 20 deletions
diff --git a/apps/osmocom_siggen b/apps/osmocom_siggen
index a290b53..bd92eac 100755
--- a/apps/osmocom_siggen
+++ b/apps/osmocom_siggen
@@ -164,16 +164,19 @@ class app_gui(pubsub):
)
freq_hbox.AddSpacer(5)
- forms.slider(
- parent=self.panel, sizer=freq_hbox,
- proportion=2,
- ps=self.tb,
- key=osmocom_siggen.TX_FREQ_KEY,
- minimum=self.tb[osmocom_siggen.FREQ_RANGE_KEY].start(),
- maximum=self.tb[osmocom_siggen.FREQ_RANGE_KEY].stop(),
- num_steps=101,
- )
- freq_hbox.AddSpacer(3)
+ try:
+ forms.slider(
+ parent=self.panel, sizer=freq_hbox,
+ proportion=2,
+ ps=self.tb,
+ key=osmocom_siggen.TX_FREQ_KEY,
+ minimum=self.tb[osmocom_siggen.FREQ_RANGE_KEY].start(),
+ maximum=self.tb[osmocom_siggen.FREQ_RANGE_KEY].stop(),
+ num_steps=101,
+ )
+ freq_hbox.AddSpacer(3)
+ except:
+ pass
corr_hbox.AddSpacer(3)
forms.text_box(
diff --git a/apps/osmocom_siggen_base.py b/apps/osmocom_siggen_base.py
index e55e767..cee3eb1 100644
--- a/apps/osmocom_siggen_base.py
+++ b/apps/osmocom_siggen_base.py
@@ -218,22 +218,40 @@ class top_block(gr.top_block, pubsub):
print 'Supported sample rates %d-%d step %d.' % (rates.start(), rates.stop(), rates.step())
# Set the antenna
+ if self._verbose:
+ print "setting antenna..."
if(options.antenna):
ant = self._sink.set_antenna(options.antenna, 0)
if self._verbose:
print "Set antenna to:", ant
+ try:
+ self.publish(FREQ_RANGE_KEY, self._sink.get_freq_range)
+ except:
+ print "Couldn't publish %s" % FREQ_RANGE_KEY
- self.publish(FREQ_RANGE_KEY, self._sink.get_freq_range)
-
- for name in self.get_gain_names():
- self.publish(GAIN_RANGE_KEY(name), (lambda self=self,name=name: self._sink.get_gain_range(name)))
-
- self.publish(BWIDTH_RANGE_KEY, self._sink.get_bandwidth_range)
+ try:
+ for name in self.get_gain_names():
+ self.publish(GAIN_RANGE_KEY(name), (lambda self=self,name=name: self._sink.get_gain_range(name)))
+ except:
+ print "Couldn't publish %s" % FREQ_RANGE_KEY
- for name in self.get_gain_names():
- self.publish(GAIN_KEY(name), (lambda self=self,name=name: self._sink.get_gain(name)))
+ try:
+ self.publish(BWIDTH_RANGE_KEY, self._sink.get_bandwidth_range)
+ except:
+ if self._verbose:
+ print "Couldn't publish %s" % BWIDTH_RANGE_KEY
- self.publish(BWIDTH_KEY, self._sink.get_bandwidth)
+ try:
+ for name in self.get_gain_names():
+ self.publish(GAIN_KEY(name), (lambda self=self,name=name: self._sink.get_gain(name)))
+ except:
+ if self._verbose:
+ print "Couldn't publish GAIN_KEYs"
+ try:
+ self.publish(BWIDTH_KEY, self._sink.get_bandwidth)
+ except:
+ if self._verbose:
+ print "Couldn't publish %s" % BWIDTH_KEY
def get_gain_names(self):
return self._sink.get_gain_names()
@@ -273,7 +291,13 @@ class top_block(gr.top_block, pubsub):
print "Set " + name + " gain to:", gain
def set_bandwidth(self, bw):
- clipped_bw = self[BWIDTH_RANGE_KEY].clip(bw)
+ try:
+ clipped_bw = self[BWIDTH_RANGE_KEY].clip(bw)
+ except:
+ if self._verbose:
+ print "couldn't clip bandwidth"
+ return
+
if self._sink.get_bandwidth() != clipped_bw:
bw = self._sink.set_bandwidth(clipped_bw)