== Using two RFNoC streams simultaneously on a single USRP device == === Description === This example shows how to run two concurrent streams (RX or TX) on a single USRP device using GNU Radio on Orbit Wireless Testbed. The example assumes usage of node 21-1 on the Grid, along with the USRP node 23-1. However, any node connected to a USRP X310 may be used instead. Information on SDR availability on particular nodes can be found on [https://www.orbit-lab.org/cPanel/controlPanel/start Orbit] by clicking on ''Status Page'', then on ''grid'', and then filtering the displayed nodes by SDR devices equipped. === Set Up === 1. Make a reservation on [https://www.orbit-lab.org/cPanel/controlPanel/start Orbit] to use the Grid. 2. Make sure the node of interest is turned off: {{{username@console.grid:~$ omf tell -a offh -t node21-1}}} 3. Load the ''rfnoc-tutorial.ndz'' image onto the node. Note that this process might take several minutes. {{{username@console.grid:~$ omf load -i rfnoc-tutorial.ndz -t node21-1}}} 4. Turn on the node. After issuing the "on" command, wait a couple of minutes for the node to boot up. {{{username@console.grid:~$ omf tell -a on -t node21-1}}} 5. Connect to the node using SSH with X11 tunneling enabled: {{{username@console.grid:~$ ssh -Y root@node21-1}}} === Running the Simulation === After the node is imaged, make sure the USRP device connected at 10.10.23.1 is imaged with the required RFNoC FPGA image. The implemented RFNoC blocks on the currently loaded image can be checked by running {{{uhd_usrp_probe --args "type=x300,addr=10.10.23.1"}}} The RFNoC blocks will be shown at the very end of the listing that appears. If the required blocks are not listed, the image that contains several useful blocks can be loaded by running {{{uhd_image_loader --fpga-path /usr/local/share/uhd/images/usrp_x310_fpga_RFNOC_HG.bit --args "type=x300,addr=10.10.23.1"}}} When a new image is loaded, the USRP needs to be power cycled. In order to do this, run the following commands from the grid console (not from the node21-1 itself): {{{ username@console.grid:~$ omf tell -a offh -t node23-1 username@console.grid:~$ omf tell -a on -t node23-1 }}} || [[Image(grc-scrot.png, width=1200px)]] ||