USRP Hardware Driver and USRP Manual: keep_one_in_n_block_control.hpp Source File

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

Loading...
Searching...
No Matches
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>
10#include <uhd/rfnoc/noc_block_base.hpp>
11#include <uhd/types/ranges.hpp>
12
13namespace uhd { namespace rfnoc {
14
24 class UHD_API keep_one_in_n_block_control : public noc_block_base
25{
26public:
27 RFNOC_DECLARE_BLOCK(keep_one_in_n_block_control)
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
uhd::rfnoc::keep_one_in_n_block_control
Definition keep_one_in_n_block_control.hpp:25
uhd::rfnoc::keep_one_in_n_block_control::REG_WIDTH_N_OFFSET
static const uint32_t REG_WIDTH_N_OFFSET
Definition keep_one_in_n_block_control.hpp:34
uhd::rfnoc::keep_one_in_n_block_control::get_max_n
virtual size_t get_max_n() const =0
uhd::rfnoc::keep_one_in_n_block_control::get_mode
virtual mode get_mode(const size_t chan=0) const =0
uhd::rfnoc::keep_one_in_n_block_control::REG_N_OFFSET
static const uint32_t REG_N_OFFSET
Definition keep_one_in_n_block_control.hpp:32
uhd::rfnoc::keep_one_in_n_block_control::get_n
virtual size_t get_n(const size_t chan=0) const =0
uhd::rfnoc::keep_one_in_n_block_control::set_mode
virtual void set_mode(const mode mode, const size_t chan=0)=0
uhd::rfnoc::keep_one_in_n_block_control::mode
mode
Definition keep_one_in_n_block_control.hpp:29
uhd::rfnoc::keep_one_in_n_block_control::mode::SAMPLE_MODE
@ SAMPLE_MODE
Definition keep_one_in_n_block_control.hpp:29
uhd::rfnoc::keep_one_in_n_block_control::mode::PACKET_MODE
@ PACKET_MODE
Definition keep_one_in_n_block_control.hpp:29
uhd::rfnoc::keep_one_in_n_block_control::REG_MODE_OFFSET
static const uint32_t REG_MODE_OFFSET
Definition keep_one_in_n_block_control.hpp:33
uhd::rfnoc::keep_one_in_n_block_control::set_n
virtual void set_n(const size_t n, const size_t chan=0)=0
uhd::rfnoc::noc_block_base::noc_block_base
noc_block_base(make_args_ptr make_args)
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
ranges.hpp