made siggen cooperate with sinks without bw range

This commit is contained in:
Marcus Müller 2015-12-29 19:08:40 +01:00 committed by Dimitri Stolnikov
parent 84249efbea
commit 20a5986ca0
2 changed files with 47 additions and 20 deletions

View File

@ -164,6 +164,7 @@ class app_gui(pubsub):
)
freq_hbox.AddSpacer(5)
try:
forms.slider(
parent=self.panel, sizer=freq_hbox,
proportion=2,
@ -174,6 +175,8 @@ class app_gui(pubsub):
num_steps=101,
)
freq_hbox.AddSpacer(3)
except:
pass
corr_hbox.AddSpacer(3)
forms.text_box(

View File

@ -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
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
try:
self.publish(BWIDTH_RANGE_KEY, self._sink.get_bandwidth_range)
except:
if self._verbose:
print "Couldn't publish %s" % BWIDTH_RANGE_KEY
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):
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)