USRP Hardware Driver and USRP Manual Version: 4.2.0.0
UHD and USRP Manual
keep_one_in_n_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>
11#include <uhd/types/ranges.hpp>
12
13namespace uhd { namespace rfnoc {
14
25{
26public:
28
29 enum class mode {SAMPLE_MODE, PACKET_MODE};
30
31 // Block registers
32 static const uint32_t REG_N_OFFSET;
33 static const uint32_t REG_MODE_OFFSET;
34 static const uint32_t REG_WIDTH_N_OFFSET;
35
42 virtual size_t get_max_n() const = 0;
43
51 virtual size_t get_n(const size_t chan = 0) const = 0;
52
62 virtual void set_n(const size_t n, const size_t chan = 0) = 0;
63
71 virtual mode get_mode(const size_t chan = 0) const = 0;
72
83 virtual void set_mode(const mode mode, const size_t chan = 0) = 0;
84};
85
86}} // namespace uhd::rfnoc
Definition: keep_one_in_n_block_control.hpp:25
static const uint32_t REG_WIDTH_N_OFFSET
Definition: keep_one_in_n_block_control.hpp:34
virtual size_t get_max_n() const =0
virtual mode get_mode(const size_t chan=0) const =0
static const uint32_t REG_N_OFFSET
Definition: keep_one_in_n_block_control.hpp:32
virtual size_t get_n(const size_t chan=0) const =0
virtual void set_mode(const mode mode, const size_t chan=0)=0
mode
Definition: keep_one_in_n_block_control.hpp:29
static const uint32_t REG_MODE_OFFSET
Definition: keep_one_in_n_block_control.hpp:33
virtual void set_n(const size_t n, const size_t chan=0)=0
Definition: noc_block_base.hpp:43
#define UHD_API
Definition: config.h:87
Definition: build_info.hpp:12
#define RFNOC_DECLARE_BLOCK(CLASS_NAME)
Definition: noc_block_base.hpp:22