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 mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio