|
From: | Su Li |
Subject: | Re: [Discuss-gnuradio] Problems when trying to make out of tree modules |
Date: | Fri, 15 May 2015 11:47:51 +0200 |
Hi Peter,Thanks for your reply and suggestions.I checked all the 4 files. I changed the original module and block names of build-in block into my module and block names. But unfortunately, the error still exists.Could it be possibly because the build-in block, in my case "clock_recovery_mm_ff" block, has some special dependency which is included in the code of the module but not in the code of the block.The type of "clock_recovery_mm_ff" block is abnormal. It is just block, not gr::block nor gr::sync_block as mentioned in the OOT tutorial . Here is the code of declaration of this block in *.h file in "include" folder.class DIGITAL_API clock_recovery_mm_ff : virtual public blockIn my code, I change it intoclass MY_MODULE_API my_block : virtual public blockThank you for your reply again.Best regards,Su Li2015-05-13 20:36 GMT+02:00 Peter Mathys <address@hidden>:I've had a similar problem when I generated files for my own module using the gr_modtool and then copied some existing code by replacing the file(s) that gr_modtool generates. It turns out I had overlooked that the new "my_block" name needs to be changed in several places, like the namespace declaration, the #include compiler directive, and the conditional #ifndef INCLUDED ... directives. Once I updated that correctly the AttributeError got resolved.
-Peter-
On 5/13/2015 10:38 AM, Su Li wrote:
Dear All,
I am trying to make an out of tree module by following the tutorial on Gnu radio website. I can write simple blocks in C++, compile it and install it to it usable in Gnuradio company.
But for some complex block, I want to implement them based on the gnuradio build-in blocks, for example, clock_recovery_mm_ff. So I make a new block in my out-of-tree module and try to first "copy" the build-in block into my out-of-tree module.
I changed the following 4 files in my OOT module to match the corresponding files of the build-in block:
lib/my_block_impl.cclib/my_block_impl.hinclude/my_block.hgrc/my_block.xml
In each file, I changed all the "clock_recovery_mm_ff" into "my_block".
I can successfully make and install the block without error and warring. But when I try to run the grc graph, an error happens.
AttributeError: 'module' object has no attribute 'my_block'.
Anyone can tell me what I should do to correct this error? Is there any other files I should change?
When I make simple blocks by myself, I only change this 4 files and it works.
Best regards,
Su Li
_______________________________________________ Discuss-gnuradio mailing list address@hidden https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Prev in Thread] | Current Thread | [Next in Thread] |