Thanks Kevin. I ended up calling the python method os.stat.st_size on the IQ file that the flowgraph will transmit, converted that file size to a time duration in seconds considering the sample size and rate, start the flowgraph, then have a sleep function that checks for a flag every 100 milliseconds to stop the flowgraph if necessary. I always do a tb.stop() followed by a tb.wait(), because I assume that .stop() is not blocking but .wait() is blocking and this is the best practice way to prematurely stop a flowgraph. Or is the .wait() necessary?
Thanks. On Sat, Sep 28, 2019 at 10:43 PM Kevin Reid <kpr...@switchb.org> wrote: > > On Sat, Sep 28, 2019 at 6:34 PM Andrew Payne <wandr...@gmail.com> wrote: >> >> I have a short IQ file that I simply want to play once without repeating, >> and I want the calling Python code to "know" when it's completed after >> commanding the GR class instance to start via a call to tb.start(), if tb is >> the class instance variable. > > > Call > tb.start() > tb.wait() > tb.stop() > in that order. The call to wait() will block until the flow graph finishes. > > If you need to do something else while waiting, you can create another thread > from Python (threading.Thread) and either have it call tb.wait() or have it > do the other work, whichever suits your application. _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio