Hi Scott, You'll find uhd_streamer.cpp at <https://public.me.com/mepard>.
Some things you should know: * It doesn't use gnu-radio, but uses UHD directly. (We should move to the usrp-users list if you want to continue the discussion.) * It can do two UHD transmits and one receive at the same time. * It transmits and receives from RAM. It loads the transmit files into RAM first, then does simultaneous tx and rx, storing the received data in RAM, and finally stores the received data in a file. This makes it immune to disk performance issues, but limits the amount of data you can send and receive. * It can be invoked multiple times simultaneously and uses a lock file to arbitrate access to the radios. You'll need to pre-create the lock file as described in a comment in the code. * It can run in standalone, client, or server modes. The client-server scheme saves time when doing a bunch of operations in a row by not having to reconfigure everything about the radios every time. One instance of the server and multiple clients can run at the same time. Access to the server's fifos is controlled by the lock file. All of this is because we do our signal processing offline in normal, single-threaaded MATLAB. To keep our hefty Ubuntu box and the USRPs busy, we create multiple instance of MATAB each with a list of tx/rx tasks to perform. They each use MATLAB's unix() function to invoke uhd_streamer, which serializes access to the radios. We tune the number of instances to keep the radios busy, but not overflow main memory. HTH. -Marc _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio