|Subject:||Re: [Discuss-gnuradio] How to dynamically stop the host PC receiving samples from USRP and restart it again without touching the top block?|
|Date:||Thu, 31 May 2012 13:46:39 -0500|
I had a post on this recently, wish I could find it in the archives...
On 05/30/2012 06:33 PM, Alex Zhang wrote:
> In my applications, after the flow graph is initialized, I need to
> dynamically control the receiving of the USRP samples, i.e, at time T1, I
> want the USRP to transfer the received samples to PC, while in T2, I do not
> allow the PC to receive these samples.
> Stop receiving the unusing packets from USRP can save the traffic over
> ethernet and decrease the demands of processing resource on host PC.
> the gr_mute block seems only suppress the incoming packets to further
> processing, but these unusing samples can still come into the flow graph.
> Also, the tb.run and tb.wait can be executed more than twice as wish, but
> it seems to be not so flexible. It would be good if there some commands
> called to control the block of uhd.usrp_source to achieve such purpose?
So, the problem with stopping streaming is that the work function will
return zero and the scheduler marks the block as done.
So, if you take this changeset here. You should be able to stop and
restart a running USRP without problem.
Use the following methods on the block:
and if you want to be precise about time, call
usrp->set_stream_time(...) before calling start()
> Discuss-gnuradio mailing list
Discuss-gnuradio mailing list
|[Prev in Thread]||Current Thread||[Next in Thread]|