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

Jonathan Lockhart jlockhartrt at gmail.com
Fri Nov 22 09:33:21 EST 2019


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


More information about the USRP-users mailing list