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