discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Custom Block Issue


From: Jonathan Fox
Subject: Re: [Discuss-gnuradio] Custom Block Issue
Date: Fri, 3 Aug 2012 16:03:30 -0400

Mark this one resolved. I was just missing something from my XML file.

On Tue, Jul 31, 2012 at 4:59 PM, Jonathan Fox <address@hidden> wrote:
Thanks. I completely forgot about the filters in the front of the flowgraph. Removing them fixed the problem.

I still have not figured out the vector thing though.

-Jon


On Tue, Jul 31, 2012 at 1:11 AM, Josh Blum <address@hidden> wrote:


On 07/30/2012 11:20 AM, Jonathan Fox wrote:
> On Fri, Jul 27, 2012 at 6:12 PM, Josh Blum <address@hidden> wrote:
>
>>
>>
>> On 07/27/2012 02:01 PM, Jonathan Fox wrote:
>>> I am trying to create a custom block that does energy detection. I used
>> the
>>> gr-modtool.py to generate the appropriate directory and files and added
>> my
>>> algorithm and necessary code to the header and cc. I also added the XML
>>> file for the GRC It compiled without error but when I tried testing it
>> out,
>>> I got this error:
>>>
>>> linux; GNU C++ version 4.6.3; Boost_104601; UHD_003.004.002-181-g25649781
>>>
>>> Traceback (most recent call last):
>>>   File "/home/jonfox/spectrum_sensing_test.py", line 21, in <module>
>>>     import specsense
>>>   File "/usr/local/lib/python2.7/dist-packages/specsense/__init__.py",
>> line
>>> 45, in <module>
>>>     from specsense_swig import *
>>>   File
>>> "/usr/local/lib/python2.7/dist-packages/specsense/specsense_swig.py",
>> line
>>> 26, in <module>
>>>     _specsense_swig = swig_import_helper()
>>>   File
>>> "/usr/local/lib/python2.7/dist-packages/specsense/specsense_swig.py",
>> line
>>> 22, in swig_import_helper
>>>     _mod = imp.load_module('_specsense_swig', fp, pathname, description)
>>> ImportError: libgnuradio-specsense.so: cannot open shared object file: No
>>> such file or directory
>>>
>>
>> First off, does the file really exist, if not is it installed, but under
>> the wrong name or wrong directory?
>>
>> If its there, sometimes running sudo ldconfig fixes issues like this.
>>
>>> specsense is the module I created with the modtool but I did not modify
>> the
>>> swig file. Any ideas on what I did wrong here?
>>>
>>> Also, it seems that my code for having a vector input does not hold up
>> and
>>> I have to manually change the input type in the appropriate python script
>>> despite setting it in GRC already. Is there any documentation on adding
>>> vector inputs and outputs?
>>>
>>
>> any code snippets with the problem that you can post?
>> -josh
>>
>> _______________________________________________
>> Discuss-gnuradio mailing list
>> address@hidden
>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>
>
> Sudo ldconfig worked. Now I get this:
>
> Traceback (most recent call last):
>   File "/home/jonfox/gnuradio/spectrum_sensing_test.py", line 214, in
> <module>
>     tb.Run(True)
>   File
> "/usr/local/lib/python2.7/dist-packages/grc_gnuradio/wxgui/top_block_gui.py",
> line 76, in Run
>     self.start()
>   File "/usr/local/lib/python2.7/dist-packages/gnuradio/gr/top_block.py",
> line 97, in start
>     self._tb.start(max_noutput_items)
>   File
> "/usr/local/lib/python2.7/dist-packages/gnuradio/gr/gnuradio_core_runtime.py",
> line 1768, in start
>     return _gnuradio_core_runtime.gr_top_block_sptr_start(self,
> max_noutput_items)
> RuntimeError: gr_buffer_add_reader: nzero_preload must be >= 0
>

Looks like thats what happens when history is initialized to something
<= 0. Perhaps something is not initialized in your app or defaulted to zero?

Perhaps a set of filter taps is empty, they often affect how history()
is set

-josh

~/src/gnuradio/gnuradio-core/src/lib/runtime$ grep gr_buffer_add_reader *
gr_buffer.cc:gr_buffer_add_reader (gr_buffer_sptr buf, int
nzero_preload, gr_block_sptr link)
gr_buffer.cc:    throw std::invalid_argument("gr_buffer_add_reader:
nzero_preload must be >= 0");
gr_buffer.h:  friend GR_CORE_API gr_buffer_reader_sptr
gr_buffer_add_reader (gr_buffer_sptr buf, int nzero_preload,
gr_block_sptr link);
gr_buffer.h:gr_buffer_add_reader (gr_buffer_sptr buf, int nzero_preload,
gr_block_sptr link=gr_block_sptr());
gr_buffer.h:  gr_buffer_add_reader (gr_buffer_sptr buf, int
nzero_preload, gr_block_sptr link);
gr_buffer.i:%rename(buffer_add_reader) gr_buffer_add_reader;
gr_buffer.i:gr_buffer_reader_sptr gr_buffer_add_reader (gr_buffer_sptr
buf, int nzero_preload, gr_block_sptr link);
gr_flat_flowgraph.cc:    detail->set_input(dst_port,
gr_buffer_add_reader(src_buffer, grblock->history()-1, grblock));
gr_flat_flowgraph.cc:     detail->set_input(i,
gr_buffer_add_reader(src_buffer, block->history()-1, block));



reply via email to

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