7 #ifndef INCLUDED_LIBUHD_RFNOC_REPLAY_BLOCK_HPP
8 #define INCLUDED_LIBUHD_RFNOC_REPLAY_BLOCK_HPP
13 namespace uhd {
namespace rfnoc {
34 virtual
void config_record(
35 const uint32_t base_addr, const uint32_t size, const
size_t chan) = 0;
38 virtual
void config_play(
39 const uint32_t base_addr, const uint32_t size, const
size_t chan) = 0;
42 virtual
void record_restart(const
size_t chan) = 0;
45 virtual uint32_t get_record_addr(const
size_t chan) = 0;
48 virtual uint32_t get_play_addr(const
size_t chan) = 0;
51 virtual uint32_t get_record_size(const
size_t chan) = 0;
54 virtual uint32_t get_record_fullness(const
size_t chan) = 0;
57 virtual uint32_t get_play_size(const
size_t chan) = 0;
60 virtual
void set_words_per_packet(const uint32_t num_words, const
size_t chan) = 0;
63 virtual uint32_t get_words_per_packet(const
size_t chan) = 0;
66 virtual
void play_halt(const
size_t chan) = 0;
#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