You don't need to do anything at all. Just loop. Maybe sleep so you don't soak up a whole CPU.
Nick On Fri, Feb 23, 2018, 1:10 PM Adam Kurisko <adamk...@outlook.com> wrote: > Hey Nick, > > Below is the code I am using to setup my streamers and issue the stream > cmd. I know it would exit immediately when run, but I just wanted to see if > this all looks correct or if there might be some additional steps I may > need. Also, in order to get it streaming continuously before calling the > stop signal I am going to need a while loop, but what should I include in > this loop since the send and recv functions are now off the table? > > radio_ctrl->set_rx_streamer(true, radio_chan); > radio_ctrl->set_tx_streamer(true, radio_chan); > > std::signal(SIGINT, &sig_int_handler); > std::cout << "Press Ctrl + C to stop streaming..." << std::endl; > > uhd::stream_cmd_t > stream_cmd(uhd::stream_cmd_t::STREAM_MODE_START_CONTINUOUS); > stream_cmd.stream_now = true; > radio_ctrl->issue_stream_cmd(stream_cmd); > > stream_cmd.stream_mode = > uhd::stream_cmd_t::STREAM_MODE_STOP_CONTINUOUS; > std::cout << "Issueing stop stream cmd" << std::endl; > radio_ctrl->issue_stream_cmd(stream_cmd); > std::cout << "Done" << std::endl; > > Thanks for helping me out, > Adam > > ------------------------------ > *From:* Nick Foster <bistrom...@gmail.com> > *Sent:* Friday, February 23, 2018 2:51:46 PM > > *To:* Adam Kurisko > *Cc:* usrp-users@lists.ettus.com > *Subject:* Re: [USRP-users] [E310 RFNoC] TX RX Loopback bypassing the ARM > processor > That should work. > > On Fri, Feb 23, 2018 at 11:45 AM Adam Kurisko <adamk...@outlook.com> > wrote: > > Nick, > > > I went back through the loopback tricks you sent and found that my > at_reset parameter on the SR_RX_CTRL_OUTPUT_FORMAT settings register had > not been switched to 0, so I have corrected that. and timestamping should > now be disabled. > > > I have been using rfnoc_rx_to_file as reference for making my own C++ > example and it seems that the 'uhd::device3' class does not have the > 'set_rx_streamer' function. As a result, I have been calling the function > using the 'uhd::rfnoc::radio_ctrl' class to set the streamer and issue the > stream command via > > 'radio_ctrl->set_rx_streamer(true, radio_chan)' > > 'radio_ctrl->set_tx_streamer(true, radio_chan)' > > 'radio_ctrl->issue_stream_cmd(stream_cmd)' > > > Is that fine for activating and issuing the streamers or should I 'make()' > my device using the 'uhd::usrp::multi_usrp' class instead? > > > Thanks, > > Adam > ------------------------------ > *From:* Nick Foster <bistrom...@gmail.com> > *Sent:* Friday, February 23, 2018 2:16:19 PM > > *To:* Adam Kurisko > *Cc:* usrp-users@lists.ettus.com > *Subject:* Re: [USRP-users] [E310 RFNoC] TX RX Loopback bypassing the ARM > processor > Have you verified timestamps are disabled? And have you issued a stream > command to the RX as well as set_rx_streamer()? To be clear, I haven't > tried E310 loopback with any UHD version later than the date of the article > (4/22/17), but I don't believe significant changes have happened which > would affect loopback since then (maybe someone from Ettus could chime in). > > I don't think you'll be able to run at full DSP clock rate -- set the > device to stream at (say) 10Msps on RX and TX first and then increase it > from there. > > send() and recv() are strictly functions to submit and receive data from > the ARM (PS) to the FPGA (PL) and vice versa. They are not necessary for > loopback. > > Nick > > On Fri, Feb 23, 2018 at 10:26 AM Adam Kurisko <adamk...@outlook.com> > wrote: > > Hey Nick, > > > Thanks for the quick reply. > > > I have already disabled time stamping and initiated the streamers and it > compiles and runs on my board, however when I run it the LEDs on the RX2 > and TRX frontend do not light up, so I am lead to believe that it > actually might not be streaming. > > > Just for clarification, Do the 'uhd::tx_streamer::send()' and > 'uhd::rx_streamer::recv()' functions route the signal to buffers on the > ARM host or the fpga? I ask that because those functions seem to be the > only way that I can get those LEDs on the frontend to light up signifying > that the device is actually streaming. > > > Thanks, > > Adam > ------------------------------ > *From:* Nick Foster <bistrom...@gmail.com> > *Sent:* Friday, February 23, 2018 1:01:42 PM > *To:* Adam Kurisko > *Cc:* usrp-users@lists.ettus.com > *Subject:* Re: [USRP-users] [E310 RFNoC] TX RX Loopback bypassing the ARM > processor > > 1. yes > 2. RFNoC > > I refer back to a post I wrote detailing loopback in the FPGA. It doesn't > work "out of the box" but can be made to with minor modification. > > https://corvid.io/2017/04/22/stupid-rfnoc-tricks-loopback/ > > If you haven't used RFNoC before you should probably take on the Getting > Started guide first: > https://kb.ettus.com/Getting_Started_with_RFNoC_Development > > Nick > > On Fri, Feb 23, 2018 at 9:28 AM Adam Kurisko via USRP-users < > usrp-users@lists.ettus.com> wrote: > > Hello all, > > > I am trying to utilize the full performance of the E310 and it seems like > the Arm processor is the bottleneck in this scenario. I know the AD9361 is > wired straight into the fpga, so it would make sense that a strictly bare > metal loopback is possible. > > > Is it possible to stream data straight from RX to TX without sending or > receiving from the host ARM processor? And if so, how would I do this? > > > Please let me know. > > > Thank you, > > Adam > _______________________________________________ > USRP-users mailing list > USRP-users@lists.ettus.com > http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com > >
_______________________________________________ USRP-users mailing list USRP-users@lists.ettus.com http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com