17 namespace uhd {
namespace rfnoc {
24 typedef std::shared_ptr<blockdef>
sptr;
42 bool is_variable(
const std::string& key)
const;
44 bool is_keyword(
const std::string& key)
const;
47 bool is_valid()
const;
49 std::string to_string()
const;
64 bool is_valid()
const;
66 std::string to_string()
const;
78 static sptr make_from_noc_id(uint64_t noc_id);
81 virtual bool is_block()
const = 0;
84 virtual bool is_component()
const = 0;
87 virtual std::string get_key()
const = 0;
90 virtual std::string get_name()
const = 0;
93 virtual uint64_t noc_id()
const = 0;
95 virtual ports_t get_input_ports() = 0;
96 virtual ports_t get_output_ports() = 0;
99 virtual std::vector<size_t> get_all_port_numbers() = 0;
104 virtual args_t get_args() = 0;
107 virtual registers_t get_settings_registers() = 0;
110 virtual registers_t get_readback_registers() = 0;
Definition: blockdef.hpp:21
uhd::dict< std::string, size_t > registers_t
Definition: blockdef.hpp:70
static const std::set< std::string > VALID_TYPES
Definition: blockdef.hpp:59
std::vector< arg_t > args_t
Definition: blockdef.hpp:68
Definition: build_info.hpp:12
#define UHD_API
Definition: config.h:87
Describes port options for a block definition.
Definition: blockdef.hpp:33
static const device_addr_t PORT_ARGS
A list of args a port can have.
Definition: blockdef.hpp:37
static const device_addr_t ARG_ARGS
A list of args an argument can have.
Definition: blockdef.hpp:58
Describes arguments in a block definition.
Definition: blockdef.hpp:54
std::shared_ptr< blockdef > sptr
Definition: blockdef.hpp:24
std::vector< port_t > ports_t
Definition: blockdef.hpp:51
Definition: device_addr.hpp:37