Hello,
I recently installed the latest git pull of both the GNU Radio and UHD
driver. I am getting the some relating to USRP initialization errors
when
I’m running some of the examples provided. max_power.py
and digital_bert_tx.py or rx.py.
My setup seems correct since I can run the fft scripts etc.
It seems to be some kind of overflow that is causing this but I am not
able
to figure out why. I tried to use my limited debugging skills and have
these comments
-
Since bert is similar to the benchmark_tx, on comparing the two, I
see
that in digital_bert_tx, the error goes away if you comment out
self._modulator = self._modulator_class(**mod_kwargs)
and pass
self._modulator_class(**mod_kwargs)._constellation
to the bert transmitter chain initialization. -
There is a minor mismatch in the arguments to the uhd_transmitter
initialization, a subdevice is expected between options.tx_gain
and options.antenna.
But that is certainly not causing the error. -
Looking at the C++ source code, the line of code that is actually
throwing the exception is in the UHD tree (Line 152 in the
uhd_src/host/lib/device.cpp)
device::sptr dev = maker(dev_addr); -
I cannot figure out any temporary fix for the max_power.py failure.
Has anybody else faced similar issues before or have any suggestions for
debugging directions?
Thanks
Shalabh
Traceback (most recent call last): - From bert
File “./digital_bert_tx.py”, line 130, in
tb = tx_psk_block(mod, options)
File “./digital_bert_tx.py”, line 73, in init
options.antenna, options.verbose)
File
“/home/gnuradio/Shared/sj/usrp_stuff/code/s_eg/digital/narrowband/uhd_interface.py”,
line 137, in init
freq, gain, spec, antenna)
File
“/home/gnuradio/Shared/sj/usrp_stuff/code/s_eg/digital/narrowband/uhd_interface.py”,
line 49, in init
self.u = uhd.usrp_sink(device_addr=args,
stream_args=uhd.stream_args(‘fc32’))
File
“/opt/gnuradio-3.5/lib/python2.6/dist-packages/gnuradio/uhd/init.py”,
line 112, in constructor_interceptor
return old_constructor(*args)
File
“/opt/gnuradio-3.5/lib/python2.6/dist-packages/gnuradio/uhd/uhd_swig.py”,
line 2320, in usrp_sink
return _uhd_swig.usrp_sink(*args)
RuntimeError: Error in function boost::math::round(d): Value -nan can
not be represented in the target integer type.
Traceback (most recent call last): - From max_power.py
File “./max_power.py”, line 140, in
main ()
File “./max_power.py”, line 133, in main
tb = build_block (options.args, options.tx_enable,
options.rx_enable)
File “./max_power.py”, line 63, in init
self.u_tx = uhd.usrp_sink(device_addr=args, stream_args=stream_args)
File
“/opt/gnuradio-3.5/lib/python2.6/dist-packages/gnuradio/uhd/init.py”,
line 112, in constructor_interceptor
return old_constructor(*args)
File
“/opt/gnuradio-3.5/lib/python2.6/dist-packages/gnuradio/uhd/uhd_swig.py”,
line 2320, in usrp_sink
return _uhd_swig.usrp_sink(*args)
RuntimeError: Error in function boost::math::round(d): Value -nan can
not be represented in the target integer type.