On Wed, Nov 2, 2011 at 16:43, Marcus D. Leech <mle...@ripnet.com> wrote:

>
> To be clear, the problem appears to be with the block itself.   GRC
> correctly adds the "set_delay" callback spooge.
>
> But calling that callback in the C++ code doesn't appear to affect the
> delay.
>

Changing the delay via the callback changes the history requirements of the
block, which will not take effect until the thread executing the work()
function returns, and could be hundreds or thousands of items in the
future.  But it does take effect eventually.

One way to change this behavior would be to implement the pattern used in
the FIR blocks for when the number of taps changes.  Changing the delay
would set a flag that the work function could check for and return
immediately.  However, this wold come a high price, as the work() function
currently uses memcpy to move data from the input to the output, and
instead you'd have to have an iterative loop with a conditional equality
check in the middle.

Johnathan
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to