USRP Hardware Driver and USRP Manual Version: 3.15.0.0-MacPorts-Release
UHD and USRP Manual
replay_block_ctrl.hpp
Go to the documentation of this file.
1//
2// Copyright 2018 Ettus Research, a National Instruments Company
3//
4// SPDX-License-Identifier: GPL-3.0-or-later
5//
6
7#ifndef INCLUDED_LIBUHD_RFNOC_REPLAY_BLOCK_HPP
8#define INCLUDED_LIBUHD_RFNOC_REPLAY_BLOCK_HPP
9
12
13namespace uhd { namespace rfnoc {
14
29{
30public:
32
33
34 virtual void config_record(
35 const uint32_t base_addr, const uint32_t size, const size_t chan) = 0;
36
38 virtual void config_play(
39 const uint32_t base_addr, const uint32_t size, const size_t chan) = 0;
40
42 virtual void record_restart(const size_t chan) = 0;
43
45 virtual uint32_t get_record_addr(const size_t chan) = 0;
46
48 virtual uint32_t get_play_addr(const size_t chan) = 0;
49
51 virtual uint32_t get_record_size(const size_t chan) = 0;
52
54 virtual uint32_t get_record_fullness(const size_t chan) = 0;
55
57 virtual uint32_t get_play_size(const size_t chan) = 0;
58
60 virtual void set_words_per_packet(const uint32_t num_words, const size_t chan) = 0;
61
63 virtual uint32_t get_words_per_packet(const size_t chan) = 0;
64
66 virtual void play_halt(const size_t chan) = 0;
67
68}; /* class replay_block_ctrl*/
69
70}} /* namespace uhd::rfnoc */
71
72#endif /* INCLUDED_LIBUHD_RFNOC_REPLAY_BLOCK_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
Replay block controller.
Definition: replay_block_ctrl.hpp:29
Definition: sink_block_ctrl_base.hpp:26
Definition: source_block_ctrl_base.hpp:26
#define UHD_RFNOC_API
Definition: config.hpp:117
Definition: build_info.hpp:13