A reconfiguring the flow graph question

Hi,

I have several processing chains I need to switch in and out of my flow
graph. What I have is several chains that look like

filter1->quad_demod1-> …
filter2->quad_demod2-> …

Can I not connect the chains together first and then just switch them in
and out ?

Say chain 2 was the one connected to the source as
usrp_source -> filter2 -> …

Can I not switch to chain 1 by

top_block->lock();
top_block->disconnect(usrp_source, 0, filter2, 0);
top_block->connect(usrp_source, 0, filter1, 0);
top_block->unlock();

When I try to connect the chains together at startup I’m getting a seg
fault with the following line. Its the first line where I connect the
first chain together.

top_block->connect(filter1, 0, quad_demod1, 0);

What am I not understanding about this?

thanks
Steve

On 06/16/2012 07:18 AM, Stephen wrote:

and out ?

You may want to checkout the stream selector block in this project, as
opposed to stopping and disconnecting:

When I try to connect the chains together at startup I’m getting a seg
fault with the following line. Its the first line where I connect the
first chain together.

top_block->connect(filter1, 0, quad_demod1, 0);

What am I not understanding about this?

I recommend taking a look at a gdb traceback. But if I had to guess,
filter1 or quad_demod could be an empty shared pointer → ie not
initialized.

-josh

On 6/16/2012 11:29 AM, Josh B. wrote:

You may want to checkout the stream selector block in this project, as
opposed to stopping and disconnecting:

thanks I’ll look at that.

I recommend taking a look at a gdb traceback. But if I had to guess,
filter1 or quad_demod could be an empty shared pointer → ie not
initialized.

I have but it’s 4 or 5 levels down inside of boost. both filter1 and the
quad_demod block appear to be valid. In the filter block I can call
set_center_freq and in the demod block I can call set_gain. Both of
those calls work.

stephen

On 6/16/2012 11:29 AM, Josh B. wrote:

You may want to checkout the stream selector block in this project, as
opposed to stopping and disconnecting:

that looks like it will do exactly what i need. But I’m having trouble
figuring out how to use set_paths. For the case of one input with
multiple outputs and the case of multiple inputs and one output.

steve