Thanks. At first blush this looks like it should work to me. I'll try it out here.
Nick On Thu, Dec 14, 2017 at 11:37 AM Jack Ziegler <jacka...@gmail.com> wrote: > *Trying to do loopback with a rfnoc rx radio connect to a rfnoc tx radio. > (running at 56e6 Msps with the E310/E312). This is with no host connections > *third gen E310 > * [UHDlinux; GNU C++ version 4.9.2; Boost_105700; > UHD_4.0.0.rfnoc-devel-369-g1908672f] > , with modifications from the "stupid rfnoc tricks webpage" > *python is listed below, note the typed in changes (extra from the grc > generation) as reccomended by the "stupid rfnoc tricks webpage" > > stream_cmd = > uhd.stream_cmd_t(uhd.stream_cmd_t.STREAM_MODE_START_CONTINUOUS) > self.uhd_rfnoc_streamer_radio_0_0.issue_stream_cmd(stream_cmd) > self.uhd_rfnoc_streamer_radio_0_0.set_tx_streamer(True,0) > > *expect to see both the rx2 and trx lights on and the signal being > transmitted > *The flowgraph runs with output in the terminal as one would expect, but > there are no lights on the rx2 and trx and no signal transmitted > > Also note that I have tried rebuilding the bitstream file with this change > making .at_reset(1'b1) now 1'b0 > > setting_reg #(.my_addr(SR_RX_CTRL_OUTPUT_FORMAT), .width(1), > .at_reset(1'b0)) sr_output_format ( > .clk(clk),.rst(reset),.strobe(set_stb),.addr(set_addr), > .in(set_data),.out(use_timestamps),.changed()); > > and get the same result (otherwise I don't specify the fpga image and use > the default one) > > this is the output > " > [INFO] [UHDlinux; GNU C++ version 4.9.2; Boost_105700; > UHD_4.0.0.rfnoc-devel-369-g1908672f] > [INFO] [E300] Loading FPGA image: /home/root/e300_thres_0time.bit... > [INFO] [E300] FPGA image loaded > [INFO] [E300] Initializing core control (global registers)... > > [INFO] [E300] Performing register loopback test... > [INFO] [E300] Register loopback test passed > [INFO] [RFNOC RADIO] Register loopback test passed > [INFO] [RFNOC RADIO] Register loopback test passed > [INFO] [AD936X] Performing CODEC loopback test... > [INFO] [AD936X] CODEC loopback test passed > [INFO] [AD936X] Performing CODEC loopback test... > [INFO] [AD936X] CODEC loopback test passed > [INFO] [CORES] Performing timer loopback test... > [INFO] [CORES] Timer loopback test passed > [INFO] [CORES] Performing timer loopback test... > [INFO] [CORES] Timer loopback test passed > [INFO] [CORES] Performing timer loopback test... > [INFO] [CORES] Timer loopback test passed > [INFO] [RFNOC] Assuming max packet size for 0/Radio_0 > > " > And the lights on e310 don't turn on.... > > > > > Thanks > > Jack > > #!/usr/bin/env python2 > # -*- coding: utf-8 -*- > ################################################## > # GNU Radio Python Flow Graph > # Title: Radioradioonly > # Generated: Tue Dec 5 13:40:36 2017 > ################################################## > > if __name__ == '__main__': > import ctypes > import sys > if sys.platform.startswith('linux'): > try: > x11 = ctypes.cdll.LoadLibrary('libX11.so') > x11.XInitThreads() > except: > print "Warning: failed to XInitThreads()" > > from PyQt4 import Qt > from gnuradio import eng_notation > from gnuradio import gr > from gnuradio import uhd > from gnuradio.eng_option import eng_option > from gnuradio.filter import firdes > from gnuradio.qtgui import Range, RangeWidget > from optparse import OptionParser > import ettus > import sys > from gnuradio import qtgui > > > class radioradioonly(gr.top_block, Qt.QWidget): > > def __init__(self): > gr.top_block.__init__(self, "Radioradioonly") > Qt.QWidget.__init__(self) > self.setWindowTitle("Radioradioonly") > qtgui.util.check_set_qss() > try: > self.setWindowIcon(Qt.QIcon.fromTheme('gnuradio-grc')) > except: > pass > self.top_scroll_layout = Qt.QVBoxLayout() > self.setLayout(self.top_scroll_layout) > self.top_scroll = Qt.QScrollArea() > self.top_scroll.setFrameStyle(Qt.QFrame.NoFrame) > self.top_scroll_layout.addWidget(self.top_scroll) > self.top_scroll.setWidgetResizable(True) > self.top_widget = Qt.QWidget() > self.top_scroll.setWidget(self.top_widget) > self.top_layout = Qt.QVBoxLayout(self.top_widget) > self.top_grid_layout = Qt.QGridLayout() > self.top_layout.addLayout(self.top_grid_layout) > > self.settings = Qt.QSettings("GNU Radio", "radioradioonly") > self.restoreGeometry(self.settings.value("geometry").toByteArray()) > > > ################################################## > # Variables > ################################################## > self.device3 = variable_uhd_device3_0 = > ettus.device3(uhd.device_addr_t( ",".join(('', > "fpga=/home/root/e300_thres_0time.bit")) )) > self.txgain = txgain = 40 > self.samp_rate = samp_rate = 8e6 > self.rxgain = rxgain = 80 > self.center_f = center_f = 2.4e9 > > ################################################## > # Blocks > ################################################## > self._rxgain_range = Range(1., 85, .0001, 40, 200) > self._rxgain_win = RangeWidget(self._rxgain_range, > self.set_rxgain, 'rxgain', "counter_slider", float) > self.top_layout.addWidget(self._rxgain_win) > self._center_f_range = Range(2.4e9, 2.55e9, 1e4, 2.4e9, 200) > self._center_f_win = RangeWidget(self._center_f_range, > self.set_center_f, 'center_f', "counter_slider", float) > self.top_layout.addWidget(self._center_f_win) > self.uhd_rfnoc_streamer_radio_0_0 = ettus.rfnoc_radio( > self.device3, > uhd.stream_args( # Tx Stream Args > cpu_format="fc32", > otw_format="sc16", > args='', > ), > uhd.stream_args( # Rx Stream Args > cpu_format="fc32", > otw_format="sc16", > args="", # empty > ), > 0, -1 > ) > self.uhd_rfnoc_streamer_radio_0_0.set_rate(samp_rate) > for i in xrange(1): > self.uhd_rfnoc_streamer_radio_0_0.set_tx_freq(center_f, i) > self.uhd_rfnoc_streamer_radio_0_0.set_tx_gain(rxgain, i) > self.uhd_rfnoc_streamer_radio_0_0.set_tx_dc_offset(True, i) > > self.uhd_rfnoc_streamer_radio_0_0.set_tx_antenna("TX/RX", 0) > > self.uhd_rfnoc_streamer_radio_0 = ettus.rfnoc_radio( > self.device3, > uhd.stream_args( # Tx Stream Args > cpu_format="fc32", > otw_format="sc16", > args="", # empty > ), > uhd.stream_args( # Rx Stream Args > cpu_format="fc32", > otw_format="sc16", > args='', > ), > 0, -1 > ) > self.uhd_rfnoc_streamer_radio_0.set_rate(samp_rate) > for i in xrange(1): > self.uhd_rfnoc_streamer_radio_0.set_rx_freq(2.4e9, i) > self.uhd_rfnoc_streamer_radio_0.set_rx_gain(rxgain, i) > self.uhd_rfnoc_streamer_radio_0.set_rx_dc_offset(True, i) > > self.uhd_rfnoc_streamer_radio_0.set_rx_bandwidth(56e6, 0) > > self.uhd_rfnoc_streamer_radio_0.set_rx_antenna("RX2", 0) > > self._txgain_range = Range(1., 85, .0001, 40, 200) > self._txgain_win = RangeWidget(self._txgain_range, > self.set_txgain, 'txgain', "counter_slider", float) > self.top_layout.addWidget(self._txgain_win) > self._thres_range = Range(.0001, 33000., .0001, 1., 200) > self.top_layout.addWidget(self._thres_win) > > > > ################################################## > # Connections > ################################################## > > self.device3.connect(self.uhd_rfnoc_streamer_radio_0.get_block_id(), 0, > self.uhd_rfnoc_streamer_radio_0_0.get_block_id(), 0) > > stream_cmd = > uhd.stream_cmd_t(uhd.stream_cmd_t.STREAM_MODE_START_CONTINUOUS) > self.uhd_rfnoc_streamer_radio_0_0.issue_stream_cmd(stream_cmd) > self.uhd_rfnoc_streamer_radio_0_0.set_tx_streamer(True,0) > > > def closeEvent(self, event): > self.settings = Qt.QSettings("GNU Radio", "radioradioonly") > self.settings.setValue("geometry", self.saveGeometry()) > event.accept() > > def get_variable_uhd_device3_0(self): > return self.variable_uhd_device3_0 > > def set_variable_uhd_device3_0(self, variable_uhd_device3_0): > self.variable_uhd_device3_0 = variable_uhd_device3_0 > > def get_txgain(self): > return self.txgain > > def set_txgain(self, txgain): > self.txgain = txgain > > def get_thres(self): > return self.thres > > def set_thres(self, thres): > self.thres = thres > > def get_samp_rate(self): > return self.samp_rate > > def set_samp_rate(self, samp_rate): > self.samp_rate = samp_rate > self.uhd_rfnoc_streamer_radio_0_0.set_rate(self.samp_rate) > self.uhd_rfnoc_streamer_radio_0.set_rate(self.samp_rate) > > def get_rxgain(self): > return self.rxgain > > def set_rxgain(self, rxgain): > self.rxgain = rxgain > for i in xrange(1): > self.uhd_rfnoc_streamer_radio_0_0.set_tx_gain(self.rxgain, i) > for i in xrange(1): > self.uhd_rfnoc_streamer_radio_0.set_rx_gain(self.rxgain, i) > > def get_center_f(self): > return self.center_f > > def set_center_f(self, center_f): > self.center_f = center_f > for i in xrange(1): > self.uhd_rfnoc_streamer_radio_0_0.set_tx_freq(self.center_f, i) > > > def main(top_block_cls=radioradioonly, options=None): > > from distutils.version import StrictVersion > if StrictVersion(Qt.qVersion()) >= StrictVersion("4.5.0"): > style = gr.prefs().get_string('qtgui', 'style', 'raster') > Qt.QApplication.setGraphicsSystem(style) > qapp = Qt.QApplication(sys.argv) > > tb = top_block_cls() > tb.start() > tb.show() > > def quitting(): > tb.stop() > tb.wait() > qapp.connect(qapp, Qt.SIGNAL("aboutToQuit()"), quitting) > qapp.exec_() > > > if __name__ == '__main__': > main() > > On Thu, Nov 30, 2017 at 5:23 PM, Nick Foster <bistrom...@gmail.com> wrote: > >> You need to help us before we can help you. Can you tell me: >> >> * What you're actually trying to do >> * Your hardware setup >> * Your UHD version >> * Your flowgraph >> * The results you expect >> * The results you actually observe >> >> Then maybe we can help. >> >> Nick >> >> On Thu, Nov 30, 2017 at 4:44 PM Jack Ziegler <jacka...@gmail.com> wrote: >> >>> I tried doing the changes in uhd, and gr-ettus. I also tried changing >>> that register value to 0 for the fpga and making a new e300.bit file. >>> Any recommendations on how to troubleshoot? Also as I referenced, I'm >>> doing this on a new e312 usrp. >>> >>> Thanks, >>> Jack >>> >>> On Wed, Nov 29, 2017 at 10:36 PM, Nick Foster <bistrom...@gmail.com> >>> wrote: >>> >>>> It should still apply. Is there something specific you're having >>>> trouble with? >>>> >>>> On Wed, Nov 29, 2017, 10:06 PM Jack Ziegler via USRP-users < >>>> usrp-users@lists.ettus.com> wrote: >>>> >>>>> Has anyone recently tried rfnoc loopback? >>>>> I tried following these directions: >>>>> https://corvid.io/2017/04/22/stupid-rfnoc-tricks-loopback/ >>>>> they are dated from last April. Not sure if I missed a step or maybe >>>>> there is something new in gr-ettus and uhd-devel? >>>>> >>>>> Thanks, >>>>> >>>>> Jack Ziegler >>>>> _______________________________________________ >>>>> 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