discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Problems when trying to make out of tree modules


From: Su Li
Subject: Re: [Discuss-gnuradio] Problems when trying to make out of tree modules
Date: Thu, 14 May 2015 14:33:03 +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 block

In my code, I change it into 

class MY_MODULE_API my_block : virtual public block

Thank you for your reply again. 

Best regards,

Su Li

   


2015-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.cc  
lib/my_block_impl.h
include/my_block.h
grc/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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]