13 #include <boost/optional.hpp>
16 namespace uhd {
namespace rfnoc {
195 const std::optional<uhd::time_spec_t> time = {}) = 0;
199 return set_freq(freq, chan, std::make_optional(time));
202 [[deprecated(
"Prefer std::optional over boost::optional.")]]
virtual double set_freq(
205 const boost::optional<uhd::time_spec_t> time)
208 freq, chan,
bool(time) ? std::make_optional(*time) : std::nullopt);
215 virtual double get_freq(
const size_t chan)
const = 0;
Definition: duc_block_control.hpp:140
virtual void set_output_rate(const double rate, const size_t chan)=0
static const reg_addrs_t REG_ADDRS_V1
Definition: duc_block_control.hpp:165
static const uint32_t REG_COMPAT_NUM
Definition: duc_block_control.hpp:161
virtual double get_freq(const size_t chan) const =0
virtual double get_input_rate(const size_t chan) const =0
virtual uhd::meta_range_t get_input_rates(const size_t chan) const =0
virtual uhd::freq_range_t get_frequency_range(const size_t chan) const =0
virtual double set_freq(const double freq, const size_t chan, const boost::optional< uhd::time_spec_t > time)
Definition: duc_block_control.hpp:202
virtual double get_output_rate(const size_t chan) const =0
virtual double set_freq(const double freq, const size_t chan, const std::optional< uhd::time_spec_t > time={})=0
double set_freq(const double freq, const size_t chan, const uhd::time_spec_t time)
Definition: duc_block_control.hpp:197
static const reg_addrs_t REG_ADDRS_V0
Definition: duc_block_control.hpp:163
virtual double set_input_rate(const double rate, const size_t chan)=0
Definition: noc_block_base.hpp:42
Definition: time_spec.hpp:31
#define UHD_API
Definition: config.h:87
Definition: build_info.hpp:12
#define RFNOC_DECLARE_BLOCK(CLASS_NAME)
Definition: noc_block_base.hpp:22
Version-specific register addresses.
Definition: duc_block_control.hpp:146
std::optional< uint32_t > m_addr
Definition: duc_block_control.hpp:152
uint16_t minor_compat
Definition: duc_block_control.hpp:148
uint32_t interp_addr
Definition: duc_block_control.hpp:154
uint32_t freq_addr
Definition: duc_block_control.hpp:155
uint16_t major_compat
Definition: duc_block_control.hpp:147
uint32_t time_incr_addr
Definition: duc_block_control.hpp:157
std::optional< uint32_t > config_addr
Definition: duc_block_control.hpp:153
uint32_t scale_iq_addr
Definition: duc_block_control.hpp:156
uint32_t num_hb
Definition: duc_block_control.hpp:149
std::optional< uint32_t > n_addr
Definition: duc_block_control.hpp:151
uint32_t cic_max_interp
Definition: duc_block_control.hpp:150