[Discuss-gnuradio] call set_output_multiple() on the fly

2010-11-25 Thread Kyle Zhou
I am writing a module that might need dynamic change to the block length.
So I want to call set_output_multiple(blk_len) when the flow graph is running.
Firstly, is this allowed?
Secondly, what are the effects? 
If I have a noutput_items%blk_len==0 checking in work(), will it fail during 
the transition?
Thanks
Kyle
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] call set_output_multiple() on the fly

2010-11-25 Thread Eric Blossom
On Thu, Nov 25, 2010 at 11:11:27PM +1100, Kyle Zhou wrote:
 I am writing a module that might need dynamic change to the block length.
 So I want to call set_output_multiple(blk_len) when the flow graph is running.
 Firstly, is this allowed?
 Secondly, what are the effects? 
 If I have a noutput_items%blk_len==0 checking in work(), will it fail 
 during the transition?
 Thanks
 Kyle

There is no guarantee that set_output_multiple will work if you change
it on the fly.

It is possible that you could specify a value for set_output_multiple
that would require reallocation of the impacted buffers.  We do not do
that. 

Eric

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] call set_output_multiple() on the fly

2010-11-25 Thread Kyle Zhou

On 26/11/2010 11:28 AM, Eric Blossom wrote:

There is no guarantee that set_output_multiple will work if you change
it on the fly.

It is possible that you could specify a value for set_output_multiple
that would require reallocation of the impacted buffers.  We do not do
that.

Eric



Thanks Eric.
How about set_relative_rate()? can I call it on the fly?
Another question: is it thread safe to modify the module's member 
variables from outside the work()?

Kyle

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] call set_output_multiple() on the fly

2010-11-25 Thread Eric Blossom
On Fri, Nov 26, 2010 at 11:55:50AM +1100, Kyle Zhou wrote:
 On 26/11/2010 11:28 AM, Eric Blossom wrote:
 There is no guarantee that set_output_multiple will work if you change
 it on the fly.
 
 It is possible that you could specify a value for set_output_multiple
 that would require reallocation of the impacted buffers.  We do not do
 that.
 
 Eric
 
 
 Thanks Eric.
 How about set_relative_rate()? can I call it on the fly?

Small changes are OK.  Large changes have the same problem as
set_output_multiple. 

 Another question: is it thread safe to modify the module's member
 variables from outside the work()?

In general no, unless you do something to make it safe yourself.

Eric

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio