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
Definition: sink_block_ctrl_base.hpp:25
Definition: build_info.hpp:13
#define UHD_RFNOC_API
Definition: config.hpp:117
Definition: source_block_ctrl_base.hpp:24
Replay block controller.
Definition: replay_block_ctrl.hpp:27