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

EJ Kreinar ejkreinar at gmail.com
Fri Nov 22 13:12:03 EST 2019


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/b5da6c69/attachment.html>


More information about the USRP-users mailing list