|
| RFNOC_DECLARE_BLOCK (siggen_block_control) |
|
virtual void | set_enable (const bool enable, const size_t port)=0 |
|
virtual bool | get_enable (const size_t port) const =0 |
|
virtual void | set_waveform (const siggen_waveform type, const size_t port)=0 |
|
virtual siggen_waveform | get_waveform (const size_t port) const =0 |
|
virtual void | set_amplitude (const double amplitude, const size_t port)=0 |
|
virtual double | get_amplitude (const size_t port) const =0 |
|
virtual void | set_constant (const std::complex< double > constant, const size_t port)=0 |
|
virtual std::complex< double > | get_constant (const size_t port) const =0 |
|
virtual void | set_sine_phase_increment (const double phase_inc, const size_t port)=0 |
|
virtual double | get_sine_phase_increment (const size_t port) const =0 |
|
virtual void | set_samples_per_packet (const size_t spp, const size_t port)=0 |
|
virtual size_t | get_samples_per_packet (const size_t port) const =0 |
|
void | set_sine_frequency (const double frequency, const double sample_rate, const size_t port) |
|
| ~noc_block_base () override |
|
std::string | get_unique_id () const override |
| Unique ID for an RFNoC block is its block ID. More...
|
|
size_t | get_num_input_ports () const override |
|
size_t | get_num_output_ports () const override |
|
noc_id_t | get_noc_id () const |
|
const block_id_t & | get_block_id () const |
|
double | get_tick_rate () const |
|
size_t | get_mtu (const res_source_info &edge) |
|
size_t | get_chdr_hdr_len (const bool account_for_ts=true) const |
|
size_t | get_max_payload_size (const res_source_info &edge, const bool account_for_ts=true) |
|
uhd::device_addr_t | get_block_args () const |
|
uhd::property_tree::sptr & | get_tree () const |
| Return a reference to this block's subtree. More...
|
|
uhd::property_tree::sptr & | get_tree () |
| Return a reference to this block's subtree (non-const version) More...
|
|
std::shared_ptr< mb_controller > | get_mb_controller () |
|
| node_t () |
|
virtual | ~node_t () |
|
std::vector< std::string > | get_property_ids () const |
|
template<typename prop_data_t > |
void | set_property (const std::string &id, const prop_data_t &val, const size_t instance=0) |
|
void | set_properties (const uhd::device_addr_t &props, const size_t instance=0) |
|
template<typename prop_data_t > |
const prop_data_t & | get_property (const std::string &id, const size_t instance=0) |
|
virtual void | set_command_time (uhd::time_spec_t time, const size_t instance) |
|
virtual uhd::time_spec_t | get_command_time (const size_t instance) const |
|
virtual void | clear_command_time (const size_t instance) |
|
| register_iface_holder (register_iface::sptr reg) |
|
virtual | ~register_iface_holder ()=default |
|
register_iface & | regs () |
|
|
using | sptr = std::shared_ptr< noc_block_base > |
|
using | make_args_ptr = std::unique_ptr< make_args_t > |
| Opaque pointer to the constructor arguments. More...
|
|
enum | forwarding_policy_t {
forwarding_policy_t::ONE_TO_ONE,
forwarding_policy_t::ONE_TO_FAN,
forwarding_policy_t::ONE_TO_ALL_IN,
forwarding_policy_t::ONE_TO_ALL_OUT,
forwarding_policy_t::ONE_TO_ALL,
forwarding_policy_t::DROP,
forwarding_policy_t::USE_MAP
} |
| Types of property/action forwarding for those not defined by the block itself. More...
|
|
using | resolver_fn_t = std::function< void(void)> |
|
using | resolve_callback_t = std::function< void(void)> |
|
using | graph_mutex_callback_t = std::function< std::recursive_mutex &(void)> |
|
using | action_handler_t = std::function< void(const res_source_info &, action_info::sptr)> |
|
using | forwarding_map_t = std::unordered_map< res_source_info, std::vector< res_source_info > > |
|
using | prop_ptrs_t = std::vector< property_base_t * > |
|
| noc_block_base (make_args_ptr make_args) |
|
void | set_num_input_ports (const size_t num_ports) |
|
void | set_num_output_ports (const size_t num_ports) |
|
void | set_tick_rate (const double tick_rate) |
|
void | set_mtu_forwarding_policy (const forwarding_policy_t policy) |
|
void | set_mtu (const res_source_info &edge, const size_t new_mtu) |
|
property_base_t * | get_mtu_prop_ref (const res_source_info &edge) |
|
virtual void | deinit () |
|
void | register_property (property_base_t *prop, resolve_callback_t &&clean_callback=nullptr) |
|
void | add_property_resolver (prop_ptrs_t &&inputs, prop_ptrs_t &&outputs, resolver_fn_t &&resolver_fn) |
|
void | set_prop_forwarding_policy (forwarding_policy_t policy, const std::string &prop_id="") |
|
void | set_prop_forwarding_map (const forwarding_map_t &map) |
|
template<typename prop_data_t > |
void | set_property (const std::string &id, const prop_data_t &val, const res_source_info &src_info) |
|
template<typename prop_data_t > |
const prop_data_t & | get_property (const std::string &id, const res_source_info &src_info) |
|
void | register_action_handler (const std::string &id, action_handler_t &&handler) |
|
void | set_action_forwarding_policy (forwarding_policy_t policy, const std::string &action_key="") |
|
void | set_action_forwarding_map (const forwarding_map_t &map) |
|
void | post_action (const res_source_info &edge_info, action_info::sptr action) |
|
virtual bool | check_topology (const std::vector< size_t > &connected_inputs, const std::vector< size_t > &connected_outputs) |
|
void | update_reg_iface (register_iface::sptr new_iface=nullptr) |
|
static dirtifier_t | ALWAYS_DIRTY |
| A dirtifyer object, useful for properties that always need updating. More...
|
|
Siggen Control Class
The Siggen Block is an RFNoC block that acts as a simple function generating source block. The block supports three functions: generating a constant value, generating a sinusoidal wave with a configurable amplitude and phase increment between samples (but with a random initial phase offset), and a noise source.
virtual void uhd::rfnoc::siggen_block_control::set_amplitude |
( |
const double |
amplitude, |
|
|
const size_t |
port |
|
) |
| |
|
pure virtual |
Set the amplitude value for noise and sine wave data
Sets the maximum amplitude of the data generated by the given port on the block. The hardware can generate function data with an amplitude between -1.0 and (2^15-1)/(2^15), or approximately 0.99997, so the provided value must reside within this range. However, for convenience, clients may pass 1.0 to get the maximum amplitude that can be generated.
Setting the amplitude applies only to the noise and to the sine wave functions. The value generated when in constant mode is the value that is configured via the set_constant() function. Calling this function when in constant mode will range check the amplitude value, but will otherwise have no impact on the generated signal.
- Parameters
-
amplitude | Amplitude of sine wave and noise data |
port | The port on the block whose amplitude value to set |
virtual void uhd::rfnoc::siggen_block_control::set_constant |
( |
const std::complex< double > |
constant, |
|
|
const size_t |
port |
|
) |
| |
|
pure virtual |
Set the constant value to generate in constant mode
Sets the value that should be generated by the function generator on the given block when the block is configured in constant mode. The hardware can output a complex value where the real and imaginary components can be between -1.0 and (2^15-1)/(2^15), or approximately 0.99997, so the provided value must reside within this range. However, for convenience, clients may pass 1.0 for either component to get the maximum positive value that can be generated.
- Parameters
-
constant | The constant value to generate |
port | The port on the block whose constant value to set |