USRP Hardware Driver and USRP Manual Version: 3.15.0.0-MacPorts-Release
UHD and USRP Manual
Loading...
Searching...
No Matches
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
virtual void set_words_per_packet(const uint32_t num_words, const size_t chan)=0
Sets the size of the packets played by the Replay block (in 64-bit words)
virtual void config_play(const uint32_t base_addr, const uint32_t size, const size_t chan)=0
Configure the base address and size of the playback buffer region (in bytes).
virtual void config_record(const uint32_t base_addr, const uint32_t size, const size_t chan)=0
Configure the base address and size of the record buffer region (in bytes).
virtual uint32_t get_record_size(const size_t chan)=0
Returns the size of the record buffer (in bytes).
virtual uint32_t get_words_per_packet(const size_t chan)=0
Returns the size of the packets played by the Replay block (in 64-bit words)
virtual uint32_t get_record_fullness(const size_t chan)=0
Returns the current fullness of the record buffer (in bytes).
virtual void play_halt(const size_t chan)=0
Halts playback and clears the playback command FIFO.
virtual void record_restart(const size_t chan)=0
Restarts recording at the beginning of the record buffer.
virtual uint32_t get_play_size(const size_t chan)=0
Returns the size of the playback buffer (in bytes).
virtual uint32_t get_play_addr(const size_t chan)=0
Returns the base address of the playback buffer (in bytes).
virtual uint32_t get_record_addr(const size_t chan)=0
Returns the base address of the record buffer (in bytes).
Definition sink_block_ctrl_base.hpp:26
Definition source_block_ctrl_base.hpp:26
#define UHD_RFNOC_API
Definition config.hpp:117
Definition block_ctrl.hpp:14
Definition build_info.hpp:13