| USRP Hardware Driver and USRP Manual Version: 4.8.0.makepkg-0-g308126a4 UHD and USRP Manual |

Loading...
Searching...
No Matches
vector_iir_block_control.hpp
Go to the documentation of this file.
1//
2// Copyright 2020 Ettus Research, a National Instruments Brand
3//
4// SPDX-License-Identifier: GPL-3.0-or-later
5//
6
7#pragma once
8
9#include <uhd/config.hpp>
10#include <uhd/rfnoc/noc_block_base.hpp>
11
12 namespace uhd { namespace rfnoc {
13
31 class UHD_API vector_iir_block_control : public noc_block_base
32{
33 public:
34 RFNOC_DECLARE_BLOCK(vector_iir_block_control)
35
36 static const uint32_t REG_BLOCK_SIZE;
37
38 static const uint32_t REG_DELAY_OFFSET;
39 static const uint32_t REG_ALPHA_OFFSET;
40 static const uint32_t REG_BETA_OFFSET;
41
49 virtual void set_alpha(const double alpha, const size_t chan) = 0;
50
58 virtual double get_alpha(const size_t chan) const = 0;
59
67 virtual void set_beta(const double beta, const size_t chan) = 0;
68
76 virtual double get_beta(const size_t chan) const = 0;
77
87 virtual void set_delay(const uint16_t delay, const size_t chan) = 0;
88
97 virtual uint16_t get_delay(const size_t chan) const = 0;
98
107 virtual uint16_t get_max_delay(const size_t chan) const = 0;
108};
109
110}} // namespace uhd::rfnoc
uhd::rfnoc::noc_block_base::noc_block_base
noc_block_base(make_args_ptr make_args)
uhd::rfnoc::vector_iir_block_control
Definition vector_iir_block_control.hpp:32
uhd::rfnoc::vector_iir_block_control::REG_ALPHA_OFFSET
static const uint32_t REG_ALPHA_OFFSET
Definition vector_iir_block_control.hpp:39
uhd::rfnoc::vector_iir_block_control::REG_BETA_OFFSET
static const uint32_t REG_BETA_OFFSET
Definition vector_iir_block_control.hpp:40
uhd::rfnoc::vector_iir_block_control::REG_DELAY_OFFSET
static const uint32_t REG_DELAY_OFFSET
Definition vector_iir_block_control.hpp:38
uhd::rfnoc::vector_iir_block_control::REG_BLOCK_SIZE
static const uint32_t REG_BLOCK_SIZE
Definition vector_iir_block_control.hpp:36
uhd::rfnoc::vector_iir_block_control::get_beta
virtual double get_beta(const size_t chan) const =0
uhd::rfnoc::vector_iir_block_control::get_max_delay
virtual uint16_t get_max_delay(const size_t chan) const =0
uhd::rfnoc::vector_iir_block_control::set_beta
virtual void set_beta(const double beta, const size_t chan)=0
uhd::rfnoc::vector_iir_block_control::get_alpha
virtual double get_alpha(const size_t chan) const =0
uhd::rfnoc::vector_iir_block_control::set_delay
virtual void set_delay(const uint16_t delay, const size_t chan)=0
uhd::rfnoc::vector_iir_block_control::get_delay
virtual uint16_t get_delay(const size_t chan) const =0
uhd::rfnoc::vector_iir_block_control::set_alpha
virtual void set_alpha(const double alpha, const size_t chan)=0
UHD_API
#define UHD_API
Definition config.h:87
config.hpp
uhd::rfnoc
Definition actions.hpp:24
uhd
Definition build_info.hpp:12
noc_block_base.hpp
RFNOC_DECLARE_BLOCK
#define RFNOC_DECLARE_BLOCK(CLASS_NAME)
Definition noc_block_base.hpp:22