On Wed, Sep 3, 2014 at 9:57 AM, Simone Ciccia S210664 < simone.cic...@studenti.polito.it> wrote:
> Very thanks for the immediate answer, > > Sorry, I forgot that I passed two arguments when the block was created: > > $insert valid arguments: float reference, float alpha > > while "unsigned int d_counter" is a normal variable initialized in the > constructor. > > now, in the file power_control_impl.h (in short) I added the variables: > > class power_control_impl : public power_control > { > private: > float d_alpha, d_ref; > unsigned int d_counter; > > > and then, in the constructor of the file power_control_impl.cc (in short) I > used the settler: > > power_control_impl::power_control_impl(float alpha, float reference) > : gr::block("power_control",gr::io_signature::make2(2, 2, > sizeof(float), sizeof(float)), > gr::io_signature::make(1, 1, sizeof(float))), d_alpha(alpha), > d_ref(reference) > { > d_counter=0 > } > > > the xml file (in short) I think is ok: > > <make>PWagc.power_control($alpha, $reference)</make> > <param> > <name>Alpha</name> > <key>alpha</key> > <type>float</type> > </param> > <param> > <name>Reference</name> > <key>reference</key> > <type>float</type> > </param> > > > is there something in the wrong place? > thanks for the help! > Simone Yeah, I figured there were two arguments. I just put them as x and y. One thing that can happen here is if there's a declared function in the public and/or private header that's not implemented in the .cc file. You might have something like that going on, such as not having or deleting the destructor. Using gr_modtool should protect you from things like this, and testing it out on my end here worked fine. Just double-check your work to make sure you didn't remove anything you shouldn't have. Tom > On Wed, 3 Sep 2014 09:35:35 -0400, Tom Rondeau <t...@trondeau.com> wrote: > > On Wed, Sep 3, 2014 at 9:17 AM, Simone Ciccia S210664 < > > simone.cic...@studenti.polito.it> wrote: > > > >> Hi, > >> I created a C++ block with gr_modtool, > >> following the commands: > >> > >> $ gr_modtool newmod PWagc > >> $ gr_modtool add -t general power_control > >> > >> I written and compiled my block with commands: > >> > >> $cmake ../ && make && sudo make install && sudo ldconfig > >> > >> Until this point all seems ok, but when I open gnuradio and try to > >> simulate > >> my block... > >> the following error appears: > >> > >> Traceback (most recent call last): > >> File "/home/simone/Scrivania/top_block.py", line 261, in <module> > >> tb = top_block(address=options.address) > >> File "/home/simone/Scrivania/top_block.py", line 153, in __init__ > >> self.PWagc_power_control_0 = PWagc.power_control(0.001, 0.25) > >> AttributeError: 'module' object has no attribute 'power_control' > >> > >> > >> I'm not able to understand from which this error derive... > >> If needed, I can attach the _impl.cc etc... files. > >> > >> My gnuradio version is the 3.7.4 and > >> PYTHONPATH=/usr/local/lib/python2.7/dist-packages, > >> in this last folder I can see the installed gr-PWagc directory. > >> > >> Someone can help me please? > >> If additional information are needed, please ask me... I'm blocked here! > >> > >> Thanks, > >> Simone Ciccia > >> > > > > We've been seeing this issue from a few people recently. I can't > duplicate > > the problem. I just did exactly what you did above, though the work > > function doesn't actually do anything. > > > > Are you potentially adding some interface setter or getter to the class > and > > not putting it in all the right places (pure virtual in the public > header, > > then again in the private header, and implemented in the source file)? > > > > Have you added QA code? In qa_power_control.py, just add a line to the > test > > function to create the PWagc.power_control(x,y) and see if it works > there. > > > > Tom >
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio