discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] gdb help


From: Johnathan Corgan
Subject: Re: [Discuss-gnuradio] gdb help
Date: Fri, 9 Jan 2009 07:24:51 -0800

On Fri, Jan 9, 2009 at 2:34 AM, Sebastiaan Heunis <address@hidden> wrote:

> I think the unconnected output port is because I need to first connect
> the filterbank to the USRP and then connect one of the channels to
> whatever I want to do with it.  The code breaks in either the
> self.connect(self.u,pfb) or the
> self.connect((pfb,5),self.guts,self.volume_control,audio_sink) line.
> I suspect that it is the former.

What I think is happening is two-fold.  First, you need to have all
the outputs of the filterbank connected to *something*, or you end up
with an invalid topology.  This causes an C++ exception to occur.
Normally, this gets translated into a Python traceback and you get
some sensible output.  However, we've been battling a bug for sometime
now that keeps creeping back in, where C++ exceptions don't propagate
back up to Python and instead you get a segfault or abort.

If you have output #5 of pfb connected, then outputs 0-4 need to be
connected also.  gr.null_sink(gr.sizeof_gr_complex) would be fine
here.

To change which channel is being output, in your code, you call lock()
on the flowgraph/topblock object, call disconnect(...) for the
connection between the pfb output and the self.guts block,
disconnect() again for the new pfb output and the null sink, then
reconnect in the opposite sense.  Finally, call unlock(), which will
"recompile" the flowgraph and restart the scheduler.

-Johnathan

-Johnathan




reply via email to

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