diff options
author | Martin Braun <martin.braun@ettus.com> | 2019-08-23 12:11:19 -0700 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2019-11-26 11:49:38 -0800 |
commit | af5b2b5e778ead57b0fe9e72561227f1ebbbfc42 (patch) | |
tree | 546aff3823314a2716e7b08911ca1e2a0bdfcdfc /host/include | |
parent | acc4dab894db1bb6285c3181548af16c1d1091f6 (diff) | |
download | uhd-af5b2b5e778ead57b0fe9e72561227f1ebbbfc42.tar.gz uhd-af5b2b5e778ead57b0fe9e72561227f1ebbbfc42.tar.bz2 uhd-af5b2b5e778ead57b0fe9e72561227f1ebbbfc42.zip |
rfnoc: node: Add set_properties()
node_t::set_properties() is a convenience function that lets you set
multiple properties at once from a device_addr_t.
Diffstat (limited to 'host/include')
-rw-r--r-- | host/include/uhd/rfnoc/node.hpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/host/include/uhd/rfnoc/node.hpp b/host/include/uhd/rfnoc/node.hpp index 59836fbf6..33831a4d7 100644 --- a/host/include/uhd/rfnoc/node.hpp +++ b/host/include/uhd/rfnoc/node.hpp @@ -10,9 +10,10 @@ #include <uhd/rfnoc/actions.hpp> #include <uhd/rfnoc/dirtifier.hpp> #include <uhd/rfnoc/property.hpp> +#include <uhd/types/device_addr.hpp> +#include <uhd/types/time_spec.hpp> #include <uhd/utils/log.hpp> #include <uhd/utils/scope_exit.hpp> -#include <uhd/types/time_spec.hpp> #include <unordered_map> #include <unordered_set> #include <boost/graph/adjacency_list.hpp> @@ -123,6 +124,19 @@ public: void set_property( const std::string& id, const prop_data_t& val, const size_t instance = 0); + /*! Set multiple properties coming from a dictionary + * + * This is equivalent to calling set_property() individually for every + * key/value pair of props. However, the type of the property will be + * automatically derived using RTTI. Only certain types are supported. + * + * Property resolution happens after all properties have been updated. + * + * If a key in \p props is not a valid property of this block, a warning is + * logged, but no error is raised. + */ + void set_properties(const uhd::device_addr_t& props, const size_t instance = 0); + /*! Get the value of a specific block argument. \p The type of an argument * must be known at compile time. * |