|
From: | Adrian Musceac |
Subject: | Re: [Discuss-gnuradio] How to find out if device sink is finished writing samples to radio |
Date: | Tue, 17 Sep 2019 08:44:55 +0000 |
Hi Adrian - It's non-trivial to determine the state of the buffers from inside blocks, but with the correct C++ class/type coercion it can be done -- even if you're not supposed to do that. I don't recommend doing so, of course. Thinking there will be a better way to do what you're hoping to do. - MLDOn Mon, Sep 16, 2019 at 11:41 AM Adrian Musceac <address@hidden> wrote:Hi Kevin,_______________________________________________
Thanks for the answer, unfortunately in my case I want to keep the flowgraph running and I'd need a way to check the state of the block buffers. Maybe I can do that with a custom block before the source or maybe I should rethink my approach.
AdrianOn September 16, 2019 2:42:06 PM UTC, Kevin Reid <address@hidden> wrote:On Mon, Sep 16, 2019 at 4:22 AM Adrian Musceac <address@hidden> wrote:So far I haven't found a way (callback?) to tell when the last sample is out of the flowgraph. I am using the C++ API of GNU radio.The wait() method of a top_block will block the calling thread until all items have passed through.Note that this will only succeed if your source blocks indicate there are no more items, by returning -1 (gr::block::WORK_DONE). Vector and file sources and other such standard fixed-length sources do, but if your source is merely emitting no items at this time (e.g. a network source that's not currently receiving packets) the flow graph will still be running waiting for more. I do not know of a way to ask for "when all buffers are currently empty", if that's what you need.
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
--Michael Dickens, Mac OS X Programmer
Ettus Research Technical Support
Email: address@hidden
Web: http://www.ettus.com
[Prev in Thread] | Current Thread | [Next in Thread] |