USRP Hardware Driver and USRP Manual Version: 3.15.0.0-MacPorts-Release
UHD and USRP Manual
 
Loading...
Searching...
No Matches
window_block_ctrl.hpp
Go to the documentation of this file.
1//
2// Copyright 2014-2018 Ettus Research, a National Instruments Company
3//
4// SPDX-License-Identifier: GPL-3.0-or-later
5//
6
7#ifndef INCLUDED_LIBUHD_RFNOC_WINDOW_BLOCK_CTRL_HPP
8#define INCLUDED_LIBUHD_RFNOC_WINDOW_BLOCK_CTRL_HPP
9
12
13namespace uhd { namespace rfnoc {
14
28{
29public:
31
32 static const size_t MAX_COEFF_VAL = 32767;
33 static const uint32_t SR_WINDOW_LEN = 131; // Note: AXI config bus uses 129 & 130
34 static const uint32_t RB_MAX_WINDOW_LEN = 0;
35 static const uint32_t AXIS_WINDOW_LOAD = AXIS_CONFIG_BUS + 0; // 2*0+0
36 static const uint32_t AXIS_WINDOW_LOAD_TLAST = AXIS_CONFIG_BUS + 1; // 2*0+1
37
39 //
40 // \p coeffs size determines the window length. If it longer than
41 // the maximum window length, throws a uhd::value_error.
42 virtual void set_window(const std::vector<int>& coeffs) = 0;
43
45 virtual size_t get_max_len() const = 0;
46
48 virtual size_t get_window_len() const = 0;
49
50}; /* class window_block_ctrl*/
51
52}} /* namespace uhd::rfnoc */
53
54#endif /* INCLUDED_LIBUHD_RFNOC_WINDOW_BLOCK_CTRL_HPP */
#define UHD_RFNOC_BLOCK_OBJECT(class_name)
This macro must be put in the public section of an RFNoC.
Definition block_ctrl_base.hpp:59
Definition sink_block_ctrl_base.hpp:26
Definition source_block_ctrl_base.hpp:26
Block controller for the standard windowing RFNoC block.
Definition window_block_ctrl.hpp:28
#define UHD_RFNOC_API
Definition config.hpp:117
Definition build_info.hpp:13