[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Discuss-gnuradio] Implementing callbacks in custom blocks
From: |
jsam45 |
Subject: |
[Discuss-gnuradio] Implementing callbacks in custom blocks |
Date: |
Sat, 19 Jul 2014 22:58:49 -0700 (PDT) |
Using gr_modtool, I am trying to make a simple Gain block (called var_gain)
which multiplies the input with a constant. I have a private variable called
d_gain in the var_gain_impl class and a public function set_gain(float gain)
which sets the value of d_gain to the argument. I modified the xml file by
adding the line
<callback>set_gain($gain)</callback>
after the <make> line.
During execution, gain value does not change even after changing it through
a WX Slider. If I run it from terminal, I am getting the following error -
Traceback (most recent call last):
File
"/usr/local/lib/python2.7/dist-packages/gnuradio/wxgui/forms/forms.py", line
180, in _handle
def _handle(self, event): self[INT_KEY] = self._slider.GetValue()
File "/usr/local/lib/python2.7/dist-packages/gnuradio/gr/pubsub.py", line
52, in __setitem__
sub(val)
File
"/usr/local/lib/python2.7/dist-packages/gnuradio/wxgui/forms/forms.py", line
138, in _translate_internal_to_external
if self._callback: self._callback(self[EXT_KEY])
File "top_block.py", line 102, in set_gg
self.fsk_var_gain_0.set_gain(self.gg)
AttributeError: 'var_gain_sptr' object has no attribute 'set_gain'
I tried looking at some in-built blocks to see how callback is implemented.
Then I saw that the in-built blocks have pure virtual functions in the
include/module_name/var_gain.h header file. I tried implementing that but
the result is still the same. What am I missing here?
--
View this message in context:
http://gnuradio.4.n7.nabble.com/Implementing-callbacks-in-custom-blocks-tp49462.html
Sent from the GnuRadio mailing list archive at Nabble.com.
- [Discuss-gnuradio] Implementing callbacks in custom blocks,
jsam45 <=