Okay I am using the default scheduler. So now I have enabled the logging for the appropriate thread-per-block scheduler files.
Here's the heart of my problem. My flow graph has five blocks, A, B, C, D, E. Output of A is input to B and C. Output of C is input to D. Output of B and D are input to E. Block A is a file source. Block B has a 1-to-1 input to output function. Block C breaks the samples from A into partitions of N samples. The block does its function over the N samples. Then it outputs the resulting N values. Block D looks at the input and produces an enable signal. The curious feature, due to implementation, is that this block will only output the enable signal high once it detects the enable going back low. Block E takes the inputs from B and D and only outputs the values of B when D (the enable) is high. Running this flow graph hangs. Looking at the log files produced for each block I see that blocks A & B are BLKD_OUT and blocks C, D & E are BLKD_IN. In this scenario, an enable signal will exist over a partition boundary, say starts at N-10 and ends at N+10. At the point of hanging: Block A has produced N values. Block B has consumed N values and produced N values. Block C has consumed N values and produced N values. Block D has consumed N values and produced N-10 values. Block E has consumed N-10 values. If only block A would produce the next N values the system would chug along. To those smarter than I, is there anything obvious as to why this is stalling the flow graph? How does the buffers work in this case? Block C's input buffer is empty and ready. Block B has 10 values left in it's output buffer, but shouldn't it be able to produce more outputs? Thanks again in advance, EF -- View this message in context: http://www.nabble.com/Scheduler-Help-Question-tp21223608p21236789.html Sent from the GnuRadio mailing list archive at Nabble.com. _______________________________________________ Discuss-gnuradio mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
