1 //
2 // Copyright 2020 Ettus Research, a National Instruments Brand
3 //
4 // SPDX-License-Identifier: GPL-3.0-or-later
5 //
6 
7 #pragma once
8 
9 #include "block_controller_factory_python.hpp"
10 #include <uhd/rfnoc/replay_block_control.hpp>
11 
12 using namespace uhd::rfnoc;
13 
export_replay_block_control(py::module & m)14 void export_replay_block_control(py::module& m)
15 {
16     py::class_<replay_block_control, noc_block_base, replay_block_control::sptr>(
17         m, "replay_block_control")
18         .def(py::init(&block_controller_factory<replay_block_control>::make_from))
19         .def("record", &replay_block_control::record)
20         .def("record_restart", &replay_block_control::record_restart)
21         .def("play", &replay_block_control::play)
22         .def("stop", &replay_block_control::stop)
23         .def("get_mem_size", &replay_block_control::get_mem_size)
24         .def("get_word_size", &replay_block_control::get_word_size)
25         .def("get_record_offset", &replay_block_control::get_record_offset)
26         .def("get_record_size", &replay_block_control::get_record_size)
27         .def("get_record_fullness", &replay_block_control::get_record_fullness)
28         .def("get_record_type", &replay_block_control::get_record_type)
29         .def("get_record_item_size", &replay_block_control::get_record_item_size)
30         .def("get_play_offset", &replay_block_control::get_play_offset)
31         .def("get_play_size", &replay_block_control::get_play_size)
32         .def("get_max_items_per_packet", &replay_block_control::get_max_items_per_packet)
33         .def("get_max_packet_size", &replay_block_control::get_max_packet_size)
34         .def("get_play_type", &replay_block_control::get_play_type)
35         .def("get_play_item_size", &replay_block_control::get_play_item_size)
36         .def("set_record_type", &replay_block_control::set_record_type)
37         .def("config_play", &replay_block_control::config_play)
38         .def("set_play_type", &replay_block_control::set_play_type)
39         .def("set_max_items_per_packet", &replay_block_control::set_max_items_per_packet)
40         .def("set_max_packet_size", &replay_block_control::set_max_packet_size)
41         .def("issue_stream_cmd", &replay_block_control::issue_stream_cmd);
42 }
43