discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] OOT Module using external function


From: Ali
Subject: Re: [Discuss-gnuradio] OOT Module using external function
Date: Fri, 5 May 2017 16:38:12 +0300

Hi,

Under gr-TUTORIAL/lib there is myfunction_impl and myfunction_impl.cc files which gr_modtool itself created. 
MATLAB Coder gives .h, .cpp and .obj files. I put them under the same directory(gr-TUTORIAL/lib).
Then what I do is including all .h files that MATLAB generated inside two files that gr_modtool generated(I wrote #include ... in both .h and .cc file). 

In the following part of the .cc file I tried to use the function that MATLAB generated.

------------------------------

int myfunction_impl::general_work(...)
{
const float *input1 = ..
..

for (int i=; i<noutput_items; i++)
{
my_function(...)
}

consume_each(noutput_items);
return noutput_items;
}

--------------------------------

I don't know how to link .obj files to my module? Could you suggest a piece of code?

Or after the things that I told now, is there any major mistake that I am doing?

Thanks,
Ali





2017-05-04 17:12 GMT+03:00 West, Nathan <address@hidden>:
You have an external object that you need to link your module to. That cpp file from matlab gets compiled to an object file somehow-- you haven't specified how. Then you need to link your block to that object.

On Wed, May 3, 2017 at 2:39 AM, do ber <address@hidden> wrote:
Hi to all, 

I am trying to create my own GNURadio block(OOT). I will use an external function generated by MATLAB Coder. MATLAB Coder gives the necessary .cpp and .h files. In the main module .cc file, which gr_modtool automatically creates I am including all the header files created by MATLAB Coder. Then under the work function of module I am just using my main function generated from MATLAB.

Input/output declarations are ok, so there is no error during make, cmake, make install processes. When I open the GNURadio I see my block. Bu there are some problems:

When I comment my external function (i.e. when I did not use my external function) block works(do  nothing but works) and there is information in "Documentation tab" as all the normal blocks have. 
But when I uncomment my external function (i.e. when I used my external function under work function) I get the following error in GNURadio and there is no information on "Documentation page", there is only a blank page.

self.TUTORIAL_myblock_0 = TUTORIAL.myblock(6)
AttributeError:'module' object has no attribute 'myblock'

Here, 6 is the antenna number in my project. It is the only argument that I enter into my block.

So, I searched the literature but I could not find any project using functions from external file. For example, there is an example "My_QPSK_Demodulator" which is using get_minimum_distance function but it is a small function and is also defined inside the main module code. 

** In short, I have myblock.cc and myblock.h files. Also, I have function .cpp and .h files. I want to use that function inside myblock.cc 

What are your suggestions? Is there any example using this approach? That would be awesome.

Regards,
Ali

_______________________________________________
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]