USRP Hardware Driver and USRP Manual  Version: 3.15.0.HEAD-0-gaea0e2de
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 
13 namespace uhd { namespace rfnoc {
14 
29 {
30 public:
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
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