Hi Martin,

>to be fair, this problem is not what you asked for in your initial post.


You are right. I realized it only during my second post. Apologies for not 
being clear during the first time.

>A couple of notes:
>- The output buffer does not have to be "full" in order for the scheduler
>to call the following downstream block.

Good to know.

>- Undeterministic latency is one inherent problem of GNU Radio
>- 200 ms seems a bit much, though. Have you tried decreasing the buffer
>sizes between blocks? (Try set_max_output_buffer()).

So far, I have added the following line in the constructor of my custom block:
std::cout << max_output_buffer(0) << std::endl;
which returns -1. Does it mean some default value? If so, what is that value? 
Also, what is the range of value for 'size' in set_max_output_buffer(size)?


>- How many blocks are between your custom block and the UHD sink? Lots
>of blocks == lots of latency.

My flowgraph is the following:

uhd usrp source -> LPF -> my custom block -> uhd usrp sink

So essentially, there is no other block between my custom block and uhd usrp 
sink.

I have another question for you. I have now split the above flowgraph into two 
separate flowgraphs as following:
uhd usrp source -> LPF -> my custom block_1
my custom block 2 -> uhd usrp sink
where I have divided the functionality of my original custom block into custom 
block 1 and custom block 2. Now, when I relay the information from custom block 
1 to custom block 2 by means of function probe, I get the error message 
AttributeError: 'gr_top_block_sptr' object has no attribute 
'my_custom_block_1_0' which is expected (because the two flowgraphs are 
separate and independent). How can I pass the info from custom block 1 to 
custom block 2 in this case?

Thanks,
Yu.
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to