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

EJ Kreinar ejkreinar at gmail.com
Fri Nov 22 10:20:29 EST 2019


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


More information about the USRP-users mailing list