ettusresearch / gr-ettus Goto Github PK
View Code? Open in Web Editor NEWOut-of-tree GNU Radio Module for Experimental Ettus Research Features
License: Other
Out-of-tree GNU Radio Module for Experimental Ettus Research Features
License: Other
Hi, can anyone give me a example about using RFNoC:PDU TX and RFNoC:PDU RX module?
Line 25 of ettus_rfnoc_graph.block.yml in the maint-3.8-uhd4.0 branch (and possibly others) looks like:
self.rfnoc_graph = ${id} = ettus.rfnoc_graph(uhd.device_addr("${graph_args}")))
You can see there are 2 open parentheses and 3 close parentheses. This leads to syntax errors when running a flowgraph including the RFNoC Graph block. Removing the extra close parenthesis fixes it.
Hello,
is there a particular reason why only alphanumerical symbols are allowed in the names of NoC blocks? In particular, is there any issue having underscores or hyphens in the name? rfnocmodtool would reject such names, although "factory" NoC blocks often have underscores in their names.
if not re.match('^([a-zA-Z]+[0-9a-zA-Z]*)$', self._info['blockname']):
raise ModToolException('Invalid block name.')
https://github.com/EttusResearch/gr-ettus/blob/radio-redo/python/rfnoc_modtool/templates.py#L388 :
…
static sptr make(
#if $blocktype == 'rfnoc'
#if $arglist
$arglist,
#end if
const gr::ettus::device3::sptr &dev,
…
this should have been stripped of default arguments, too, like elsewhere in the templates. But since make
is the public interface to the block, not having default arguments here does make these useless (aside from putting them in as default values in the GRC .xml).
Are there any plans to update gr-ettus from swig to support PyBind? This seems necessary to bring RFNoC to GNURadio v3.9+
GRC does not generate valid Python code for the RFNoC Digital Upconverter Block.
GRC adds an additional argument (5 instead of 4) when instantiating the ettus.rfnoc_duc block.
The method set_freq is run before set_input_rate in the generated Python code. When this is done, Python complains that it is no longer possible to set the input_rate. The method set_freq also does not appear to change the frequency shift of the ettus.rfnoc_duc.
I would like to ask whether the gr-ettus
radio block supports burst mode or not? I compare the code of the radio block in gr-ettus
with the usrp_sink
in GNURadio repo. It seems that rfnoc_block_impl.cc
does not read the stream-tags in the samples.
A segmentation fault error appears when executing part of gr-ettus code below:
rfnoc_radio_impl::rfnoc_radio_impl(
const device3::sptr &dev,
const ::uhd::stream_args_t &tx_stream_args,
const ::uhd::stream_args_t &rx_stream_args,
const int radio_select,
const int device_select
) : rfnoc_block("rfnoc_radio"), /* <----- base class constructor call causes a segmentation-fault error */
rfnoc_block_impl(
dev,
rfnoc_block_impl::make_block_id("Radio", radio_select, device_select),
tx_stream_args, rx_stream_args
)
{
_radio_ctrl = get_block_ctrl_throw< ::uhd::rfnoc::radio_ctrl >();
}
g++ version is 5.4.0 20160609.
Git Id SHA-1 is df84cb1 (2017-05-08 18:44:22).
The call to the base class constructor in the top-level class causes a segmentation-fault error. It seems that, at that time, access to the base class memory is not yet allowed. Valgrind warns for invalid memory writes.
Modifying the code as presented below fixes the crash:
rfnoc_radio_impl::rfnoc_radio_impl(
const device3::sptr &dev,
const ::uhd::stream_args_t &tx_stream_args,
const ::uhd::stream_args_t &rx_stream_args,
const int radio_select,
const int device_select
) : /*rfnoc_block("rfnoc_radio"),*/ /* <---- Removed base class constructor call there */
rfnoc_block_impl(
"rfnoc_radio", /* <---- block name is given here */
dev,
rfnoc_block_impl::make_block_id("Radio", radio_select, device_select),
tx_stream_args, rx_stream_args
)
{
_radio_ctrl = get_block_ctrl_throw< ::uhd::rfnoc::radio_ctrl >();
}
rfnoc_block_impl::rfnoc_block_impl(
const std::string& name, /* <----- Added parameter for block name */
const device3::sptr &dev,
const std::string &block_id,
const ::uhd::stream_args_t &tx_stream_args,
const ::uhd::stream_args_t &rx_stream_args
) : rfnoc_block(name), /* <----- base class constructor called here */
_dev(dev->get_device()),
_tx(tx_stream_args),
_rx(rx_stream_args),
_start_time_set(false)
{
...
}
As a consequence, all RFNoC blocks constructors need to be modified accordingly.
Hi,
I'm trying to install gr_ettus on my Ubuntu 18.04, I have already completed the installation of UHD 4.0 and GNURadio 3.9.
When I tried to cmake ../ at the build folder of fr_ettus, the result as below:
_pc@pc-All-Series:~/rfnoc/src/gr-ettus/build-host$ cmake ..
-- Checking for module 'gmp'
-- No package 'gmp' found
-- Checking for module 'mpir >= 3.0'
-- No package 'mpir' found
-- Could NOT find MPIR (missing: MPIRXX_LIBRARY MPIR_INCLUDE_DIR)
-- Boost version: 1.65.1
-- Found the following Boost libraries:
-- date_time
-- program_options
-- filesystem
-- system
-- regex
-- thread
-- chrono
-- atomic
-- User set python executable /usr/bin/python3.6
-- Found PythonInterp: /usr/bin/python3.6 (found version "3.6.9")
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.6m.so (found suitable exact version "3.6.9")
-- Extracting version information from git describe...
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.6m.so (found suitable version "3.6.9", minimum required is "2")
-- Using install prefix: /usr/local
-- Building for version: 3.8.0.0 / 3.8.0
-- No C++ unit tests... skipping
CMake Error at swig/CMakeLists.txt:37 (include):
include could not find load file:
GrSwig
CMake Error at swig/CMakeLists.txt:58 (GR_SWIG_MAKE):
Unknown CMake command "GR_SWIG_MAKE".
-- Configuring incomplete, errors occurred!
See also "/home/pc/rfnoc/src/gr-ettus/build-host/CMakeFiles/CMakeOutput.log".
See also "/home/pc/rfnoc/src/gr-ettus/build-host/CMakeFiles/CMakeError.log"._
Could anyone help me with my problem, thank you so much!
Hi, I am installing rfnoc with gnuradio 3.7 with pybombs
gr-ettus:
gitbranch: master
forcebuild: true
I have the following error.
[ 2%] Automatic MOC for target gnuradio-ettus
[ 2%] Built target gnuradio-ettus_autogen
[ 4%] Building CXX object lib/CMakeFiles/gnuradio-ettus.dir/device3.cc.o
In file included from /home/ivan/rfnoc/src/gr-ettus/lib/device3.cc:27:0:
/home/ivan/rfnoc/src/gr-ettus/include/ettus/device3.h:30:10: fatal error: uhd/device3.hpp: No such file or directory
#include <uhd/device3.hpp>
^~~~~~~~~~~~~~~~~
compilation terminated.
lib/CMakeFiles/gnuradio-ettus.dir/build.make:72: recipe for target 'lib/CMakeFiles/gnuradio-ettus.dir/device3.cc.o' failed
make[2]: *** [lib/CMakeFiles/gnuradio-ettus.dir/device3.cc.o] Error 1
CMakeFiles/Makefile2:139: recipe for target 'lib/CMakeFiles/gnuradio-ettus.dir/all' failed
make[1]: *** [lib/CMakeFiles/gnuradio-ettus.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
[ERROR] Build failed. See output above for error messages.
[ERROR] Problem occurred while building package gr-ettus:
Build failed.
[ERROR] Error installing package gr-ettus. Aborting.
Regards
I have some issues when using RFNoC4.0. When I was using RFNoC3.0, I needed to input a series of modules make by myself when building an image using IMAGE_BUILDER.py. When I am using RFNoC4.0, I need to input the modules in the image_core.yml. The problem is that my own modules need a large amount of BRAM in FPGA. When I am using RFNoC3.0, if I use more than four my own modules, building failure will arise, which is clearly due to insufficient BRAM. But when I use RFNoC4.0, I need to determind the buffer size of ENDPOINT (ep) in image_core.yml for each module when creating an image .And the connection need to be written by myself ,too. So I don't know how the BRAM used by my module corresponds to the cache size specified by me for ep. That is, how do I set the cache size for ep so that when my own module is added between ddc and radio, and between radio and duc. Currently, I am constantly trying to set the cache size of different EPs to different sizes, which may lead to issues with OOOOO or UUUUUU. I hope developers can provide me with a detailed explanation of how to set the cache size when my own module requires a large BRAM (approximately 8000 complex floating numbers). The specific names of my two own modules are sig1 and sig2. Each module requires a cache area of 8192 complex floating-point numbers.
My module connection methods are radio-sig2-ddc-ep and ep-duc-sig2-radio, with two identical links for sending and receiving. I would greatly appreciate it if I could receive guidance.
In the current RFNoC getting started guide, when building images the user is required to specify the full or relative path to 'make.py', which is clunky and involves a lot of typing.
For example,
$ {INSTALL_PREFIX}/src/uhd-fpga/usrp3_rfnoc/tools/scripts/make.py null_source_sink siggen
A more convenient approach to calling make.py is desirable.
I am trying to use RFNoC:OFDM sync block, qith the fpga image usrp_x310_fpga_RFNOC_XG.bit downloaded using the python script.
I have the ettus X310.
The problem is that when I run the grc, I get the following error:
RuntimeError: Cannot find a block for ID: SchmidlCox
Are the OFDM RFNoC blocks included in the fpga image?
If so, how can I solve my problem?
Thanks
This issue concerns the transition from the deprecated rfnocmodtool to building custom OOT modules for newer versions of UHD and GNURadio. Previously (UHD v4.4 , gnuradio v3.8, grr-ettus version "maint3.8-UHD4.4"), I successfully built a custom OOT module using rfnocmodtool and integrated it with GNU Radio Companion with the help of gr-ettus. However, both tools are now deprecated with UHD 4.6 and GNURadio 3.10.
Lack of replacement for rfnocmodtool: While understanding that rfnocmodtool is no longer supported, I'm unsure of the recommended alternative to build custom OOT modules in the new workflow.
Integrating modules with GNU Radio Companion: With gr-ettus being deprecated, the process of integrating OOT modules into GNU Radio Companion remains unclear.
Understand the proper workflow for building custom OOT modules compatible with UHD 4.6 and GNURadio 3.10.
Obtain detailed instructions or resources on integrating these modules with GNU Radio Companion, replacing the functionality previously achieved with gr-ettus
Platform: Ubuntu 20.04
Hardware: X410 usrp
UHD version: 4.6
GNURadio version: 3.10
Previous module development approach: Used rfnocmodtool
I kindly request assistance from the community or developers in understanding the current best practices for building and integrating custom OOT modules with newer versions of UHD and GNURadio. Guidance on specific tools, resources, or steps involved would be greatly appreciated.
I had some problems finding and linking against gr-ettus when upgrading rfnoc OOT modules to GR 3.8. I believe this is related to Gnuradio's cmake update (gnuradio/gnuradio#2429 -- which does not appear to be resolved??), but I'm really not clear what the fix should be.
I tried several approaches:
find_package(ettus)
command in CMakeLists -- this was the general way to handle finding gr-ettus with gnuradio 3.7Instead I get a cmake configure error
-- No package 'ettus' found
CMake Error at /usr/local/lib/cmake/ettus/ettusConfig.cmake:41 (include):
include could not find load file:
/usr/local/lib/cmake/ettus/ettusTarget.cmake
I think this traces back to the ettusConfig.cmake provided by gr-ettus pointing to ettusTarget.cmake -- but this file has now changed names to gnuradio-ettusTargets.cmake. One possible answer might be the solution thanks to @yaaseen-dev here: yaaseen-dev@cb6c79f#diff-179e4ad3bfd5e35f054cf090710afd42R27
find_package(gnuradio-ettus)
This seems more promising, since GR_LIBRARY_FOO seems to install gnuradio-ettus cmake files into the lib/cmake/ettus install location. This fails in cmake configure with the following error:
CMake Error at gr-theseus/CMakeLists.txt:84 (find_package):
By not providing "Findgnuradio-ettus.cmake" in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
"gnuradio-ettus", but CMake did not find one.
Could not find a package configuration file provided by "gnuradio-ettus"
with any of the following names:
gnuradio-ettusConfig.cmake
gnuradio-ettus-config.cmake
Add the installation prefix of "gnuradio-ettus" to CMAKE_PREFIX_PATH or set
"gnuradio-ettus_DIR" to a directory containing one of the above files. If
"gnuradio-ettus" provides a separate development package or SDK, be sure it
has been installed.
Interestingly, if I change the GR_CMAKE_DIR inside gr-ettus to point to ${CMAKE_MODULES_DIR)/gnuradio-ettus (
Line 69 in b692606
find_package(gnuradio-ettus)
finds gr-ettus, and target_link_libraries(<my-library> gnuradio-ettus)
links successfully.
So: Is this right? Am I missing something obvious here?
Has anyone else ported rfnoc repos to gnuradio 3.8??
When I was installing, the error came 'uhd/rfnoc/window_block_ctrl.hpp: No such file or directory
compilation terminated' and 'uhd/rfnoc/fir_block_ctrl.hpp: No such file or directory
compilation terminated.' It seems that in the uhd repository, you did not upload the window_block_ctrl.hpp and fir_block_ctrl.hpp. I could not find these two files anywhere.
when I want to install gr-ettus i faced with errors...
with Gnuradio 3.8.1 and UHD_4.1.0.4-0 it has errors
Ubuntu 20.04
any offer?
[ 64%] Swig source ettus_swig.i
Deprecated command line option: -modern. This option is now always on.
/home/sp/Documents/gr-ettus-1038c4ce5135a2803b53554fc4971fe3de747d9a/swig/ettus_swig.i:140: Error: Template 'set_property' undefined.
/home/sp/Documents/gr-ettus-1038c4ce5135a2803b53554fc4971fe3de747d9a/swig/ettus_swig.i:141: Error: Template 'set_property' undefined.
/home/sp/Documents/gr-ettus-1038c4ce5135a2803b53554fc4971fe3de747d9a/swig/ettus_swig.i:142: Error: Template 'set_property' undefined.
/home/sp/Documents/gr-ettus-1038c4ce5135a2803b53554fc4971fe3de747d9a/swig/ettus_swig.i:143: Error: Template 'set_property' undefined.
/home/sp/Documents/gr-ettus-1038c4ce5135a2803b53554fc4971fe3de747d9a/swig/ettus_swig.i:145: Error: Template 'get_property' undefined.
/home/sp/Documents/gr-ettus-1038c4ce5135a2803b53554fc4971fe3de747d9a/swig/ettus_swig.i:146: Error: Template 'get_property' undefined.
/home/sp/Documents/gr-ettus-1038c4ce5135a2803b53554fc4971fe3de747d9a/swig/ettus_swig.i:147: Error: Template 'get_property' undefined.
/home/sp/Documents/gr-ettus-1038c4ce5135a2803b53554fc4971fe3de747d9a/swig/ettus_swig.i:148: Error: Template 'get_property' undefined.
/usr/local/include/uhd/types/dict.hpp:145: Warning 503: Can't wrap 'operator std::map<std::string,std::string>' unless renamed to a valid identifier.
make[2]: *** [swig/CMakeFiles/ettus_swig_swig_compilation.dir/build.make:65: swig/CMakeFiles/ettus_swig.dir/ettus_swigPYTHON.stamp] Error 8
make[2]: *** Deleting file 'swig/CMakeFiles/ettus_swig.dir/ettus_swigPYTHON.stamp'
make[1]: *** [CMakeFiles/Makefile2:421: swig/CMakeFiles/ettus_swig_swig_compilation.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
Trying to install a clean RFNOC system on Ubuntu 18.4
I believe that the PYBOMBS script is pulling the gnuradio 3.8 branch down, which fails in the install phase with the following error.
(This is the SAME error that one gets when installing gnuradio 3.8 from Pybombs, which I have posted to the pybombs issue list)
I believe that RFNOC currently requires gnuradio 3.7.
Is the version forked on this site the correct repository to install gnuradio from, or should the gnuradio maint-3.7 repository be pulled.
I believe that the fix is to update the pybombs scripts to retrieve the correct version of gnuradio maint-3.7.
-- Python checking for numpy - not found
-- Configuring gnuradio-companion support...
-- Dependency ENABLE_GNURADIO_RUNTIME = ON
-- Dependency ENABLE_PYTHON = ON
-- Dependency PYTHON_MIN_VER_FOUND = TRUE
-- Dependency PYYAML_FOUND = TRUE
-- Dependency MAKO_FOUND = TRUE
-- Dependency PYGI_FOUND = TRUE
-- Dependency GTK_GI_FOUND = TRUE
-- Dependency CAIRO_GI_FOUND = TRUE
-- Dependency PANGOCAIRO_GI_FOUND = TRUE
-- Dependency NUMPY_FOUND = FALSE
CMake Error at cmake/Modules/GrComponent.cmake:75 (message):
user force-enabled gnuradio-companion but configuration checked failed
Call Stack (most recent call first):
grc/CMakeLists.txt:95 (GR_REGISTER_COMPONENT)
When I compile the gr-ettus. An error occurs that ‘get_system_time’ is not a member of ‘uhd::time_spec_t’. It seems that UHD removed the get_system_time function from time_spec_t within the last few months. From gnuradio/gnuradio#1706
Here is the compile result.
[ 2%] Automatic MOC for target gnuradio-ettus
[ 4%] Built target doxygen_target
[ 4%] Built target pygen_apps_9a6dd
[ 8%] Built target _ettus_swig_doc_tag
[ 12%] Built target pygen_python_51c51
[ 19%] Built target pygen_python_rfnoc_modtool_262c4
[ 19%] Built target pygen_python_utils_0a234
[ 19%] Built target gnuradio-ettus_autogen
[ 23%] Built target ettus_swig_swig_doc
[ 27%] Built target _ettus_swig_swig_tag
Scanning dependencies of target gnuradio-ettus
[ 38%] Built target ettus_swig_swig_2d0df
[ 44%] Built target pygen_swig_b475a
[ 46%] Building CXX object lib/CMakeFiles/gnuradio-ettus.dir/device3.cc.o
[ 48%] Linking CXX shared library libgnuradio-ettus.so
[ 80%] Built target gnuradio-ettus
[ 82%] Automatic MOC for target test-ettus
[ 85%] Building CXX object swig/CMakeFiles/_ettus_swig.dir/ettus_swigPYTHON_wrap.cxx.o
[ 85%] Built target test-ettus_autogen
[ 87%] Linking CXX executable test-ettus
[ 93%] Built target test-ettus
/home/wangy0k/Downloads/gr-ettus/gr-ettus/build/swig/ettus_swigPYTHON_wrap.cxx: In function ‘PyObject* _wrap_time_spec_t_get_system_time(PyObject*, PyObject*)’:
/home/wangy0k/Downloads/gr-ettus/gr-ettus/build/swig/ettus_swigPYTHON_wrap.cxx:17777:16: error: ‘get_system_time’ is not a member of ‘uhd::time_spec_t’
result = uhd::time_spec_t::get_system_time();
^
swig/CMakeFiles/_ettus_swig.dir/build.make:70: recipe for target 'swig/CMakeFiles/_ettus_swig.dir/ettus_swigPYTHON_wrap.cxx.o' failed
make[2]: *** [swig/CMakeFiles/_ettus_swig.dir/ettus_swigPYTHON_wrap.cxx.o] Error 1
CMakeFiles/Makefile2:450: recipe for target 'swig/CMakeFiles/_ettus_swig.dir/all' failed
make[1]: *** [swig/CMakeFiles/_ettus_swig.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
$ rfnocmodtool help
Traceback (most recent call last):
File "/usr/local/bin/rfnocmodtool", line 7, in
from ettus.rfnoc_modtool import *
ModuleNotFoundError: No module named 'ettus'
Installed gnuradio 3.8 through ppa
Intalled master branch of uhd
Hi every one
I am building gr-ettus for e310 using e3xx_e310_sdk_default-v4.0.0.0(source environment-setup-cortexa9t2hf-neon-oe-linux-gnueabi)
after initiating the environment I use cmake with these var:
cmake -DCMAKE_TOOLCHAIN_FILE=~/rfnocv4/src/gnuradio/cmake/Toolchains/oe-sdk_cross.cmake -DCMAKE_INSTALL_PREFIX=/usr ../
but it stop with error about not finding "gnuradio::runtime_swig:
sample of terminal output:
-- Checking for module SWIG
-- Found SWIG version 3.0.12.
-- Found SWIG: /usr/bin/swig3.0
-- Found PythonLibs: /home/ali/rfnocv4/oe/sysroots/cortexa9t2hf-neon-oe-linux-gnueabi/usr/lib/libpython2.7.so (found suitable version "2.7.17", minimum required is "2")
-- User set python executable /usr/bin/python2.7
-- Found PythonLibs: /home/ali/rfnocv4/oe/sysroots/cortexa9t2hf-neon-oe-linux-gnueabi/usr/lib/libpython2.7.so (found suitable exact version "2.7.17")
-- User set python executable /usr/bin/python2.7
-- Configuring done
CMake Error at /home/ali/rfnocv4/oe/sysroots/cortexa9t2hf-neon-oe-linux-gnueabi/usr/lib/cmake/gnuradio/UseSWIG.cmake:418 (add_custom_command):
Error evaluating generator expression:
$<TARGET_PROPERTY:gnuradio::runtime_swig,INTERFACE_INCLUDE_DIRECTORIES>
Target "gnuradio::runtime_swig" not found.
Call Stack (most recent call first):
/home/ali/rfnocv4/oe/sysroots/cortexa9t2hf-neon-oe-linux-gnueabi/usr/lib/cmake/gnuradio/UseSWIG.cmake:559 (SWIG_ADD_SOURCE_TO_MODULE)
/home/ali/rfnocv4/oe/sysroots/cortexa9t2hf-neon-oe-linux-gnueabi/usr/lib/cmake/gnuradio/GrSwig.cmake:137 (swig_add_library)
swig/CMakeLists.txt:58 (GR_SWIG_MAKE)
CMake Error at /home/ali/rfnocv4/oe/sysroots/cortexa9t2hf-neon-oe-linux-gnueabi/usr/lib/cmake/gnuradio/UseSWIG.cmake:418 (add_custom_command):
Error evaluating generator expression:
$<TARGET_PROPERTY:gnuradio::runtime_swig,INTERFACE_INCLUDE_DIRECTORIES>
Target "gnuradio::runtime_swig" not found.
Call Stack (most recent call first):
/home/ali/rfnocv4/oe/sysroots/cortexa9t2hf-neon-oe-linux-gnueabi/usr/lib/cmake/gnuradio/UseSWIG.cmake:559 (SWIG_ADD_SOURCE_TO_MODULE)
/home/ali/rfnocv4/oe/sysroots/cortexa9t2hf-neon-oe-linux-gnueabi/usr/lib/cmake/gnuradio/GrSwig.cmake:137 (swig_add_library)
swig/CMakeLists.txt:58 (GR_SWIG_MAKE)
.....
CMake Error at /home/ali/rfnocv4/oe/sysroots/cortexa9t2hf-neon-oe-linux-gnueabi/usr/lib/cmake/gnuradio/GrSwig.cmake:144 (target_include_directories):
Error evaluating generator expression:
$<TARGET_PROPERTY:gnuradio::runtime_swig,INTERFACE_INCLUDE_DIRECTORIES>
Target "gnuradio::runtime_swig" not found.
Call Stack (most recent call first):
swig/CMakeLists.txt:58 (GR_SWIG_MAKE)
-- Generating done
CMake Generate step failed. Build files cannot be regenerated correctly.
terminaloutput.txt
thanks.
Hello,
I have the following configuration (all compiled from sources) :
When I try to add a RFNoC block under gnuradio-companion, all blocks are working ok except the latest added blocks: FIR Filter, SigGen, Window. When I try to add one of these blocks in a flowgraph, I have the following error, and the block does not appear:
Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/gnuradio/grc/gui/Application.py", line 410, in _handle_action
flow_graph_update()
File "/usr/local/lib/python3.9/dist-packages/gnuradio/grc/gui/Application.py", line 122, in flow_graph_update
fg.update()
File "/usr/local/lib/python3.9/dist-packages/gnuradio/grc/gui/canvas/flowgraph.py", line 205, in update
self.create_labels()
File "/usr/local/lib/python3.9/dist-packages/gnuradio/grc/gui/canvas/flowgraph.py", line 508, in create_labels
element.create_labels(cr)
File "/usr/local/lib/python3.9/dist-packages/gnuradio/grc/gui/canvas/block.py", line 169, in create_labels
markups = [param.format_block_surface_markup()
File "/usr/local/lib/python3.9/dist-packages/gnuradio/grc/gui/canvas/block.py", line 169, in <listcomp>
markups = [param.format_block_surface_markup()
File "/usr/local/lib/python3.9/dist-packages/gnuradio/grc/gui/canvas/param.py", line 173, in format_block_surface_markup
self.pretty_print().replace('\n', ' '))
File "/usr/local/lib/python3.9/dist-packages/gnuradio/grc/gui/canvas/param.py", line 121, in pretty_print
return self.truncate(value)
File "/usr/local/lib/python3.9/dist-packages/gnuradio/grc/gui/canvas/param.py", line 99, in truncate
if len(string) > max_len:
TypeError: object of type 'int' has no len()
Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/gnuradio/grc/gui/DrawingArea.py", line 220, in draw
self._flow_graph.draw(cr)
File "/usr/local/lib/python3.9/dist-packages/gnuradio/grc/gui/canvas/flowgraph.py", line 535, in draw
draw_element(cr)
File "/usr/local/lib/python3.9/dist-packages/gnuradio/grc/gui/canvas/block.py", line 261, in draw
port.draw(cr)
File "/usr/local/lib/python3.9/dist-packages/gnuradio/grc/gui/canvas/port.py", line 143, in draw
cr.rectangle(*self._area)
TypeError: Context.rectangle() takes exactly 4 arguments (0 given)
(...)
Is there a known workaround?
Thanks.
I have installed gr-ettus, gnuradio, uhd in a custom prefix
~/workspace/installs/stable/
I was trying to build a custom RFNoC module using rfnocmodtool. So when I did I am getting the following error :
ya-seen@sdr-linux-machine:~$ source workspace/installs/stable/setup.env
ya-seen@sdr-linux-machine:~$ rfnocmodtool newmod MyFirstnoc
Could not find rfnoc-newmod source dir.
Please run:
$ rfnocmodtool newmod [NAME] --srcdir {path/to/rfnoc-newmod/}
Specifying the path where the newmod template is located.
even after supplying a --srcdir param I was getting the same error
ya-seen@sdr-linux-machine:~$ rfnocmodtool newmod MyFirstnoc --srcdir /workspace/installs/stable/share/gr-ettus/rfnoc_modtool/rfnoc-newmod
Could not find rfnoc-newmod source dir.
Please run:
$ rfnocmodtool newmod [NAME] --srcdir {path/to/rfnoc-newmod/}
Specifying the path where the newmod template is located.
Line 250 of gr-ettus/python/rfnoc_modtool/rfnoc-newmod/CMakeLists.txt
has a bug:
COMMAND source ${FPGA}/usrp3/top/e300/setupenv.sh && make -C rfnoc/testbenches/${name} ${SIM} FPGA_TOP_DIR=${FPGA}
e300 is now e3xx in the fpga repo, so this step causes make noc_block_[name_of_your_block]_tb to fail.
Also might be worth changing rfnoc/testbenches/${name}
to an absolute path-- ${CMAKE_SOURCE_DIR}/rfnoc/testbenches/${name}
Hi,
I am not sure, if this belongs here. Feel free to close this issue if this is the wrong place for it.
the rfnoc_image_builder cannot convert gnuradio-companion graphs at the moment.
rfnoc_image_builder -r example/rfnoc_radio_ddc.grc -b /usr/share/gnuradio/grc/blocks
failes with
[INF] Converting GNU Radio Companion file to image builder format
Traceback (most recent call last):
File "/usr/bin/rfnoc_image_builder", line 212, in <module>
sys.exit(main())
File "/usr/bin/rfnoc_image_builder", line 190, in main
config, source, device, target = image_config(args)
File "/usr/bin/rfnoc_image_builder", line 120, in image_config
config = image_builder.convert_to_image_config(config, args.grc_blocks)
File "/usr/lib/python3.9/site-packages/uhd/imgbuilder/image_builder.py", line 498, in convert_to_image_config
seps = {item["name"]: item for item in grc["blocks"] if item["parameters"]["type"] == 'sep'}
File "/usr/lib/python3.9/site-packages/uhd/imgbuilder/image_builder.py", line 498, in <dictcomp>
seps = {item["name"]: item for item in grc["blocks"] if item["parameters"]["type"] == 'sep'}
KeyError: 'type'
uhd_config_info --version
: UHD 4.0.0.0-0-unknownI want to know how can I use the 1GB DDR3 memory in USRP-X310.
Should I search for the corresponding FPGA module in the fpga/x310 folder of UHD or gr_ettus folder?
I am using UHD3.15 and GNURadio3.7
Hi,
are there any efforts yet to port gr-ettus to GNU radio 2.8?
Would it be straightforward or are there any serious obstacles expected?
Wishing to try out the RFNoC blocks (and for some reason bound to the GIT master branch of GNU radio) I have made an attempt myself - with limited success. I was able to compile and install most of gr-ettus.
Of course the yml definitions of the blocks are missing, and automatic conversin of the xml files did not work, so I created one yml file by hand (the DmaFIFO block). The block shows up in grc and I could get rid of most error messages.
The in- and out-ports, however, are still are complaining about 'Domain key "rfnoc" is not registered' and I cannot connect anythin to this block.
Any ideas? How do I register the rfnoc Domain?
Thank you, and best regards,
Erik
Hi every one
there is a bug in CMakeLists.txt of OOT created of modtool latest version.
if you use "build" as the name of your "build folder" it will pass in "make rfnoc_block_custom_tb" but other than build, it will face error:
/bin/sh: ../../../../build/cmake/Modules/run_testbench.sh: No such file or directory
beacuse it search a non existing folder rather than "your-build-folder-name"
/gr-ettus/python/rfnoc_modtool/rfnoc-newmod/CMakeLists.txt
or /your-new-mod-oot(like rfnoc-custom)/CMakeLists.txt
line 194: add_custom_target(${_target_name}
COMMAND ${CMAKE_SOURCE_DIR}/build/cmake/Modules/run_testbench.sh ${UHD_FPGA_DIR} e310 ${CMAKE_CURRENT_SOURCE_DIR} xsim
it should be :
add_custom_target(${_target_name}
COMMAND ${CMAKE_SOURCE_DIR}/"your-build-folder-name"/cmake/Modules/run_testbench.sh ${UHD_FPGA_DIR} e310 ${CMAKE_CURRENT_SOURCE_DIR} xsim
or
add_custom_target(${_target_name}
COMMAND ${CMAKE_BINARY_DIR}/cmake/Modules/run_testbench.sh ${UHD_FPGA_DIR} e310 ${CMAKE_CURRENT_SOURCE_DIR} xsim
thanks.
Hello, I'm doing this tutorial and I used the YouTube video of it..
I'm really at the end of this tutorial.. But after I finished everything and I run my application on gnuradio i have these errors 👍
file "
/rfnoc-tutorial/examples/rfnoc_mygain. Py" , line 325,in main()/rfnoc-tutorial/examples/rfnoc_mygain. Py" , line 313,in main tb=top_block_cls()
file "
file "~/rfnoc-tutorial/examples/rfnoc_mygain. Py" , line 129,in init attributeError:'module' object has no attribute 'gain'
what have i done wrong? I did exactly as this guide..
Thank you so much
Idan
The "RFNoC graph block" described by ettus_rfnoc_graph.block.yml allows the user to configure the time source and the clock source for each Mboard. However, these configuration items are not used in the "templates" section. The "templates" section should call the set_time_source() and set_clock_source() methods to configure the rfnoc graph block as requested by the user.
I am having some trouble with cmake, see the log below:
cmake -DENABLE_QT=True ../
-- Build type not specified: defaulting to release.
-- Checking for module 'mpir >= 3.0'
-- No package 'mpir' found
-- Could NOT find MPIR (missing: MPIRXX_LIBRARY MPIR_LIBRARY MPIR_INCLUDE_DIR)
-- User set python executable /usr/bin/python3
-- Extracting version information from git describe...
CMake Error at /usr/local/lib/cmake/gnuradio/FindUHD.cmake:97 (message):
The found UHD version (3.15.0.HEAD-0-g4e06022c) is not compatible with the
version required (4.0).
Call Stack (most recent call first):
CMakeLists.txt:98 (find_package)
Hi!
I have an error with fosphor_display:
Generating: '/home/cruiz/repositorios/sample_rfnoc.py'
Executing: /usr/bin/python -u /home/cruiz/repositorios/sample_rfnoc.py
File "/home/cruiz/repositorios/sample_rfnoc.py", line 147
self.uhd_rfnoc_fosphor_display = Template error: #set $win = 'self._%s_win'%$id
^
SyntaxError: invalid syntax
>>> Done (return code 1)
My UHD version:
[INFO] [UHD] linux; GNU C++ version 7.3.0; Boost_106501; UHD_4.0.0.rfnoc-devel-788-g1f8463cc
Thank you.
CMake doesn't check if the ruamel.yaml
Python module is installed. UHD checks for it in the following way:
set(RUAMEL.YAML_MIN_VERSION "0.15")
PYTHON_CHECK_MODULE(
"ruamel.yaml ${RUAMEL.YAML_MIN_VERSION} or greater"
"ruamel.yaml" "LooseVersion(ruamel.yaml.__version__) >= LooseVersion('${RUAMEL.YAML_MIN_VERSION}')"
HAVE_PYTHON_MODULE_YAML
)
Where PYTHON_CHECK_MODULE
comes from UHDPython.cmake
which isn't installed with UHD, but comes from UHD.
In some test files (python_api_test.py
and uhd_test_base.py
), UHD does the following:
try:
from ruamel import yaml
except:
import yaml
Is the ruamel.yaml Python module really required, or is it just nice to have? Can the try/except
import work for this dependency? If not, should UHDPython.cmake
be installed by UHD, or should the macro just come over to this repository?
Error in compiling........How can solve it......
make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/liborc-0.4.so', needed by 'lib/libgnuradio-ettus.so.v3.8-compat-xxx-xunknown'. Stop.
make[1]: *** [CMakeFiles/Makefile2:289: lib/CMakeFiles/gnuradio-ettus.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
i'm building a system with an X310 as the frontend receiver. i'd like to be able to use RFNoC blocks to split the stream from RX2 (RFA) into a high-rate(200Msps) stream and a decimated low-rate(5Msps) stream, sending high rate over SFP+ Port 0 and low-rate over SFP Port 1. Is that possible using stream args (channel=0,1 maybe?) in the rx streamer block? I can't seem to get any valid stream args to take.
I'm working on building the splitstream block into my image, so for now I have been able to get RFA-RX2 and RFB-RX2 streams into gnuradio using 2 rx streamers (flowgraph attached), but according to tcpdump/iftop the streams are muxed onto one interface?
i have also posted a question on the usrp-users message board, but not gotten a response yet.
https://lists.ettus.com/empathy/thread/MKEWJTRONAY7RXUMXBMYM2W2ZV3EGEIQ
I've tried several version combinations of UHD , GNURadio and RFNoC(gr_ettus).
When I am using UHD3.15+GNURadio3.8 rfnocmodtool in gr_ettus is for GNURadio 3.7 , so this conbanion is failed
When I am using GNURadio 3.8 and UHD4.0 the gr_ettus can not be cmaked.
Eventually, I successfully use rfmocmodtool with the conbanion of UHD3.15+GNURadio3.7, and program FPGA in X310. but I had to rewrite my gr_modtool OOT block for low version 3.7 of GNURadio.
The description of my failure experience may be inaccurate due to the time passed, but I hope Ettus can provide a correct gr_ettus software package for deverse combanion of UHD and GNURadio. and determine rfnocmodtool can run successfully.
I think my experience could be helpful.
By the way, I download ZIP of UHD, GNURADIO and ge_ettus form github because of my bad webwork, and I didn't use the git tool.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.