12namespace uhd {
namespace rfnoc {
47 static const uint16_t MINOR_COMPAT;
48 static const uint16_t MAJOR_COMPAT;
50 static const uint32_t REPLAY_ADDR_W;
51 static const uint32_t REPLAY_BLOCK_OFFSET;
53 static const uint32_t REG_COMPAT_ADDR;
54 static const uint32_t REG_MEM_SIZE_ADDR;
55 static const uint32_t REG_REC_RESTART_ADDR;
56 static const uint32_t REG_REC_BASE_ADDR_LO_ADDR;
57 static const uint32_t REG_REC_BASE_ADDR_HI_ADDR;
58 static const uint32_t REG_REC_BUFFER_SIZE_LO_ADDR;
59 static const uint32_t REG_REC_BUFFER_SIZE_HI_ADDR;
60 static const uint32_t REG_REC_FULLNESS_LO_ADDR;
61 static const uint32_t REG_REC_FULLNESS_HI_ADDR;
62 static const uint32_t REG_PLAY_BASE_ADDR_LO_ADDR;
63 static const uint32_t REG_PLAY_BASE_ADDR_HI_ADDR;
64 static const uint32_t REG_PLAY_BUFFER_SIZE_LO_ADDR;
65 static const uint32_t REG_PLAY_BUFFER_SIZE_HI_ADDR;
66 static const uint32_t REG_PLAY_CMD_NUM_WORDS_LO_ADDR;
67 static const uint32_t REG_PLAY_CMD_NUM_WORDS_HI_ADDR;
68 static const uint32_t REG_PLAY_CMD_TIME_LO_ADDR;
69 static const uint32_t REG_PLAY_CMD_TIME_HI_ADDR;
70 static const uint32_t REG_PLAY_CMD_ADDR;
71 static const uint32_t REG_PLAY_WORDS_PER_PKT_ADDR;
72 static const uint32_t REG_PLAY_ITEM_SIZE_ADDR;
74 static const uint32_t PLAY_CMD_STOP;
75 static const uint32_t PLAY_CMD_FINITE;
76 static const uint32_t PLAY_CMD_CONTINUOUS;
97 const uint64_t offset, const uint64_t size, const
size_t port = 0) = 0;
103 virtual
void record_restart(const
size_t port = 0) = 0;
127 virtual
void play(const uint64_t offset,
129 const
size_t port = 0,
131 const
bool repeat = false) = 0;
140 virtual
void stop(const
size_t port = 0) = 0;
149 virtual uint64_t get_mem_size() const = 0;
155 virtual uint64_t get_word_size() const = 0;
165 virtual uint64_t get_record_offset(const
size_t port = 0) const = 0;
172 virtual uint64_t get_record_size(const
size_t port = 0) const = 0;
182 virtual uint64_t get_record_fullness(const
size_t port = 0) = 0;
189 virtual
io_type_t get_record_type(const
size_t port = 0) const = 0;
196 virtual
size_t get_record_item_size(const
size_t port = 0) const = 0;
206 virtual uint64_t get_play_offset(const
size_t port = 0) const = 0;
213 virtual uint64_t get_play_size(const
size_t port = 0) const = 0;
220 virtual uint32_t get_max_items_per_packet(const
size_t port = 0) const = 0;
229 virtual uint32_t get_max_packet_size(const
size_t port = 0) const = 0;
236 virtual
io_type_t get_play_type(const
size_t port = 0) const = 0;
243 virtual
size_t get_play_item_size(const
size_t port = 0) const = 0;
255 virtual
void set_record_type(const
io_type_t type, const
size_t port = 0) = 0;
273 virtual
void config_play(
274 const uint64_t offset, const uint64_t size, const
size_t port = 0) = 0;
283 virtual
void set_play_type(const
io_type_t type, const
size_t port = 0) = 0;
294 virtual
void set_max_items_per_packet(const uint32_t ipp, const
size_t port = 0) = 0;
303 virtual
void set_max_packet_size(const uint32_t size, const
size_t port = 0) = 0;
320 virtual
void issue_stream_cmd(
Definition: noc_block_base.hpp:42
Definition: replay_block_control.hpp:43
Definition: time_spec.hpp:31
#define UHD_API
Definition: config.h:70
std::string io_type_t
Definition: defaults.hpp:32
Definition: build_info.hpp:12
#define RFNOC_DECLARE_BLOCK(CLASS_NAME)
Definition: noc_block_base.hpp:21
Definition: stream_cmd.hpp:40