# Re: scheduled transmission using tx\_timed\_samples.cpp

**URL:** <https://www.ruby-forum.com/t/re-scheduled-transmission-using-tx-timed-samples-cpp/228733>\
**Category:** GNU Radio\
**Created:** [May 6, 2013, 7:13am UTC](https://www.ruby-forum.com/t/re-scheduled-transmission-using-tx-timed-samples-cpp/228733 "2013-05-06T07:13:44Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sam\_mite](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/f4b2a3/32.png) [@Sam\_mite](https://www.ruby-forum.com/u/Sam_mite)\
**Post date:** [May 6, 2013, 7:13am UTC](https://www.ruby-forum.com/t/re-scheduled-transmission-using-tx-timed-samples-cpp/228733/1 "2013-05-06T07:13:44Z")

</div>

> The time printed here after the ack is a little larger than 5 seconds,  
> so you can see that the USRP must have held off transmission until 5  
> seconds and then send the ACK for the end of burst.
> 
> -josh
> 
> Thanks josh, I got the idea. Also, I verified by looking at the LED “A” on  
> USRP N210, which lights almost after 5 seconds. 🙂

I thought this should be discussed on gnruadio, so added gnuradio list.  
I  
want to convert tx\_timed\_samples.cpp into python. Can I do that? How can  
I  
make a “multi\_usrp” ? Also, How can I use a block’s data instead of  
buffer ?  
e.g  
tx\_stream-\>send(DATA\_FROM\_SOME\_BLOCK\_IN\_FLOWGRPAH, samps\_to\_send, md,  
timeout);

Further, what could be the minimum value of “seconds\_in\_future” ? In my  
case, When I set it to 0.3 or below I get following

Waiting for async burst ACK… fail

What does it mean ?

Thanks

–

Regards,

Sam

---

<div class="post-metadata">

**Author:** ![Sam\_mite](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/f4b2a3/32.png) [@Sam\_mite](https://www.ruby-forum.com/u/Sam_mite)\
**Post date:** [May 6, 2013, 7:38am UTC](https://www.ruby-forum.com/t/re-scheduled-transmission-using-tx-timed-samples-cpp/228733/2 "2013-05-06T07:38:52Z")

</div>

> 

The gr-uhd blocks that come with gnuradio integrate the USRP streaming  
into gnuradio’s data flow. You can create gnuradio blocks or use  
existing blocks to interact with the USRP data streams. In addition, the  
stream tags are used to control things like transmit time:

I think you will find some of the links here informative:

[http://code.ettus.com/redmine/ettus/projects/uhd/wiki/GNU\_Radio\_UHD#Using-UHD-Software-with-GNU-Radio](http://code.ettus.com/redmine/ettus/projects/uhd/wiki/GNU_Radio_UHD#Using-UHD-Software-with-GNU-Radio)

> Further, what could be the minimum value of “seconds\_in\_future” ? In my  
> case, When I set it to 0.3 or below I get following
> 
> Waiting for async burst ACK… fail
> 
> What does it mean ?

The time delta between time on the device and time on a packet about to  
be sent can actually be on the order of 100s of microseconds. However,  
in this example, there is an expensive operation of setting up the  
transmit streamer thats happening with in the time specified, so I think  
thats why you are seeing 300 milliseconds fail. I think the transmit  
time in this case has become “late” when the USRP interprets the packet.

-josh
