| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
While merging the FPGA code into the UHD codebase, the manual building
process was not modified, resulting in either a link to the website
instead of building the FPGA manual as part of the rest, or by using a
residual submodule.
|
|
|
|
|
|
|
|
| |
boost::regex was a requirement until the minimum version of gcc was
increased. Since it is at version 5.3 now, using Boost.Regex is no
longer necessary.
This change is a pure search-and-replace; Boost and std versions of
regex are compatible and use the same syntax.
|
|
|
|
|
|
|
| |
This commit removes all files and parts of files that are used by
proto-RFNoC only.
uhd: Fix include CMakeLists.txt, add missing files
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The builder has two major jobs:
* generate an image core file which reflects the FPGA image
configuration given by the user
* invoke Xilinx toolchain to actually build the FPGA image
For this purpose it needs to know where to find the FPGA source tree.
This tree can be give by the -F option.
The code that represents the user configurable part of the image is
written to a file called <device>_rfnoc_sandbox.v. To generate the file
these configuration files are needed:
* io_signatures.yml: A file describing the known IO signatures. This file
is global for all devices and contains the superset
of all signatures (not all signatures are used by all
devices). It resides in usrp3/top/ of the tree given
by -F.
* bsp.yml: A file describing interfaces of a specific device such as AXIS
transport interfaces or IO ports as well as device specific
settings. It resides in usrp3/top/<device> of the tree given by -F.
* <image>.yml: a file provided by the user with freely chosen name.
It describes which elements the image should contain
(RFNoC blocks, streaming endpoints, IO ports) and how
to connect them. The file also contains image setting
such as the CHDR width to be used.
The script uses mako templates to generate the sandbox file. Before the
template engine is invoked sanity checks are executed to ensure the
configuration is synthactic correct. The script also build up structures
to ease Verilog code generation in the template engine. The engine should
not invoke more Python than echoing variables or iterating of lists or
dictionaries. This eases debugging as errors in the template engine are
hard to track and difficult to read for the user.
All Python code is placed in a package called rfnoc. The templates used
by the builder are also part of this package. image_builder.py contains
a method called build_image which is the main entry point for the builder.
It can also be utilized by other Python programs. To align with the
existing uhd_image_builder there is also a wrapper in bin called
rfnoc_image_builder which expects similar commands as the uhd_image_builder.
For debugging purpuse the script can be invoked from host/utils using
$ PYTHONPATH=. python bin/rfnoc_image_builder <options>
When installed using cmake/make/make install the builder installs to
${CMAKE_INSTALL_PREFIX}bin and can be invoked without specifying a
PYTHONPATH.
One can also install the package using pip from host/utils
$ pip install .
Image config generation can also be done from GNU Radio Companion
files. The required GRC files are merged into gr-ettus.
Example usage:
$ rfnoc_image_builder -F ~/src/fpgadev -d x310 \
-r path/to/x310_rfnoc_image_core.grc \
-b path/to/gr-ettus/grc
Co-Authored-By: Alex Williams <alex.williams@ni.com>
Co-Authored-By: Sugandha Gupta <sugandha.gupta@ettus.com>
Co-Authored-By: Martin Braun <martin.braun@ettus.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Boost >= 1.58
- CMake >= 3.5.1
- gcc >= 5.4.0
- Clang >= 3.8, AppleClang >= 600
- Python >= 3.5 (Py2k no longer supported)
- Numpy >= 1.11
- C++14 for lib, include may now use C++11 constructs.
- Because there is no more code requiring C++03 syntax, we remove the
include-specific clang-format file
|
|
|
|
|
|
|
|
|
| |
Also install UHDBoost.cmake along with the CMake UHD find scripts, so
that it can be used by external modules. Tweak the UHDConfig.cmake
script so that, once installed, the new UHDBoost.cmake script is found.
Note that the project using UHD must first find UHD before trying to find
Boost. Also note that if the C++ standard is not set before UHDBoost is
loaded, it will be set to that currently used by UHD: C++14.
|
| |
|
|
|
|
|
|
| |
- Makes use of more modern find_package(Python2/3) if available
- Moves almost all Python-related code to UHDPython.cmake
- ENABLE_PYTHON3 is no longer necessary
|
|
|
|
|
|
|
|
|
| |
This means that by default:
- Symbols get exported
- Headers get installed
- Examples get compiled
The switch still exists and can be disabled.
|
|
|
|
|
|
| |
The build guide manual page now takes the min versions for the
dependencies straight from CMake. This avoids having to update the
manual whenever we bump depdendencies.
|
|
|
|
|
|
|
|
|
|
| |
- gcc >= 4.8 (same as before)
- Clang >= 3.8
- CMake >= 3.5.1
- Boost >= 1.58
Note: This also removes version-specific hacks for older CMake versions.
Now that we require 3.5.1 they are no longer necessary.
|
|
|
|
|
|
|
|
|
| |
MP and bigobj should be at compile options level instead of
compile_flags(which are at target properties level).
We have been setting these options incorrectly. They are currently not
applied to any project.
Signed-off-by: Trung Tran <trung.tran@ettus.com>
|
|
|
|
|
|
| |
This does not change the Python API itself, but it is still
a significant change. Most importantly, it removes the dependency on
Boost.Python.
|
| |
|
|
|
|
| |
+ allows proper building with both AppleClang and native Clang.
|
|
|
|
|
| |
A CMake option is either On or Off. UHD_IMAGES_DIR gets a sane
default if not specified on the CMake command line.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also updates our coding style file.
Ancient CMake versions required upper-case commands. Later command
names became case-insensitive. Now the preferred style is lower-case.
Run the following shell code (with GNU compliant sed):
cmake --help-command-list | grep -v "cmake version" | while read c; do
echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g'
done > convert.sed \
&& git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' \
'*CMakeLists.txt' | xargs -0 gsed -i -f convert.sed && rm convert.sed
(Make sure the backslashes don't get mangled!)
|
|
|
|
|
|
| |
This enables some interesting features we can now use in UHD, such as:
- target_compile_options
- add_compile_options
|
|
|
|
|
|
|
|
|
| |
On non-Windows platforms, enable the Python API by default in CMake.
Enabling the Python API in Windows causes build failures- that is, we
currently can't detect if the requirements are met in the Windows
build system. Because of that, we'll leave it disabled by default for
now.
|
|
|
|
|
| |
UHD-* branches were being detected as "development", and #cmakedefine
does not like it when values are actually zero.
|
|
|
|
|
|
|
|
|
| |
- Separating exposed Python data structures into logical sections
- Exposes all of the multi_usrp API
- Adds a layer of Python for documentation and adding helper methods
- Adds improvements and fixes to the MultiUSRP object
- Includes additional exposed data structures (like time_spec_t, etc.)
- Add code to release the Python GIL during long C++ calls
|
|
|
|
|
|
|
|
|
|
| |
Initial commit of the Python API using Boost.Python. Bind the
MultiUSRP API for use in Python. Bindings intended to provide as
complete coverage as possible.
- Wrap most multi_usrp calls
- Adding multi channel send/recv examples in examples/python
- Adding setuptools support
- Initial attempt at binding the UHD types and filters
|
| |
|
|
|
|
| |
This was replaced with the manifest.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This defines and reads configuration files that can be used to customize
UHD's behaviour. On Unix systems, they default to:
/etc/uhd/uhd.conf
$APPDATA/.uhd/uhd.conf
On Windows systems, it will look in:
%ProgramData%/uhd/uhd.conf
%AppData%/.uhd/uhd.conf
|
|
|
|
|
|
|
| |
All copyright is now attributed to "Ettus Research, a National
Instruments company".
SPDX headers were also updated to latest version 3.0.
|
|
|
|
| |
Uncommenting a CMake check for the Python module requests.
|
|
|
|
|
|
|
| |
- MSVC 14.0 is required to support a lot of the new C++11 features
required for rpclib, among others.
- Moved Boost minimum version variable to same spot as other minimum
versions
|
|
|
|
|
| |
This commit combines code from various branches to finally enable both
UDP and Liberio transports.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- NUM_HALFBANDS and CIC_MAX are no longer hard coded and are now
readback regs.
- both DDC and DUC use same encoding to enable halfbands
(increment the number)
- removed hacky hack & fixed get_output_rate/get_input_rate
to include only valid rates based on NUM_HALFBANDS and CIC_MAX.
- added compatibility number readback w/ warning/error messages
- Updated images package to include new DDC/DUC (affects X-Series only)
- Updated fpga-src submodule pointer
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
- Updated version string
- Updated fpga-src submodule
- Updated CHANGELOG
- Updated images package
|
| | |
|
|\| |
|
| |
| |
| |
| | |
- Main fix: X3x0 output FIFO size
|
|\| |
|
| | |
|
| | |
|
|\| |
|
| | |
|
|\| |
|
| |
| |
| |
| |
| | |
- Updated Debian CHANGELOG
- Updated images package
|
|\| |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
- Updated version string
- Updated fpga-src submodule
- Updated CHANGELOG
- Updated images package
|
| | |
|
|\| |
|