On Fri, Jun 24, 2011 at 4:02 PM, Josh Blum
<address@hidden> wrote:
> Maybe a better solution would be to use the UHD stream commands? Is it
> possible to issue a sequence of stream commands and have them executed
> serially by the USRP?
>
> Example:
> * Issue command to send Z samples at clock value M
> * Issue command to receive X samples at clock value N
> * Issue command to send Y samples immediately based on the decoded received
> samples
>
You can absolutely do this. For send, this is an issue of tagging the
stream with times and with start/end of burst. For receive, its done
through issuing stream commands, we would need to swig up the
issue_stream_command() call in the source block:
http://www.ettus.com/uhd_docs/doxygen/html/structuhd_1_1stream__cmd__t.html
One thing to point out:
The gr-uhd source block expects samples to keep coming or it times out
(something like a 1 second timeout). So there needs to be a way to block
the source block's work function when its not reasonable to be receiving
any samples. A simple solution might be to implement a mode where the
source block continually re-tries after each timeout as long as the
block has not been stopped (stop() called).
-josh