| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
- Added new register_iface class that translates high-level
peek/poke calls into CHDR control payloads
- Added new chdr_ctrl_endpoint class that emulates a control
stream endpoint in SW. It can create and handle multiple
register interfaces
|
| |
|
|
|
|
|
|
|
|
| |
- Added action_info class
- Allow to send actions from node to node
- Allow to post actions into nodes
- Allow to set default forwarding policies
- Added unit tests
|
|
|
|
|
|
|
| |
- Moved packet interface code from public to private include
- Split packet interface into two files: payload paring and packet iface
- Added support for all CHDR packet types
- Added more test cases to unit test
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Adds a detail::graph_t class, which handles the propagation
- Adds methods to node_t to aid with propagation
- Adds unit tests
- Adds dynamic property forwarding:
Nodes are now able to forward properties they don't know about by
providing a forwarding policy. A good example is the FIFO block which
simply forwards most properties verbatim.
- node: Temporarily disabling consistency check at init
|
|
|
|
| |
This is a parent class for all block controllers.
|
|
|
|
| |
This is a generic CHDR interface that abstracts out the bus width.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds the following classes:
- uhd::rfnoc::node_t, the base class for RFNoC nodes
- uhd::rfnoc::node_accessor_t, a class to access private properties
- uhd::rfnoc::res_source_info, a struct that identifies where properties
come from
- uhd::rfnoc::property_t, and property_base_t (its parent)
- uhd::rfnoc::prop_accessor_t, a class to access properties
Add always dirty property (dirtifier).
Also adds unit tests for properties.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Applying formatting in anticipation of upcoming changes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add convenience factory for making a gain group that has a single
zero-valued element. This factory requires a name, which should
probably be ALL_GAINS, or something similar (these constants are
device-specific).
Using this new make_zero factory in the X300 radio control when we
don't find any gain elements so that our gain groups aren't empty. This
simplifies our later setters/getters because we know that we'll always
have _something_ cached.
Note that we only register this zero value gain group for TX, as our
ADC is registered as a gain element, so our RX gain groups are never
empty.
|
| |
|
|
|
|
|
| |
This is the inverse to std::to_string(), and we can overload it with
UHD-internal types.
|
|
|
|
| |
This is the only occurrence of boost::unordered_map in UHD.
|
|
|
|
|
| |
This mode is never used, and makes it more cumbersome to maintain this
code.
|
|
|
|
|
|
|
| |
The custom copy ctor for dirty_tracked was using the = operator, which
wouldn't necessarily copy the dirty flag. By removing it (and thus using
the default copy ctor), the copied dirty_tracked object now has the same
value *and* dirty flag as the original.
|
| |
|
|
|
|
| |
This is the only occurrence of boost::atomic in UHD.
|
|
|
|
| |
Newer devices may be able to provide more then 32 bits worth of samples.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the following exception types:
- rfnoc_error
- op_failed
- op_seqerr
- op_timeout
- op_timeerr
- access_error
- It is meant to be used when access violations have taken place,
i.e., when a resource is being accessed without appropriate
permissions.
- resolve_error
- This is a derivative of rfnoc_error, and will be used when a
property resolution fails unexpectedly.
- routing_error
- For use when the framework has path setup issues or general
routing-related errors
|
|
|
|
|
|
|
|
|
| |
This removes the following symbols:
- otw_type_t
- clock_config_t
- Any functions that use those symbols
- Non-standard args from examples (e.g., --total-time is deprecated in
favour of --duration)
|
|
|
|
| |
Note: N230 is still supported on the 3.15 LTS branch
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
| |
This will now allow calls like this:
uhd::dict<k, v> d = /* ... */;
auto m = static_cast<std::map<k, v>>(d);
|
|
|
|
|
|
|
|
| |
Added cmake variable to set the component (currently UHD or MPM).
so the banner printed by the log_resource would reference the correct
component. Added accessor function and appropriate calls in log.cpp.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
| |
This reverts commit 94592641f0647563bc4d2163805d5284a6796273.
The commit itself was OK, but it changed the requirements such that UHD
could only be compiled with C++11.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This requires noc_shell compat number 6.0. It will allow sending as many
command packets, but no more, than there is space.
Updated FPGA images for devices:
- X310/X300
- N300/N310/N320
- E310/E320
|
| |
|
| |
|
|
|
|
| |
Boost moved this around in version 1.58.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This provides a platform-independent attribute to allow fallthroughs in
switch statements. Example:
switch (foo) {
case BAR:
do_something();
UHD_FALLTHROUGH
case BAZ:
do_another_thing();
}
The usage of UHD_FALLTHROUGH will avoid a compiler warning if indeed the
fallthrough was intentional. The associated warning
(-Wimplicit-fallthrough) is only available on gcc and Clang.
|
| |
|
|
|
|
|
|
| |
Blocks that change scaling, tick rate, or sampling rate can now notify
the graph to update streamers. Before, this was handled only by
mult_usrp, and only for DDC and DUC blocks.
|
|
|
|
| |
Using UHD_HEX() requires <iomanip>, which is now part of log.hpp.
|
| |
|
|
|
|
| |
Removes warnings due to -Wdeprecated-copy
|
| |
|
|
|
|
|
| |
Adding pop function to property tree, which will remove and return a
property from the property tree. This also includes unit tests.
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Ran clang-format
- Fixed typos
- Updated copyright headers
clang-format -i --style=file \
host/include/uhd/property_tree.hpp \
host/include/uhd/property_tree.ipp
clang-format -i --style=file \
host/lib/property_tree.cpp host/tests/property_test.cpp
|
|
|
|
|
|
|
|
| |
Clients that include the UHD C headers have access to
the version and ABI #defines, but this is not available
to clients that dynamically load the library. This
commit adds publicly exported functions to provide this
information.
|
|
|
|
|
|
| |
We need to properly contraint the send/recv_frame_size based on the
minimum MTU of all the down/upstream blocks. This fixes the issue with
E310 tx/rx streaming as it has smaller MTU sizes than the other usrps.
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Turns the E310 into an MPM device (like N3xx, E320)
- Factor out common code between E320 and E310, maximize sharing between
the two devices
- Remove all pre-MPM E310 code that is no longer needed
- Modify MPM to remove all existing overlays before applying new ones
(this is necessary to enable idle image mode for E310)
Co-authored-by: Virendra Kakade <virendra.kakade@ni.com>
Signed-off-by: Virendra Kakade <virendra.kakade@ni.com>
|
|
|
|
|
| |
This removes all version hacks that were required for Boost versions
1.53 through 1.58 (since we now require 1.58).
|
|
|
|
|
|
|
| |
This is a utility for RAII-style operations. An object that will run
code when a scope is left.
Also includes unit tests.
|
|
|
|
|
| |
This avoids having to include config.hpp. Also, the UHD_INLINE should be
avoided in favour of either inline, or UHD_FORCE_INLINE.
|
|
|
|
|
|
|
|
|
|
|
| |
Before, code would get formatted thus:
template <typename T> class X {}
Now, it gets formatted as such:
template <typename T>
class X {}
|