Loading...
Searching...
No Matches
keep_one_in_n_block_control.hpp
Go to the documentation of this file.
//
// Copyright 2020 Ettus Research, a National Instruments Brand
//
// SPDX-License-Identifier: GPL-3.0-or-later
//
#pragma once
#include <uhd/config.hpp>
#include <uhd/rfnoc/noc_block_base.hpp>
#include <uhd/types/ranges.hpp>
namespace uhd { namespace rfnoc {
class UHD_API keep_one_in_n_block_control : public noc_block_base
{
public:
RFNOC_DECLARE_BLOCK(keep_one_in_n_block_control)
enum class mode { SAMPLE_MODE, PACKET_MODE };
// Block registers
static const uint32_t REG_N_OFFSET;
static const uint32_t REG_MODE_OFFSET;
static const uint32_t REG_WIDTH_N_OFFSET;
virtual size_t get_max_n() const = 0;
virtual size_t get_n(const size_t chan = 0) const = 0;
virtual void set_n(const size_t n, const size_t chan = 0) = 0;
virtual mode get_mode(const size_t chan = 0) const = 0;
virtual void set_mode(const mode mode, const size_t chan = 0) = 0;
};
}} // 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::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