[USRP-users] E312 - Migrating OOT Modules to the USRP

Jonathan Lockhart jlockhartrt at gmail.com
Fri Nov 22 16:49:50 EST 2019


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 <ejkreinar at 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 <jlockhartrt at 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 <jlockhartrt at 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 <ejkreinar at 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 <jlockhartrt at 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 <
>>>>> jlockhartrt at 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 <ejkreinar at 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 <
>>>>>>> jlockhartrt at 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 at 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 <ejkreinar at 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 <
>>>>>>>>> jlockhartrt at 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 <
>>>>>>>>>> jlockhartrt at 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 <ejkreinar at 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 at 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 <
>>>>>>>>>>>>> jlockhartrt at 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 at 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 at lists.ettus.com
>>>>>>>>>>>>>
>>>>>>>>>>>>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>>>>>>>>>>>>>
>>>>>>>>>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20191122/ebbfb6dc/attachment.html>


More information about the USRP-users mailing list