<div dir="ltr"><div>Greetings EJ,</div><div><br></div><div>So, from the tutorial, they have you edit the gain.xml file, and this is what I have for it. <br></div><div><br></div><div><?xml version="1.0"?><br><!--Default XML file--><br><nocblock><br>  <name>gain</name><br>  <blockname>gain</blockname><br>  <ids><br>    <id revision="0">B7DD64941A952AAC</id><br>  </ids><br>  <!-- Registers --><br>  <registers><br>    <setreg><br>      <name>Gain</name><br>      <address>128</address><br>    </setreg><br>  </registers><br>  <!-- Args --><br>  <args><br>    <args><br>      <name>gain</name><br>      <type>double</type><br>      <value>1.0</value><br>      <check>GE($gain, 0.0) AND LE($gain, 32767.0)</check><br>      <check_message>Invalid Gain!</check_message><br>      <action><br>        SR_WRITE("GAIN", IROUND($gain))<br>      </action><br>    </args><br>  </args><br>  <!--One input, one output. If this is used, better have all the info the C++ file.--><br>  <ports><br>    <sink><br>      <name>in0</name><br>      <type>sc16</name><br>    </sink><br>    <source><br>      <name>out0</name><br>      <type>sc16</name><br>    </source><br>  </ports><br></nocblock></div><div><br></div><div>There is an args value and it is declared as gain. <br></div><div><br></div><div>So from there, I followed your second suggestion and tried to find where it was installed when I did the cross compile. It was not placed in the "GRC_BLOCKS_PATH" of "/share/gnuradio/grc/blocks" like the default RFNoC blocks. It was instead placed in "/share/uhd/rfnoc/bocks" so I added that to the setup.env file, included below. <br></div><div><br></div><div>LOCALPREFIX=~/newinstall/usr<br>export PATH=$LOCALPREFIX/bin:$PATH<br>export LD_LOAD_LIBRARY=$LOCALPREFIX/lib:$LD_LOAD_LIBRARY<br>export LD_LIBRARY_PATH=$LOCALPREFIX/lib:$LD_LIBRARY_PATH<br>export PYTHONPATH=$LOCALPREFIX/lib/python2.7/site-packages:$PYTHONPATH<br>export PKG_CONFIG_PATH=$LOCALPREFIX/lib/pkgconfig:$PKG_CONFIG_PATH<br>export GRC_BLOCKS_PATH=$LOCALPREFIX/share/gnuradio/grc/blocks:$GRC_BLOCKS_PATH<br>export UHD_RFNOC_DIR=$LOCALPREFIX/share/uhd/rfnoc/<br>export UHD_IMAGES_DIR=$LOCALPREFIX/share/uhd/images<br>export GRC_BLOCKS_PATH=$LOCALPREFIX/share/uhd/rfnoc/blocks:$GRC_BLOCKS_PATH</div><div><br></div><div>Unfortunately, after re-sourcing the setup.env, I still get the same message. <br></div><div><br></div><div>  File "rfnoc_myGain_usrp.py", line 223, in <module><br>    main()<br>  File "rfnoc_myGain_usrp.py", line 212, in main<br>    tb = top_block_cls(fpga_path=options.fpga_path, rx_gain=options.rx_gain, rx_digital_gain=options.rx_digital_gain, rx_freq=options.rx_freq, host_ip_addr=options.host_ip_addr)<br>  File "rfnoc_myGain_usrp.py", line 117, in __init__<br>    self.tutorial_gain_0.set_arg("gain", rx_digital_gain)<br>  File "/home/root/newinstall/usr/lib/python2.7/site-packages/tutorial/tutorial_swig.py", line 315, in set_arg<br>    return _tutorial_swig.gain_sptr_set_arg(self, *args)<br>RuntimeError: LookupError: Path not found in tree: /mboards/0/xbar/gain_0/args/0/gain/value</div><div><br></div><div>I looked at some of your examples (which have been very helpful to get me this far) from what I believe is your github someone linked me. Everything appears to match what it should, for what gain is trying to accomplish. <br></div><div><br></div><div>Regards,</div><div>Jon<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Nov 21, 2019 at 3:27 PM EJ Kreinar <<a href="mailto:ejkreinar@gmail.com">ejkreinar@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Hi Jon,<div dir="auto"><br></div><div dir="auto">The rfnoc "nocscript" xml definition can create arguments and attach to the device tree like you are trying to set there (it's not compiled directly, but rather created dynamically from the xml definition)</div><div dir="auto"><br></div><div dir="auto">Recommended debugging...</div><div dir="auto">1. Check your OOT gain block xml (in rfnoc/blocks) and make sure it has a "gain" field in the "args" list. You'll also want to make sure it writes your desired register, but I don't think you're even getting that far</div><div dir="auto">2. Make sure the block xml is installed on the e310 embedded prefix and is found at run time during uhd_usrp_probe and when running your application. If it's not in the right place or not attaching to your block then it won't create the gain argument</div><div dir="auto"><br></div><div dir="auto">I'm guessing it's one of those two possibilities... </div><div dir="auto">EJ</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Nov 21, 2019, 3:19 PM Jonathan Lockhart via USRP-users <<a href="mailto:usrp-users@lists.ettus.com" rel="noreferrer" target="_blank">usrp-users@lists.ettus.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Greetings,</div><div><br></div><div>I was able to get the ARM cross compile working. I removed the build directory and re-sourced the dev environment and then the cross-compile used the -mfloar=hard flag. Not sure what caused the issue earlier and why it wasn't picking it up. <br></div><div><br></div><div>Now I have a different issue. So I have completed this guide: <a href="https://kb.ettus.com/Getting_Started_with_RFNoC_Development" rel="noreferrer noreferrer" target="_blank">https://kb.ettus.com/Getting_Started_with_RFNoC_Development</a></div><div><br></div><div>I modified the GNURadio just a bit so that the output from gain was placed on a ZMQ push, and the graphics were on the host to graph the signal (seen in the screenshots below).</div><div><br></div><div><img src="https://mail.google.com/mail/?ui=2&ik=1ae818862e&attid=0.1&th=16e8fa0d29d41a0b&view=fimg&rm=16e8fa0d29d41a0b&sz=w1600-h1000&attbid=ANGjdJ9y7gFvlLamcYxSJn6AlQPaOWxC-yKbQfs66eomTeFYM6q3_niAOKNUXc1Zg3SMXvqL5kKB2WW0iVIUpeHmo3J5jnu8i5PrKbSufhNtuNcli1NuCSF6ANVjs9A&disp=emb&realattid=ii_k395j53q0&zw" alt="Screenshot from 2019-11-21 15-06-33.jpg" width="566" height="323"></div><div><br></div><div><div><div><img src="https://mail.google.com/mail/?ui=2&ik=1ae818862e&attid=0.2&th=16e8fa0d29d41a0b&view=fimg&rm=16e8fa0d29d41a0b&sz=w1600-h1000&attbid=ANGjdJ-pgUA2IxgobGph9ydEXrRSxBiZ2abKuAIUC6-7E30-eRFqzoPp7Si4HBspS4AqGUMX1xI3FnJFhwEqKs4fyPQ6s4_qFai45x5QazbWRR2aPlrFaKrc6EfeGhw&disp=emb&realattid=ii_k395j8qd1&zw" alt="Screenshot from 2019-11-21 15-010-44.jpg" width="566" height="335"><br></div></div><div><br></div><div>However, when I run the top file for the USRP, I am running into this error. <br></div><div><br></div><div>Traceback (most recent call last):<br>  File "rfnoc_myGain_usrp.py", line 223, in <module><br>    main()<br>  File "rfnoc_myGain_usrp.py", line 212, in main<br>    tb = top_block_cls(fpga_path=options.fpga_path, rx_gain=options.rx_gain, rx_digital_gain=options.rx_digital_gain, rx_freq=options.rx_freq, host_ip_addr=options.host_ip_addr)<br>  File "rfnoc_myGain_usrp.py", line 117, in __init__<br>    self.tutorial_gain_0.set_arg("gain", rx_digital_gain)<br>  File "/home/root/newinstall/usr/lib/python2.7/site-packages/tutorial/tutorial_swig.py", line 315, in set_arg<br>    return _tutorial_swig.gain_sptr_set_arg(self, *args)<br>RuntimeError: LookupError: Path not found in tree: /mboards/0/xbar/gain_0/args/0/gain/value</div><div><br></div><div>No where else in building GNURadio scripts and .bit files does this "/mboards" arise, and I have looked through my verilog file for gain (gain.v) and it is correct per the instructions in the linked guide, and I built the python and gnuradio hook exactly as the instructions stated to. <br></div><div><br></div><div>Anyone have an troubleshooting ideas b/c I am currently at a loss. It did past the test bench they have you build with no issues. <br></div><div><br></div><div>Regards,</div><div></div><div></div><div>Jon</div><div><br></div><div><br></div><div><br></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Nov 20, 2019 at 3:21 PM Jonathan Lockhart <<a href="mailto:jlockhartrt@gmail.com" rel="noreferrer noreferrer" target="_blank">jlockhartrt@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div>Greetings,</div><div><br></div><div>I am having some issues completing the RFNOC build tutorial on the Ettus E312. The reference documentation is using an X3xx series radio, and from the final python script it appears to be running the GNR script natively on the host. I built the exact script from the KB but when running on the radio it fails stating it can't "import tutorial." I realized all the files that were installed were placed on the host but not cross compiled for the E3xx using the SDK and ARM cross compile tool. I tried to complete this task, but unfortunately the compilation dies here. </div><div><br></div><div>/home/jon/rfnoc/oe/sysroots/armv7ahf-vfp-neon-oe-linux-gnueabi/usr/include/gnu/stubs.h:7:11: fatal error: gnu/stubs-soft.h: No such file or directory<br> # include <gnu/stubs-soft.h><br>           ^~~~~~~~~~~~~~~~~~<br>compilation terminated.</div><div><br></div><div>Now I did find the stubs-soft.h file in the libc6-dev-armel-cross in the apt repo. I installed it and tried to cp the file into the /home/jon/rfnoc/oe/sysroots/armv7ahf-vfp-neon-oe-linux-gnueabi/usr/include/gnu/ location but it still doesn't like that. I verified that on my echo $CC that the -mfloat is set to hard as shown here.</div><div><br></div><div>jon@jon-OptiPlex-9020:~/rfnoc/src/rfnoc-tutorial$ echo $CC<br>arm-oe-linux-gnueabi-gcc -march=armv7-a -mfloat-abi=hard -mfpu=neon --sysroot=/home/jon/rfnoc/oe/sysroots/armv7ahf-vfp-neon-oe-linux-gnueabi</div><div><br></div><div>So I am not sure why the gain module in the tutorial is looking for the soft file. <br></div><div><br></div><div>If anyone has experience in porting their OOT modules over to the E-series of radios I would appreciate the help. <br></div><div><br></div><div>Regards,</div><div>Jon<br></div></div></div>
</blockquote></div></div>
_______________________________________________<br>
USRP-users mailing list<br>
<a href="mailto:USRP-users@lists.ettus.com" rel="noreferrer noreferrer" target="_blank">USRP-users@lists.ettus.com</a><br>
<a href="http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com" rel="noreferrer noreferrer noreferrer" target="_blank">http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com</a><br>
</blockquote></div>
</blockquote></div>