Well that did do the trick, can't believe I missed that earlier, thanks for spotting that EJ.
Now I got a new error. The check for the value of gain is failing, yet the default valued loaded should be 1.0 if you look at the XML file. Here is the error. [TRACE] [RFNOC] [NocScript] Executing and asserting code: GE($gain, 0.0) AND LE($gain, 32767.0) Traceback (most recent call last): File "rfnoc_myGain_usrp.py", line 223, in <module> main() File "rfnoc_myGain_usrp.py", line 212, in main tb = top_block_cls(fpga_path=options.fpga_path, host_ip_addr=options.host_ip_addr, rx_digital_gain=options.rx_digital_gain, rx_freq=options.rx_freq, rx_gain=options.rx_gain) File "rfnoc_myGain_usrp.py", line 117, in __init__ self.tutorial_gain_0.set_arg("gain", rx_digital_gain) File "/home/root/newinstall/usr/lib/python2.7/site-packages/tutorial/tutorial_swig.py", line 315, in set_arg return _tutorial_swig.gain_sptr_set_arg(self, *args) RuntimeError: RuntimeError: [NocScript] Error: Invalid Gain! So the check message is firing b/c it failed the check, from my understanding, but 1.0 as a double is GE to 0.0 and LE to 32767.0. In running the alternate bit file with the "digital gain" RFNoC block from the gr-ettus files, it also gives the same failure. On Fri, Nov 22, 2019 at 2:05 PM Jonathan Lockhart <jlockhar...@gmail.com> wrote: > Well then, ran right over that in my troubleshooting. I am building a new > bit file now to validate the change to the XML as I had moved on to > something else. > > I will reply with the results. > > -Jon > > On Fri, Nov 22, 2019 at 1:12 PM EJ Kreinar <ejkrei...@gmail.com> wrote: > >> Oh! >> >> I suspect you want... >> >> <args> >> <arg> >> ... >> </arg> >> </args> >> >> (Rather than two nested "args") >> >> That ought to do it... >> EJ >> >> On Fri, Nov 22, 2019, 11:55 AM Jonathan Lockhart <jlockhar...@gmail.com> >> wrote: >> >>> So here is the trace for the gain block, and it certainly is loading the >>> right XML file it seems. 🤔 >>> >>> [DEBUG] [RFNOC] Reading XML file >>> /home/root/newinstall/usr/share/uhd/rfnoc/blocks/gain.xml for NOC ID >>> 0xB7DD64941A952AAC >>> [TRACE] [RFNOC] [RFNoC Factory] block_ctrl_base::make() >>> [DEBUG] [RFNOC] Reading XML file >>> /home/root/newinstall/usr/share/uhd/rfnoc/blocks/gain.xml for NOC ID >>> 0xB7DD64941A952AAC >>> [TRACE] [RFNOC] [RFNoC Factory] Using controller key 'gain' and block >>> name 'gain' >>> [DEBUG] [RFNOC] Reading XML file >>> /home/root/newinstall/usr/share/uhd/rfnoc/blocks/gain.xml for NOC ID >>> 0xB7DD64941A952AAC >>> [INFO] [0/gain_0] Initializing block control (NOC ID: 0xB7DD64941A952AAC) >>> [DEBUG] [0/gain_0] Checking compat number for FPGA component >>> `noc_shell': Expecting 5.1, actual: 5.1. >>> [TRACE] [0/gain_0] Adding port definition at xbar/gain_0/ports/in/0: >>> type = 'sc16' pkt_size = '0' vlen = '0' >>> [TRACE] [0/gain_0] Adding port definition at xbar/gain_0/ports/out/0: >>> type = 'sc16' pkt_size = '0' vlen = '0' >>> [DEBUG] [E300] [E300] Setting up dest map for host ep 112 to be stream 3 >>> >>> However I don't show it instantiating any of the args. I did vim the >>> file and it appears correct (output below). >>> >>> <?xml version="1.0"?> >>> <!--Default XML file--> >>> <nocblock> >>> <name>gain</name> >>> <blockname>gain</blockname> >>> <ids> >>> <id revision="0">B7DD64941A952AAC</id> >>> </ids> >>> <!-- Registers --> >>> <registers> >>> <setreg> >>> <name>GAIN</name> >>> <address>128</address> >>> </setreg> >>> </registers> >>> <!-- Args --> >>> <args> >>> <args> >>> <name>gain</name> >>> <type>double</type> >>> <value>1.0</value> >>> <check>GE($gain, 0.0) AND LE($gain, 32767.0)</check> >>> <check_message>Invalid Gain!</check_message> >>> <action> >>> SR_WRITE("GAIN", IROUND($gain)) >>> </action> >>> </args> >>> </args> >>> <!--One input, one output. If this is used, better have all the info >>> the C++ file.--> >>> <ports> >>> <sink> >>> <name>in0</name> >>> <type>sc16</type> >>> </sink> >>> <source> >>> <name>out0</name> >>> <type>sc16</type> >>> </source> >>> </ports> >>> </nocblock> >>> >>> >>> Regards, >>> Jon >>> >>> >>> >>> On Fri, Nov 22, 2019 at 10:51 AM Jonathan Lockhart < >>> jlockhar...@gmail.com> wrote: >>> >>>> NVM, I got it set. I am teasing through the long console output now. >>>> Might of wanted to set the file log instead. Live and learn. >>>> >>>> On Fri, Nov 22, 2019 at 10:20 AM EJ Kreinar <ejkrei...@gmail.com> >>>> wrote: >>>> >>>>> Good progress, agreed it looks like the gain arg isn't getting created >>>>> here... >>>>> >>>>> If you run with log level trace, rfnoc should (might?) indicate the >>>>> xml file it loaded. I'd try to find that xml and confirm it looks like >>>>> what >>>>> you expect, with the gain arg entry. >>>>> >>>>> Also, perhaps grep your prefix and share directories on the embedded >>>>> device to search for any other xml files that might match the noc id or >>>>> provide the same "gain" block... I've definitely fought with conflicting >>>>> xml definitions before, you might be seeing that here. >>>>> >>>>> EJ >>>>> >>>>> On Fri, Nov 22, 2019, 9:36 AM Jonathan Lockhart <jlockhar...@gmail.com> >>>>> wrote: >>>>> >>>>>> Hey EJ, >>>>>> >>>>>> Sorry for being slow I had to dig around to set that UHD Log >>>>>> variable, which easy enough it was just a simple export. I then ran >>>>>> uhd_usrp_probe with the --tree and setting the fpga to my bit file. Here >>>>>> is >>>>>> the output from the probe. >>>>>> >>>>>> root@ettus-e3xx-sg3:~# uhd_usrp_probe >>>>>> --args="fpga=./newinstall/e300.bit" --tree >>>>>> [INFO] [UHD] linux; GNU C++ version 4.9.2; Boost_105700; >>>>>> UHD_3.14.1.HEAD-0-g0347a6d8 >>>>>> [INFO] [E300] Loading FPGA image: ./newinstall/e300.bit... >>>>>> [INFO] [E300] FPGA image loaded >>>>>> [INFO] [E300] Detecting internal GPS >>>>>> .... [INFO] [E300] GPSDO found >>>>>> [INFO] [E300] Initializing core control (global registers)... >>>>>> >>>>>> [INFO] [E300] Performing register loopback test... >>>>>> [INFO] [E300] Register loopback test passed >>>>>> [INFO] [0/Radio_0] Initializing block control (NOC ID: >>>>>> 0x12AD100000000000) >>>>>> [WARNING] [RFNOC] Can't find a block controller for key gain, using >>>>>> default block controller! >>>>>> [INFO] [0/gain_0] Initializing block control (NOC ID: >>>>>> 0xB7DD64941A952AAC) >>>>>> [INFO] [0/DDC_0] Initializing block control (NOC ID: >>>>>> 0xDDC0000000000000) >>>>>> [WARNING] [RFNOC] Can't find a block controller for key FFT, using >>>>>> default block controller! >>>>>> [INFO] [0/FFT_0] Initializing block control (NOC ID: >>>>>> 0xFF70000000000000) >>>>>> / >>>>>> /name >>>>>> /mboards >>>>>> /mboards/0 >>>>>> /mboards/0/name >>>>>> /mboards/0/codename >>>>>> /mboards/0/fpga_version >>>>>> /mboards/0/fpga_version_hash >>>>>> /mboards/0/clock_source >>>>>> /mboards/0/clock_source/value >>>>>> /mboards/0/clock_source/options >>>>>> /mboards/0/sensors >>>>>> /mboards/0/sensors/temp >>>>>> /mboards/0/sensors/ref_locked >>>>>> /mboards/0/sensors/gps_locked >>>>>> /mboards/0/sensors/gps_time >>>>>> /mboards/0/sensors/gps_position >>>>>> /mboards/0/sensors/gps_gpgga >>>>>> /mboards/0/sensors/gps_gprmc >>>>>> /mboards/0/eeprom >>>>>> /mboards/0/dboards >>>>>> /mboards/0/dboards/A >>>>>> /mboards/0/dboards/A/rx_eeprom >>>>>> /mboards/0/dboards/A/tx_eeprom >>>>>> /mboards/0/dboards/A/gdb_eeprom >>>>>> /mboards/0/dboards/A/rx_frontends >>>>>> /mboards/0/dboards/A/rx_frontends/A >>>>>> /mboards/0/dboards/A/rx_frontends/A/name >>>>>> /mboards/0/dboards/A/rx_frontends/A/sensors >>>>>> /mboards/0/dboards/A/rx_frontends/A/sensors/temp >>>>>> /mboards/0/dboards/A/rx_frontends/A/sensors/rssi >>>>>> /mboards/0/dboards/A/rx_frontends/A/sensors/lo_locked >>>>>> /mboards/0/dboards/A/rx_frontends/A/gains >>>>>> /mboards/0/dboards/A/rx_frontends/A/gains/PGA >>>>>> /mboards/0/dboards/A/rx_frontends/A/gains/PGA/range >>>>>> /mboards/0/dboards/A/rx_frontends/A/gains/PGA/value >>>>>> /mboards/0/dboards/A/rx_frontends/A/connection >>>>>> /mboards/0/dboards/A/rx_frontends/A/enabled >>>>>> /mboards/0/dboards/A/rx_frontends/A/use_lo_offset >>>>>> /mboards/0/dboards/A/rx_frontends/A/bandwidth >>>>>> /mboards/0/dboards/A/rx_frontends/A/bandwidth/value >>>>>> /mboards/0/dboards/A/rx_frontends/A/bandwidth/range >>>>>> /mboards/0/dboards/A/rx_frontends/A/freq >>>>>> /mboards/0/dboards/A/rx_frontends/A/freq/range >>>>>> /mboards/0/dboards/A/rx_frontends/A/freq/value >>>>>> /mboards/0/dboards/A/rx_frontends/A/dc_offset >>>>>> /mboards/0/dboards/A/rx_frontends/A/dc_offset/enable >>>>>> /mboards/0/dboards/A/rx_frontends/A/iq_balance >>>>>> /mboards/0/dboards/A/rx_frontends/A/iq_balance/enable >>>>>> /mboards/0/dboards/A/rx_frontends/A/gain >>>>>> /mboards/0/dboards/A/rx_frontends/A/gain/agc >>>>>> /mboards/0/dboards/A/rx_frontends/A/gain/agc/enable >>>>>> /mboards/0/dboards/A/rx_frontends/A/gain/agc/mode >>>>>> /mboards/0/dboards/A/rx_frontends/A/gain/agc/mode/value >>>>>> /mboards/0/dboards/A/rx_frontends/A/gain/agc/mode/options >>>>>> /mboards/0/dboards/A/rx_frontends/A/filters >>>>>> /mboards/0/dboards/A/rx_frontends/A/filters/DEC_3 >>>>>> /mboards/0/dboards/A/rx_frontends/A/filters/DEC_3/value >>>>>> /mboards/0/dboards/A/rx_frontends/A/filters/FIR_1 >>>>>> /mboards/0/dboards/A/rx_frontends/A/filters/FIR_1/value >>>>>> /mboards/0/dboards/A/rx_frontends/A/filters/HB_1 >>>>>> /mboards/0/dboards/A/rx_frontends/A/filters/HB_1/value >>>>>> /mboards/0/dboards/A/rx_frontends/A/filters/HB_2 >>>>>> /mboards/0/dboards/A/rx_frontends/A/filters/HB_2/value >>>>>> /mboards/0/dboards/A/rx_frontends/A/filters/HB_3 >>>>>> /mboards/0/dboards/A/rx_frontends/A/filters/HB_3/value >>>>>> /mboards/0/dboards/A/rx_frontends/A/filters/LPF_BB >>>>>> /mboards/0/dboards/A/rx_frontends/A/filters/LPF_BB/value >>>>>> /mboards/0/dboards/A/rx_frontends/A/filters/LPF_TIA >>>>>> /mboards/0/dboards/A/rx_frontends/A/filters/LPF_TIA/value >>>>>> /mboards/0/dboards/A/rx_frontends/A/antenna >>>>>> /mboards/0/dboards/A/rx_frontends/A/antenna/options >>>>>> /mboards/0/dboards/A/rx_frontends/A/antenna/value >>>>>> /mboards/0/dboards/A/rx_frontends/B >>>>>> /mboards/0/dboards/A/rx_frontends/B/name >>>>>> /mboards/0/dboards/A/rx_frontends/B/sensors >>>>>> /mboards/0/dboards/A/rx_frontends/B/sensors/temp >>>>>> /mboards/0/dboards/A/rx_frontends/B/sensors/rssi >>>>>> /mboards/0/dboards/A/rx_frontends/B/sensors/lo_locked >>>>>> /mboards/0/dboards/A/rx_frontends/B/gains >>>>>> /mboards/0/dboards/A/rx_frontends/B/gains/PGA >>>>>> /mboards/0/dboards/A/rx_frontends/B/gains/PGA/range >>>>>> /mboards/0/dboards/A/rx_frontends/B/gains/PGA/value >>>>>> /mboards/0/dboards/A/rx_frontends/B/connection >>>>>> /mboards/0/dboards/A/rx_frontends/B/enabled >>>>>> /mboards/0/dboards/A/rx_frontends/B/use_lo_offset >>>>>> /mboards/0/dboards/A/rx_frontends/B/bandwidth >>>>>> /mboards/0/dboards/A/rx_frontends/B/bandwidth/value >>>>>> /mboards/0/dboards/A/rx_frontends/B/bandwidth/range >>>>>> /mboards/0/dboards/A/rx_frontends/B/freq >>>>>> /mboards/0/dboards/A/rx_frontends/B/freq/range >>>>>> /mboards/0/dboards/A/rx_frontends/B/freq/value >>>>>> /mboards/0/dboards/A/rx_frontends/B/dc_offset >>>>>> /mboards/0/dboards/A/rx_frontends/B/dc_offset/enable >>>>>> /mboards/0/dboards/A/rx_frontends/B/iq_balance >>>>>> /mboards/0/dboards/A/rx_frontends/B/iq_balance/enable >>>>>> /mboards/0/dboards/A/rx_frontends/B/gain >>>>>> /mboards/0/dboards/A/rx_frontends/B/gain/agc >>>>>> /mboards/0/dboards/A/rx_frontends/B/gain/agc/enable >>>>>> /mboards/0/dboards/A/rx_frontends/B/gain/agc/mode >>>>>> /mboards/0/dboards/A/rx_frontends/B/gain/agc/mode/value >>>>>> /mboards/0/dboards/A/rx_frontends/B/gain/agc/mode/options >>>>>> /mboards/0/dboards/A/rx_frontends/B/filters >>>>>> /mboards/0/dboards/A/rx_frontends/B/filters/DEC_3 >>>>>> /mboards/0/dboards/A/rx_frontends/B/filters/DEC_3/value >>>>>> /mboards/0/dboards/A/rx_frontends/B/filters/FIR_1 >>>>>> /mboards/0/dboards/A/rx_frontends/B/filters/FIR_1/value >>>>>> /mboards/0/dboards/A/rx_frontends/B/filters/HB_1 >>>>>> /mboards/0/dboards/A/rx_frontends/B/filters/HB_1/value >>>>>> /mboards/0/dboards/A/rx_frontends/B/filters/HB_2 >>>>>> /mboards/0/dboards/A/rx_frontends/B/filters/HB_2/value >>>>>> /mboards/0/dboards/A/rx_frontends/B/filters/HB_3 >>>>>> /mboards/0/dboards/A/rx_frontends/B/filters/HB_3/value >>>>>> /mboards/0/dboards/A/rx_frontends/B/filters/LPF_BB >>>>>> /mboards/0/dboards/A/rx_frontends/B/filters/LPF_BB/value >>>>>> /mboards/0/dboards/A/rx_frontends/B/filters/LPF_TIA >>>>>> /mboards/0/dboards/A/rx_frontends/B/filters/LPF_TIA/value >>>>>> /mboards/0/dboards/A/rx_frontends/B/antenna >>>>>> /mboards/0/dboards/A/rx_frontends/B/antenna/options >>>>>> /mboards/0/dboards/A/rx_frontends/B/antenna/value >>>>>> /mboards/0/dboards/A/tx_frontends >>>>>> /mboards/0/dboards/A/tx_frontends/A >>>>>> /mboards/0/dboards/A/tx_frontends/A/name >>>>>> /mboards/0/dboards/A/tx_frontends/A/sensors >>>>>> /mboards/0/dboards/A/tx_frontends/A/sensors/temp >>>>>> /mboards/0/dboards/A/tx_frontends/A/sensors/lo_locked >>>>>> /mboards/0/dboards/A/tx_frontends/A/gains >>>>>> /mboards/0/dboards/A/tx_frontends/A/gains/PGA >>>>>> /mboards/0/dboards/A/tx_frontends/A/gains/PGA/range >>>>>> /mboards/0/dboards/A/tx_frontends/A/gains/PGA/value >>>>>> /mboards/0/dboards/A/tx_frontends/A/connection >>>>>> /mboards/0/dboards/A/tx_frontends/A/enabled >>>>>> /mboards/0/dboards/A/tx_frontends/A/use_lo_offset >>>>>> /mboards/0/dboards/A/tx_frontends/A/bandwidth >>>>>> /mboards/0/dboards/A/tx_frontends/A/bandwidth/value >>>>>> /mboards/0/dboards/A/tx_frontends/A/bandwidth/range >>>>>> /mboards/0/dboards/A/tx_frontends/A/freq >>>>>> /mboards/0/dboards/A/tx_frontends/A/freq/range >>>>>> /mboards/0/dboards/A/tx_frontends/A/freq/value >>>>>> /mboards/0/dboards/A/tx_frontends/A/filters >>>>>> /mboards/0/dboards/A/tx_frontends/A/filters/FIR_1 >>>>>> /mboards/0/dboards/A/tx_frontends/A/filters/FIR_1/value >>>>>> /mboards/0/dboards/A/tx_frontends/A/filters/HB_1 >>>>>> /mboards/0/dboards/A/tx_frontends/A/filters/HB_1/value >>>>>> /mboards/0/dboards/A/tx_frontends/A/filters/HB_2 >>>>>> /mboards/0/dboards/A/tx_frontends/A/filters/HB_2/value >>>>>> /mboards/0/dboards/A/tx_frontends/A/filters/HB_3 >>>>>> /mboards/0/dboards/A/tx_frontends/A/filters/HB_3/value >>>>>> /mboards/0/dboards/A/tx_frontends/A/filters/INT_3 >>>>>> /mboards/0/dboards/A/tx_frontends/A/filters/INT_3/value >>>>>> /mboards/0/dboards/A/tx_frontends/A/filters/LPF_BB >>>>>> /mboards/0/dboards/A/tx_frontends/A/filters/LPF_BB/value >>>>>> /mboards/0/dboards/A/tx_frontends/A/filters/LPF_SECONDARY >>>>>> /mboards/0/dboards/A/tx_frontends/A/filters/LPF_SECONDARY/value >>>>>> /mboards/0/dboards/A/tx_frontends/A/antenna >>>>>> /mboards/0/dboards/A/tx_frontends/A/antenna/options >>>>>> /mboards/0/dboards/A/tx_frontends/A/antenna/value >>>>>> /mboards/0/dboards/A/tx_frontends/B >>>>>> /mboards/0/dboards/A/tx_frontends/B/name >>>>>> /mboards/0/dboards/A/tx_frontends/B/sensors >>>>>> /mboards/0/dboards/A/tx_frontends/B/sensors/temp >>>>>> /mboards/0/dboards/A/tx_frontends/B/sensors/lo_locked >>>>>> /mboards/0/dboards/A/tx_frontends/B/gains >>>>>> /mboards/0/dboards/A/tx_frontends/B/gains/PGA >>>>>> /mboards/0/dboards/A/tx_frontends/B/gains/PGA/range >>>>>> /mboards/0/dboards/A/tx_frontends/B/gains/PGA/value >>>>>> /mboards/0/dboards/A/tx_frontends/B/connection >>>>>> /mboards/0/dboards/A/tx_frontends/B/enabled >>>>>> /mboards/0/dboards/A/tx_frontends/B/use_lo_offset >>>>>> /mboards/0/dboards/A/tx_frontends/B/bandwidth >>>>>> /mboards/0/dboards/A/tx_frontends/B/bandwidth/value >>>>>> /mboards/0/dboards/A/tx_frontends/B/bandwidth/range >>>>>> /mboards/0/dboards/A/tx_frontends/B/freq >>>>>> /mboards/0/dboards/A/tx_frontends/B/freq/range >>>>>> /mboards/0/dboards/A/tx_frontends/B/freq/value >>>>>> /mboards/0/dboards/A/tx_frontends/B/filters >>>>>> /mboards/0/dboards/A/tx_frontends/B/filters/FIR_1 >>>>>> /mboards/0/dboards/A/tx_frontends/B/filters/FIR_1/value >>>>>> /mboards/0/dboards/A/tx_frontends/B/filters/HB_1 >>>>>> /mboards/0/dboards/A/tx_frontends/B/filters/HB_1/value >>>>>> /mboards/0/dboards/A/tx_frontends/B/filters/HB_2 >>>>>> /mboards/0/dboards/A/tx_frontends/B/filters/HB_2/value >>>>>> /mboards/0/dboards/A/tx_frontends/B/filters/HB_3 >>>>>> /mboards/0/dboards/A/tx_frontends/B/filters/HB_3/value >>>>>> /mboards/0/dboards/A/tx_frontends/B/filters/INT_3 >>>>>> /mboards/0/dboards/A/tx_frontends/B/filters/INT_3/value >>>>>> /mboards/0/dboards/A/tx_frontends/B/filters/LPF_BB >>>>>> /mboards/0/dboards/A/tx_frontends/B/filters/LPF_BB/value >>>>>> /mboards/0/dboards/A/tx_frontends/B/filters/LPF_SECONDARY >>>>>> /mboards/0/dboards/A/tx_frontends/B/filters/LPF_SECONDARY/value >>>>>> /mboards/0/dboards/A/tx_frontends/B/antenna >>>>>> /mboards/0/dboards/A/tx_frontends/B/antenna/options >>>>>> /mboards/0/dboards/A/tx_frontends/B/antenna/value >>>>>> /mboards/0/global_regs >>>>>> /mboards/0/global_regs/misc >>>>>> /mboards/0/global_regs/pll >>>>>> /mboards/0/tick_rate >>>>>> /mboards/0/xbar >>>>>> /mboards/0/xbar/Radio_0 >>>>>> /mboards/0/xbar/Radio_0/noc_id >>>>>> /mboards/0/xbar/Radio_0/input_buffer_size >>>>>> /mboards/0/xbar/Radio_0/input_buffer_size/0 >>>>>> /mboards/0/xbar/Radio_0/input_buffer_size/1 >>>>>> /mboards/0/xbar/Radio_0/mtu >>>>>> /mboards/0/xbar/Radio_0/mtu/0 >>>>>> /mboards/0/xbar/Radio_0/mtu/1 >>>>>> /mboards/0/xbar/Radio_0/ports >>>>>> /mboards/0/xbar/Radio_0/ports/in >>>>>> /mboards/0/xbar/Radio_0/ports/in/0 >>>>>> /mboards/0/xbar/Radio_0/ports/in/1 >>>>>> /mboards/0/xbar/Radio_0/ports/out >>>>>> /mboards/0/xbar/Radio_0/ports/out/0 >>>>>> /mboards/0/xbar/Radio_0/ports/out/1 >>>>>> /mboards/0/xbar/Radio_0/args >>>>>> /mboards/0/xbar/Radio_0/args/0 >>>>>> /mboards/0/xbar/Radio_0/args/0/spp >>>>>> /mboards/0/xbar/Radio_0/args/0/spp/type >>>>>> /mboards/0/xbar/Radio_0/args/0/spp/value >>>>>> /mboards/0/xbar/Radio_0/args/1 >>>>>> /mboards/0/xbar/gain_0 >>>>>> /mboards/0/xbar/gain_0/noc_id >>>>>> /mboards/0/xbar/gain_0/input_buffer_size >>>>>> /mboards/0/xbar/gain_0/input_buffer_size/0 >>>>>> /mboards/0/xbar/gain_0/mtu >>>>>> /mboards/0/xbar/gain_0/mtu/0 >>>>>> /mboards/0/xbar/gain_0/registers >>>>>> /mboards/0/xbar/gain_0/registers/sr >>>>>> /mboards/0/xbar/gain_0/registers/sr/Gain >>>>>> /mboards/0/xbar/gain_0/ports >>>>>> /mboards/0/xbar/gain_0/ports/in >>>>>> /mboards/0/xbar/gain_0/ports/in/0 >>>>>> /mboards/0/xbar/gain_0/ports/out >>>>>> /mboards/0/xbar/gain_0/ports/out/0 >>>>>> /mboards/0/xbar/gain_0/args >>>>>> /mboards/0/xbar/gain_0/args/0 >>>>>> /mboards/0/xbar/DDC_0 >>>>>> /mboards/0/xbar/DDC_0/noc_id >>>>>> /mboards/0/xbar/DDC_0/input_buffer_size >>>>>> /mboards/0/xbar/DDC_0/input_buffer_size/0 >>>>>> /mboards/0/xbar/DDC_0/input_buffer_size/1 >>>>>> /mboards/0/xbar/DDC_0/mtu >>>>>> /mboards/0/xbar/DDC_0/mtu/0 >>>>>> /mboards/0/xbar/DDC_0/mtu/1 >>>>>> /mboards/0/xbar/DDC_0/registers >>>>>> /mboards/0/xbar/DDC_0/registers/sr >>>>>> /mboards/0/xbar/DDC_0/registers/sr/N >>>>>> /mboards/0/xbar/DDC_0/registers/sr/M >>>>>> /mboards/0/xbar/DDC_0/registers/sr/CONFIG >>>>>> /mboards/0/xbar/DDC_0/registers/sr/DDS_FREQ >>>>>> /mboards/0/xbar/DDC_0/registers/sr/SCALE_IQ >>>>>> /mboards/0/xbar/DDC_0/registers/sr/DECIM_WORD >>>>>> /mboards/0/xbar/DDC_0/registers/sr/MODE >>>>>> /mboards/0/xbar/DDC_0/registers/sr/RELOAD >>>>>> /mboards/0/xbar/DDC_0/ports >>>>>> /mboards/0/xbar/DDC_0/ports/in >>>>>> /mboards/0/xbar/DDC_0/ports/in/0 >>>>>> /mboards/0/xbar/DDC_0/ports/in/1 >>>>>> /mboards/0/xbar/DDC_0/ports/out >>>>>> /mboards/0/xbar/DDC_0/ports/out/0 >>>>>> /mboards/0/xbar/DDC_0/ports/out/1 >>>>>> /mboards/0/xbar/DDC_0/args >>>>>> /mboards/0/xbar/DDC_0/args/0 >>>>>> /mboards/0/xbar/DDC_0/args/0/freq >>>>>> /mboards/0/xbar/DDC_0/args/0/freq/type >>>>>> /mboards/0/xbar/DDC_0/args/0/freq/value >>>>>> /mboards/0/xbar/DDC_0/args/0/input_rate >>>>>> /mboards/0/xbar/DDC_0/args/0/input_rate/type >>>>>> /mboards/0/xbar/DDC_0/args/0/input_rate/value >>>>>> /mboards/0/xbar/DDC_0/args/0/output_rate >>>>>> /mboards/0/xbar/DDC_0/args/0/output_rate/type >>>>>> /mboards/0/xbar/DDC_0/args/0/output_rate/value >>>>>> /mboards/0/xbar/DDC_0/args/0/fullscale >>>>>> /mboards/0/xbar/DDC_0/args/0/fullscale/type >>>>>> /mboards/0/xbar/DDC_0/args/0/fullscale/value >>>>>> /mboards/0/xbar/DDC_0/args/0/scalar_correction >>>>>> /mboards/0/xbar/DDC_0/args/0/scalar_correction/type >>>>>> /mboards/0/xbar/DDC_0/args/0/scalar_correction/value >>>>>> /mboards/0/xbar/DDC_0/args/1 >>>>>> /mboards/0/xbar/DDC_0/args/1/freq >>>>>> /mboards/0/xbar/DDC_0/args/1/freq/type >>>>>> /mboards/0/xbar/DDC_0/args/1/freq/value >>>>>> /mboards/0/xbar/DDC_0/args/1/input_rate >>>>>> /mboards/0/xbar/DDC_0/args/1/input_rate/type >>>>>> /mboards/0/xbar/DDC_0/args/1/input_rate/value >>>>>> /mboards/0/xbar/DDC_0/args/1/output_rate >>>>>> /mboards/0/xbar/DDC_0/args/1/output_rate/type >>>>>> /mboards/0/xbar/DDC_0/args/1/output_rate/value >>>>>> /mboards/0/xbar/DDC_0/args/1/fullscale >>>>>> /mboards/0/xbar/DDC_0/args/1/fullscale/type >>>>>> /mboards/0/xbar/DDC_0/args/1/fullscale/value >>>>>> /mboards/0/xbar/DDC_0/args/1/scalar_correction >>>>>> /mboards/0/xbar/DDC_0/args/1/scalar_correction/type >>>>>> /mboards/0/xbar/DDC_0/args/1/scalar_correction/value >>>>>> /mboards/0/xbar/DDC_0/legacy_api >>>>>> /mboards/0/xbar/DDC_0/legacy_api/0 >>>>>> /mboards/0/xbar/DDC_0/legacy_api/0/rate >>>>>> /mboards/0/xbar/DDC_0/legacy_api/0/rate/value >>>>>> /mboards/0/xbar/DDC_0/legacy_api/0/rate/range >>>>>> /mboards/0/xbar/DDC_0/legacy_api/0/freq >>>>>> /mboards/0/xbar/DDC_0/legacy_api/0/freq/value >>>>>> /mboards/0/xbar/DDC_0/legacy_api/0/freq/range >>>>>> /mboards/0/xbar/DDC_0/legacy_api/1 >>>>>> /mboards/0/xbar/DDC_0/legacy_api/1/rate >>>>>> /mboards/0/xbar/DDC_0/legacy_api/1/rate/value >>>>>> /mboards/0/xbar/DDC_0/legacy_api/1/rate/range >>>>>> /mboards/0/xbar/DDC_0/legacy_api/1/freq >>>>>> /mboards/0/xbar/DDC_0/legacy_api/1/freq/value >>>>>> /mboards/0/xbar/DDC_0/legacy_api/1/freq/range >>>>>> /mboards/0/xbar/FFT_0 >>>>>> /mboards/0/xbar/FFT_0/noc_id >>>>>> /mboards/0/xbar/FFT_0/input_buffer_size >>>>>> /mboards/0/xbar/FFT_0/input_buffer_size/0 >>>>>> /mboards/0/xbar/FFT_0/mtu >>>>>> /mboards/0/xbar/FFT_0/mtu/0 >>>>>> /mboards/0/xbar/FFT_0/registers >>>>>> /mboards/0/xbar/FFT_0/registers/sr >>>>>> /mboards/0/xbar/FFT_0/registers/sr/FFT_RESET >>>>>> /mboards/0/xbar/FFT_0/registers/sr/FFT_SIZE_LOG2 >>>>>> /mboards/0/xbar/FFT_0/registers/sr/MAGNITUDE_OUT >>>>>> /mboards/0/xbar/FFT_0/registers/sr/FFT_DIRECTION >>>>>> /mboards/0/xbar/FFT_0/registers/sr/FFT_SCALING >>>>>> /mboards/0/xbar/FFT_0/registers/sr/FFT_SHIFT_CONFIG >>>>>> /mboards/0/xbar/FFT_0/registers/rb >>>>>> /mboards/0/xbar/FFT_0/registers/rb/RB_FFT_RESET >>>>>> /mboards/0/xbar/FFT_0/registers/rb/RB_MAGNITUDE_OUT >>>>>> /mboards/0/xbar/FFT_0/registers/rb/RB_FFT_SIZE_LOG2 >>>>>> /mboards/0/xbar/FFT_0/registers/rb/RB_FFT_DIRECTION >>>>>> /mboards/0/xbar/FFT_0/registers/rb/RB_FFT_SCALING >>>>>> /mboards/0/xbar/FFT_0/registers/rb/RB_FFT_SHIFT_CONFIG >>>>>> /mboards/0/xbar/FFT_0/ports >>>>>> /mboards/0/xbar/FFT_0/ports/in >>>>>> /mboards/0/xbar/FFT_0/ports/in/0 >>>>>> /mboards/0/xbar/FFT_0/ports/out >>>>>> /mboards/0/xbar/FFT_0/ports/out/0 >>>>>> /mboards/0/xbar/FFT_0/args >>>>>> /mboards/0/xbar/FFT_0/args/0 >>>>>> /mboards/0/xbar/FFT_0/args/0/spp >>>>>> /mboards/0/xbar/FFT_0/args/0/spp/type >>>>>> /mboards/0/xbar/FFT_0/args/0/spp/value >>>>>> /mboards/0/xbar/FFT_0/args/0/shift >>>>>> /mboards/0/xbar/FFT_0/args/0/shift/type >>>>>> /mboards/0/xbar/FFT_0/args/0/shift/value >>>>>> /mboards/0/xbar/FFT_0/args/0/direction >>>>>> /mboards/0/xbar/FFT_0/args/0/direction/type >>>>>> /mboards/0/xbar/FFT_0/args/0/direction/value >>>>>> /mboards/0/xbar/FFT_0/args/0/scaling >>>>>> /mboards/0/xbar/FFT_0/args/0/scaling/type >>>>>> /mboards/0/xbar/FFT_0/args/0/scaling/value >>>>>> /mboards/0/xbar/FFT_0/args/0/otype >>>>>> /mboards/0/xbar/FFT_0/args/0/otype/type >>>>>> /mboards/0/xbar/FFT_0/args/0/otype/value >>>>>> /mboards/0/xbar/FFT_0/args/0/reset >>>>>> /mboards/0/xbar/FFT_0/args/0/reset/type >>>>>> /mboards/0/xbar/FFT_0/args/0/reset/value >>>>>> /mboards/0/xbar/FFT_0/args/0/magnitude_out >>>>>> /mboards/0/xbar/FFT_0/args/0/magnitude_out/type >>>>>> /mboards/0/xbar/FFT_0/args/0/magnitude_out/value >>>>>> /mboards/0/time >>>>>> /mboards/0/time/now >>>>>> /mboards/0/time/pps >>>>>> /mboards/0/time/cmd >>>>>> /mboards/0/time_source >>>>>> /mboards/0/time_source/value >>>>>> /mboards/0/time_source/options >>>>>> /mboards/0/rx_codecs >>>>>> /mboards/0/rx_codecs/A >>>>>> /mboards/0/rx_codecs/A/name >>>>>> /mboards/0/rx_codecs/A/gains >>>>>> /mboards/0/tx_codecs >>>>>> /mboards/0/tx_codecs/A >>>>>> /mboards/0/tx_codecs/A/name >>>>>> /mboards/0/tx_codecs/A/gains >>>>>> /mboards/0/gpio >>>>>> /mboards/0/gpio/INT0 >>>>>> /mboards/0/gpio/INT0/SRC >>>>>> /mboards/0/gpio/INT0/CTRL >>>>>> /mboards/0/gpio/INT0/DDR >>>>>> /mboards/0/gpio/INT0/OUT >>>>>> /mboards/0/gpio/INT0/ATR_0X >>>>>> /mboards/0/gpio/INT0/ATR_RX >>>>>> /mboards/0/gpio/INT0/ATR_TX >>>>>> /mboards/0/gpio/INT0/ATR_XX >>>>>> /mboards/0/gpio/INT0/READBACK >>>>>> /mboards/0/rx_dsps >>>>>> /mboards/0/rx_dsps/0 >>>>>> /mboards/0/rx_dsps/0/stream_cmd >>>>>> /mboards/0/rx_dsps/0/freq >>>>>> /mboards/0/rx_dsps/0/freq/value >>>>>> /mboards/0/rx_dsps/0/freq/range >>>>>> /mboards/0/rx_dsps/0/rate >>>>>> /mboards/0/rx_dsps/0/rate/value >>>>>> /mboards/0/rx_dsps/1 >>>>>> /mboards/0/rx_dsps/1/stream_cmd >>>>>> /mboards/0/rx_dsps/1/freq >>>>>> /mboards/0/rx_dsps/1/freq/value >>>>>> /mboards/0/rx_dsps/1/freq/range >>>>>> /mboards/0/rx_dsps/1/rate >>>>>> /mboards/0/rx_dsps/1/rate/value >>>>>> /mboards/0/tx_dsps >>>>>> /mboards/0/tx_dsps/0 >>>>>> /mboards/0/tx_dsps/0/freq >>>>>> /mboards/0/tx_dsps/0/freq/value >>>>>> /mboards/0/tx_dsps/0/freq/range >>>>>> /mboards/0/tx_dsps/0/rate >>>>>> /mboards/0/tx_dsps/0/rate/value >>>>>> /mboards/0/tx_dsps/1 >>>>>> /mboards/0/tx_dsps/1/freq >>>>>> /mboards/0/tx_dsps/1/freq/value >>>>>> /mboards/0/tx_dsps/1/freq/range >>>>>> /mboards/0/tx_dsps/1/rate >>>>>> /mboards/0/tx_dsps/1/rate/value >>>>>> /mboards/0/rx_subdev_spec >>>>>> /mboards/0/tx_subdev_spec >>>>>> [INFO] [E300] Loading FPGA image: >>>>>> /home/root/newinstall/usr/share/uhd/images/usrp_e3xx_fpga_idle_sg3.bit... >>>>>> [INFO] [E300] FPGA image loaded >>>>>> >>>>>> The failure output I got from running the python script shows that it >>>>>> can't find "/mboards/0/xbar/gain_0/args/0/gain/value" and when I look at >>>>>> the tree, there is no value instantiated by the probe. It only looks like >>>>>> the furthest that the probe goes down in the mboards is >>>>>> "/mboards/0/xbar/gain_0/args/0". I am assuming its something in the >>>>>> arguments file not getting loaded, but everything appears ok to me on >>>>>> glance in that XML file. >>>>>> >>>>>> Regards, >>>>>> Jon >>>>>> >>>>>> On Thu, Nov 21, 2019 at 4:49 PM EJ Kreinar <ejkrei...@gmail.com> >>>>>> wrote: >>>>>> >>>>>>> Okay, great... >>>>>>> >>>>>>> You might want to try increasing the log level. Export >>>>>>> UHD_LOG_CONSOLE_LEVEL=trace or debug and try to make sure the correct >>>>>>> xml >>>>>>> file is getting applied to the block correctly. >>>>>>> >>>>>>> There's also something like a "--tree" parameter in the >>>>>>> uhd_usrp_probe so try running the probe with the tree option to print >>>>>>> out >>>>>>> the device tree and look for the arguments assigned to your new block. >>>>>>> >>>>>>> Let's see if any of that helps figure out what's going on... >>>>>>> EJ >>>>>>> >>>>>>> On Thu, Nov 21, 2019, 4:01 PM Jonathan Lockhart < >>>>>>> jlockhar...@gmail.com> wrote: >>>>>>> >>>>>>>> Also, when I compiled from the OOT directory for ARM, I used this >>>>>>>> command, which I pieced together from the RFNoC build guide, and the >>>>>>>> release-4 guide for cross-compiling gr-ettus. >>>>>>>> >>>>>>>> cmake >>>>>>>> -DCMAKE_TOOLCHAIN_FILE=~/rfnoc/src/gnuradio/cmake/Toolchains/oe-sdk_cross.cmake >>>>>>>> -DCMAKE_INSTALL_PREFIX=/usr >>>>>>>> -DUHD_FPGA_DIR="/home/jon/rfnoc/src/uhd/fpga-src/" ../ >>>>>>>> >>>>>>>> Regards, >>>>>>>> Jon >>>>>>>> >>>>>>>> On Thu, Nov 21, 2019 at 3:48 PM Jonathan Lockhart < >>>>>>>> jlockhar...@gmail.com> wrote: >>>>>>>> >>>>>>>>> Greetings EJ, >>>>>>>>> >>>>>>>>> So, from the tutorial, they have you edit the gain.xml file, and >>>>>>>>> this is what I have for it. >>>>>>>>> >>>>>>>>> <?xml version="1.0"?> >>>>>>>>> <!--Default XML file--> >>>>>>>>> <nocblock> >>>>>>>>> <name>gain</name> >>>>>>>>> <blockname>gain</blockname> >>>>>>>>> <ids> >>>>>>>>> <id revision="0">B7DD64941A952AAC</id> >>>>>>>>> </ids> >>>>>>>>> <!-- Registers --> >>>>>>>>> <registers> >>>>>>>>> <setreg> >>>>>>>>> <name>Gain</name> >>>>>>>>> <address>128</address> >>>>>>>>> </setreg> >>>>>>>>> </registers> >>>>>>>>> <!-- Args --> >>>>>>>>> <args> >>>>>>>>> <args> >>>>>>>>> <name>gain</name> >>>>>>>>> <type>double</type> >>>>>>>>> <value>1.0</value> >>>>>>>>> <check>GE($gain, 0.0) AND LE($gain, 32767.0)</check> >>>>>>>>> <check_message>Invalid Gain!</check_message> >>>>>>>>> <action> >>>>>>>>> SR_WRITE("GAIN", IROUND($gain)) >>>>>>>>> </action> >>>>>>>>> </args> >>>>>>>>> </args> >>>>>>>>> <!--One input, one output. If this is used, better have all the >>>>>>>>> info the C++ file.--> >>>>>>>>> <ports> >>>>>>>>> <sink> >>>>>>>>> <name>in0</name> >>>>>>>>> <type>sc16</name> >>>>>>>>> </sink> >>>>>>>>> <source> >>>>>>>>> <name>out0</name> >>>>>>>>> <type>sc16</name> >>>>>>>>> </source> >>>>>>>>> </ports> >>>>>>>>> </nocblock> >>>>>>>>> >>>>>>>>> There is an args value and it is declared as gain. >>>>>>>>> >>>>>>>>> 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. >>>>>>>>> >>>>>>>>> LOCALPREFIX=~/newinstall/usr >>>>>>>>> export PATH=$LOCALPREFIX/bin:$PATH >>>>>>>>> export LD_LOAD_LIBRARY=$LOCALPREFIX/lib:$LD_LOAD_LIBRARY >>>>>>>>> export LD_LIBRARY_PATH=$LOCALPREFIX/lib:$LD_LIBRARY_PATH >>>>>>>>> export >>>>>>>>> PYTHONPATH=$LOCALPREFIX/lib/python2.7/site-packages:$PYTHONPATH >>>>>>>>> export PKG_CONFIG_PATH=$LOCALPREFIX/lib/pkgconfig:$PKG_CONFIG_PATH >>>>>>>>> export >>>>>>>>> GRC_BLOCKS_PATH=$LOCALPREFIX/share/gnuradio/grc/blocks:$GRC_BLOCKS_PATH >>>>>>>>> export UHD_RFNOC_DIR=$LOCALPREFIX/share/uhd/rfnoc/ >>>>>>>>> export UHD_IMAGES_DIR=$LOCALPREFIX/share/uhd/images >>>>>>>>> export >>>>>>>>> GRC_BLOCKS_PATH=$LOCALPREFIX/share/uhd/rfnoc/blocks:$GRC_BLOCKS_PATH >>>>>>>>> >>>>>>>>> Unfortunately, after re-sourcing the setup.env, I still get the >>>>>>>>> same message. >>>>>>>>> >>>>>>>>> File "rfnoc_myGain_usrp.py", line 223, in <module> >>>>>>>>> main() >>>>>>>>> File "rfnoc_myGain_usrp.py", line 212, in main >>>>>>>>> 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) >>>>>>>>> File "rfnoc_myGain_usrp.py", line 117, in __init__ >>>>>>>>> self.tutorial_gain_0.set_arg("gain", rx_digital_gain) >>>>>>>>> File >>>>>>>>> "/home/root/newinstall/usr/lib/python2.7/site-packages/tutorial/tutorial_swig.py", >>>>>>>>> line 315, in set_arg >>>>>>>>> return _tutorial_swig.gain_sptr_set_arg(self, *args) >>>>>>>>> RuntimeError: LookupError: Path not found in tree: >>>>>>>>> /mboards/0/xbar/gain_0/args/0/gain/value >>>>>>>>> >>>>>>>>> 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. >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> Jon >>>>>>>>> >>>>>>>>> On Thu, Nov 21, 2019 at 3:27 PM EJ Kreinar <ejkrei...@gmail.com> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Hi Jon, >>>>>>>>>> >>>>>>>>>> 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) >>>>>>>>>> >>>>>>>>>> Recommended debugging... >>>>>>>>>> 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 >>>>>>>>>> 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 >>>>>>>>>> >>>>>>>>>> I'm guessing it's one of those two possibilities... >>>>>>>>>> EJ >>>>>>>>>> >>>>>>>>>> On Thu, Nov 21, 2019, 3:19 PM Jonathan Lockhart via USRP-users < >>>>>>>>>> usrp-users@lists.ettus.com> wrote: >>>>>>>>>> >>>>>>>>>>> Greetings, >>>>>>>>>>> >>>>>>>>>>> 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. >>>>>>>>>>> >>>>>>>>>>> Now I have a different issue. So I have completed this guide: >>>>>>>>>>> https://kb.ettus.com/Getting_Started_with_RFNoC_Development >>>>>>>>>>> >>>>>>>>>>> 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). >>>>>>>>>>> >>>>>>>>>>> [image: Screenshot from 2019-11-21 15-06-33.jpg] >>>>>>>>>>> >>>>>>>>>>> [image: Screenshot from 2019-11-21 15-010-44.jpg] >>>>>>>>>>> >>>>>>>>>>> However, when I run the top file for the USRP, I am running into >>>>>>>>>>> this error. >>>>>>>>>>> >>>>>>>>>>> Traceback (most recent call last): >>>>>>>>>>> File "rfnoc_myGain_usrp.py", line 223, in <module> >>>>>>>>>>> main() >>>>>>>>>>> File "rfnoc_myGain_usrp.py", line 212, in main >>>>>>>>>>> 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) >>>>>>>>>>> File "rfnoc_myGain_usrp.py", line 117, in __init__ >>>>>>>>>>> self.tutorial_gain_0.set_arg("gain", rx_digital_gain) >>>>>>>>>>> File >>>>>>>>>>> "/home/root/newinstall/usr/lib/python2.7/site-packages/tutorial/tutorial_swig.py", >>>>>>>>>>> line 315, in set_arg >>>>>>>>>>> return _tutorial_swig.gain_sptr_set_arg(self, *args) >>>>>>>>>>> RuntimeError: LookupError: Path not found in tree: >>>>>>>>>>> /mboards/0/xbar/gain_0/args/0/gain/value >>>>>>>>>>> >>>>>>>>>>> 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. >>>>>>>>>>> >>>>>>>>>>> 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. >>>>>>>>>>> >>>>>>>>>>> Regards, >>>>>>>>>>> Jon >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Wed, Nov 20, 2019 at 3:21 PM Jonathan Lockhart < >>>>>>>>>>> jlockhar...@gmail.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> Greetings, >>>>>>>>>>>> >>>>>>>>>>>> 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. >>>>>>>>>>>> >>>>>>>>>>>> /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 >>>>>>>>>>>> # include <gnu/stubs-soft.h> >>>>>>>>>>>> ^~~~~~~~~~~~~~~~~~ >>>>>>>>>>>> compilation terminated. >>>>>>>>>>>> >>>>>>>>>>>> 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. >>>>>>>>>>>> >>>>>>>>>>>> jon@jon-OptiPlex-9020:~/rfnoc/src/rfnoc-tutorial$ echo $CC >>>>>>>>>>>> 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 >>>>>>>>>>>> >>>>>>>>>>>> So I am not sure why the gain module in the tutorial is looking >>>>>>>>>>>> for the soft file. >>>>>>>>>>>> >>>>>>>>>>>> If anyone has experience in porting their OOT modules over to >>>>>>>>>>>> the E-series of radios I would appreciate the help. >>>>>>>>>>>> >>>>>>>>>>>> Regards, >>>>>>>>>>>> Jon >>>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> 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