uhd/host
Martin Braun 7ca952d914 rfnoc: Always retain order of properties
When resolving properties, it is important to retain the order of
properties. In this patch, this is achieved by changing prop_ptrs_t from
being an unordered_set into a vector.

The biggest effect is that node_t::filter_props() now returns filtered
properties in the order they were added.

Resolving properties in the order they were added, and not in any random
order, is very helpful when designing property resolvers. For the MTU
property, however, it is almost always a requirement. That's because the
the MTU property is added first (via noc_block_base), but also, its
resolution already assumes execution of resolvers in a certain order
(see the long comment towards the end of
noc_block_base::noc_block_base()). Execution of resolvers in a certain
order can only be guaranteed if properties are also in a certain order.

A particular issue this resolves is the ability to have properties that
both depend on atomic_item_size and the MTU. Because blocks have no way
of reading the current MTU other than calling
`noc_block_base::get_mtu()`, resolvers requiring access to the MTU
assume that the MTU properties are always resolved first.

The majority of this patch revolves around syntactical differences
between std::vector and std::unordered_set, like using `push_back()`
instead of `insert()` for adding to `prop_ptrs_t`.
2022-06-14 05:24:58 -07:00
..
cmake cmake: Add support for fedora rpm versioning 2022-04-29 12:55:40 -07:00
docs docs: Update section on radio transport protocols 2022-06-03 06:12:41 -07:00
examples examples: gpio: output before end of stream 2022-06-13 12:03:43 -07:00
include rfnoc: Always retain order of properties 2022-06-14 05:24:58 -07:00
lib rfnoc: Always retain order of properties 2022-06-14 05:24:58 -07:00
python python: Check rfnoc_version in rfnoc_image_builder 2022-05-11 12:29:35 -07:00
tests rfnoc: Always retain order of properties 2022-06-14 05:24:58 -07:00
utils utils: Remove usrp_e3x0_network_mode 2022-06-03 05:07:57 -07:00
.gitignore
CMakeLists.txt cmake: Add support for fedora rpm versioning 2022-04-29 12:55:40 -07:00
LICENSE
README.md host/README.md: Fix links to knowledge base 2022-06-03 07:20:44 -07:00
uhd.pc.in

Host UHD™ Software Source Code

This directory tree contains the source code that builds the UHD software library on your host computer. This library contains the drivers for all Ettus Research products, and the framework and API that make them usable to application-level programs. The UHD library runs entirely in user-space.

Documentation

For documentation, please refer to the following resources:

For technical documentation related to our devices and UHD check out the UHD and USRP Manual.

Additionally, be sure to check out the Ettus Research FAQ, and the Knowledge Base for useful application notes and tutorials.

Support

If you have purchased an Ettus Research USRP™ product and need technical support using the device or using this UHD™ software, please e-mail the USRP-Users mailing list, which is where Ettus Research, and our community, provide support to users.

Note that you must be subscribed to the list in order to post a message to the list. This is to prevent spammers from just sending garbage messages out over the listserve.