I actually just noticed that myself when digging through the python. I set it to float, and had to make 1 into 1.0, but now the script is happy and it works.
Thanks for all your help troubleshooting, I really appreciate it. I now must move on to the task of building a custom block with this experience. On Fri, Nov 22, 2019 at 3:22 PM EJ Kreinar <ejkrei...@gmail.com> wrote: > There are definitely a few datatype gotchas with nocscript. > > In your flowgraph screenshot I'm seeing a parameter with an "int"type. Is > that passed directly to your gain block set_arg? You might want to change > the parameter type to "float" in gnuradio, or cast to float in the entry > box for your gain block (e.g. `float(intnumber)`). > > Either way it should be a float type when you call set_arg > EJ > > > > On Fri, Nov 22, 2019, 2:52 PM Jonathan Lockhart <jlockhar...@gmail.com> > wrote: > >> 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