summaryrefslogtreecommitdiff
path: root/gr-dtv/python
diff options
context:
space:
mode:
Diffstat (limited to 'gr-dtv/python')
-rw-r--r--gr-dtv/python/dtv/CMakeLists.txt8
-rw-r--r--gr-dtv/python/dtv/__init__.py6
-rw-r--r--gr-dtv/python/dtv/atsc_rx_filter.py2
-rw-r--r--gr-dtv/python/dtv/bindings/CMakeLists.txt73
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_consts_python.cc30
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_deinterleaver_python.cc47
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_depad_python.cc47
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_derandomizer_python.cc47
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_equalizer_python.cc50
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_field_sync_mux_python.cc46
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_fpll_python.cc46
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_fs_checker_python.cc45
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_interleaver_python.cc47
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_pad_python.cc47
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_randomizer_python.cc46
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_rs_decoder_python.cc60
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_rs_encoder_python.cc46
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_sync_python.cc43
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_trellis_encoder_python.cc47
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_viterbi_decoder_python.cc51
-rw-r--r--gr-dtv/python/dtv/bindings/catv_config_python.cc38
-rw-r--r--gr-dtv/python/dtv/bindings/catv_frame_sync_enc_bb_python.cc49
-rw-r--r--gr-dtv/python/dtv/bindings/catv_randomizer_bb_python.cc49
-rw-r--r--gr-dtv/python/dtv/bindings/catv_reed_solomon_enc_bb_python.cc46
-rw-r--r--gr-dtv/python/dtv/bindings/catv_transport_framing_enc_bb_python.cc48
-rw-r--r--gr-dtv/python/dtv/bindings/catv_trellis_enc_bb_python.cc48
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/atsc_consts_pydoc_template.h15
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/atsc_deinterleaver_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/atsc_depad_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/atsc_derandomizer_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/atsc_equalizer_pydoc_template.h33
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/atsc_field_sync_mux_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/atsc_fpll_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/atsc_fs_checker_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/atsc_interleaver_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/atsc_pad_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/atsc_randomizer_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/atsc_rs_decoder_pydoc_template.h36
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/atsc_rs_encoder_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/atsc_sync_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/atsc_trellis_encoder_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/atsc_viterbi_decoder_pydoc_template.h30
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/catv_config_pydoc_template.h15
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/catv_frame_sync_enc_bb_pydoc_template.h25
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/catv_randomizer_bb_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/catv_reed_solomon_enc_bb_pydoc_template.h25
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/catv_transport_framing_enc_bb_pydoc_template.h26
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/catv_trellis_enc_bb_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvb_bbheader_bb_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvb_bbscrambler_bb_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvb_bch_bb_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvb_config_pydoc_template.h15
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvb_ldpc_bb_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbs2_config_pydoc_template.h15
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbs2_interleaver_bb_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbs2_modulator_bc_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbs2_physical_cc_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt2_cellinterleaver_cc_pydoc_template.h25
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt2_config_pydoc_template.h15
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt2_framemapper_cc_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt2_freqinterleaver_cc_pydoc_template.h25
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt2_interleaver_bb_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt2_miso_cc_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt2_modulator_bc_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt2_p1insertion_cc_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt2_paprtr_cc_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt2_pilotgenerator_cc_pydoc_template.h25
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt_bit_inner_deinterleaver_pydoc_template.h25
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt_bit_inner_interleaver_pydoc_template.h25
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt_config_pydoc_template.h15
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt_convolutional_deinterleaver_pydoc_template.h26
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt_convolutional_interleaver_pydoc_template.h26
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt_demap_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt_demod_reference_signals_pydoc_template.h25
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt_energy_descramble_pydoc_template.h25
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt_energy_dispersal_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt_inner_coder_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt_map_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt_ofdm_sym_acquisition_pydoc_template.h25
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt_reed_solomon_dec_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt_reed_solomon_enc_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt_reference_signals_pydoc_template.h25
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt_symbol_inner_interleaver_pydoc_template.h26
-rw-r--r--gr-dtv/python/dtv/bindings/docstrings/dvbt_viterbi_decoder_pydoc_template.h24
-rw-r--r--gr-dtv/python/dtv/bindings/dvb_bbheader_bb_python.cc54
-rw-r--r--gr-dtv/python/dtv/bindings/dvb_bbscrambler_bb_python.cc51
-rw-r--r--gr-dtv/python/dtv/bindings/dvb_bch_bb_python.cc47
-rw-r--r--gr-dtv/python/dtv/bindings/dvb_config_python.cc127
-rw-r--r--gr-dtv/python/dtv/bindings/dvb_ldpc_bb_python.cc48
-rw-r--r--gr-dtv/python/dtv/bindings/dvbs2_config_python.cc51
-rw-r--r--gr-dtv/python/dtv/bindings/dvbs2_interleaver_bb_python.cc50
-rw-r--r--gr-dtv/python/dtv/bindings/dvbs2_modulator_bc_python.cc51
-rw-r--r--gr-dtv/python/dtv/bindings/dvbs2_physical_cc_python.cc52
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt2_cellinterleaver_cc_python.cc52
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt2_config_python.cc128
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt2_framemapper_cc_python.cc67
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt2_freqinterleaver_cc_python.cc56
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt2_interleaver_bb_python.cc50
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt2_miso_cc_python.cc53
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt2_modulator_bc_python.cc50
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt2_p1insertion_cc_python.cc54
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt2_paprtr_cc_python.cc57
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt2_pilotgenerator_cc_python.cc59
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_bit_inner_deinterleaver_python.cc51
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_bit_inner_interleaver_python.cc51
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_config_python.cc44
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_convolutional_deinterleaver_python.cc50
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_convolutional_interleaver_python.cc52
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_demap_python.cc49
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_demod_reference_signals_python.cc58
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_energy_descramble_python.cc48
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_energy_dispersal_python.cc48
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_inner_coder_python.cc52
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_map_python.cc49
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_ofdm_sym_acquisition_python.cc52
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_reed_solomon_dec_python.cc55
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_reed_solomon_enc_python.cc55
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_reference_signals_python.cc58
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_symbol_inner_interleaver_python.cc50
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_viterbi_decoder_python.cc51
-rw-r--r--gr-dtv/python/dtv/bindings/python_bindings.cc154
121 files changed, 4670 insertions, 10 deletions
diff --git a/gr-dtv/python/dtv/CMakeLists.txt b/gr-dtv/python/dtv/CMakeLists.txt
index e609a3d21b..0bcd841b3e 100644
--- a/gr-dtv/python/dtv/CMakeLists.txt
+++ b/gr-dtv/python/dtv/CMakeLists.txt
@@ -26,12 +26,6 @@ if(ENABLE_TESTING)
set(GR_TEST_LIBRARY_DIRS "")
set(GR_TEST_PYTHON_DIRS
${CMAKE_BINARY_DIR}/gnuradio-runtime/python
- ${CMAKE_BINARY_DIR}/gnuradio-runtime/swig
- ${CMAKE_BINARY_DIR}/gr-fft/swig
- ${CMAKE_BINARY_DIR}/gr-filter/swig
- ${CMAKE_BINARY_DIR}/gr-analog/swig
- ${CMAKE_BINARY_DIR}/gr-blocks/swig
- ${CMAKE_BINARY_DIR}/gr-dtv/swig
)
include(GrTest)
@@ -41,3 +35,5 @@ if(ENABLE_TESTING)
GR_ADD_TEST(${py_qa_test_name} ${QA_PYTHON_EXECUTABLE} -B ${py_qa_test_file})
endforeach(py_qa_test_file)
endif(ENABLE_TESTING)
+
+add_subdirectory(bindings)
diff --git a/gr-dtv/python/dtv/__init__.py b/gr-dtv/python/dtv/__init__.py
index 636c877f28..0ec7cd7ce2 100644
--- a/gr-dtv/python/dtv/__init__.py
+++ b/gr-dtv/python/dtv/__init__.py
@@ -18,11 +18,11 @@ from __future__ import unicode_literals
import os
try:
- from .dtv_swig import *
+ from .dtv_python import *
except ImportError:
dirname, filename = os.path.split(os.path.abspath(__file__))
- __path__.append(os.path.join(dirname, "..", "..", "swig"))
- from .dtv_swig import *
+ __path__.append(os.path.join(dirname, "bindings"))
+ from .dtv_python import *
# Import pure python code here
from .atsc_rx import *
diff --git a/gr-dtv/python/dtv/atsc_rx_filter.py b/gr-dtv/python/dtv/atsc_rx_filter.py
index b5df161a59..6a4316c0e0 100644
--- a/gr-dtv/python/dtv/atsc_rx_filter.py
+++ b/gr-dtv/python/dtv/atsc_rx_filter.py
@@ -22,7 +22,7 @@
from __future__ import division
from __future__ import unicode_literals
from gnuradio import gr, filter
-from . import dtv_swig as dtv
+from . import dtv_python as dtv
# FIXME move these into separate constants module
ATSC_CHANNEL_BW = 6.0e6
diff --git a/gr-dtv/python/dtv/bindings/CMakeLists.txt b/gr-dtv/python/dtv/bindings/CMakeLists.txt
new file mode 100644
index 0000000000..7c08432a8b
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/CMakeLists.txt
@@ -0,0 +1,73 @@
+include(GrPybind)
+
+########################################################################
+# Python Bindings
+########################################################################
+
+list(APPEND dtv_python_files
+ atsc_consts_python.cc
+ atsc_deinterleaver_python.cc
+ atsc_depad_python.cc
+ atsc_derandomizer_python.cc
+ atsc_equalizer_python.cc
+ atsc_field_sync_mux_python.cc
+ atsc_fpll_python.cc
+ atsc_fs_checker_python.cc
+ atsc_interleaver_python.cc
+ atsc_pad_python.cc
+ atsc_randomizer_python.cc
+ atsc_rs_decoder_python.cc
+ atsc_rs_encoder_python.cc
+ atsc_sync_python.cc
+ atsc_trellis_encoder_python.cc
+ atsc_viterbi_decoder_python.cc
+ catv_config_python.cc
+ catv_frame_sync_enc_bb_python.cc
+ catv_randomizer_bb_python.cc
+ catv_reed_solomon_enc_bb_python.cc
+ catv_transport_framing_enc_bb_python.cc
+ catv_trellis_enc_bb_python.cc
+ dvb_bbheader_bb_python.cc
+ dvb_bbscrambler_bb_python.cc
+ dvb_bch_bb_python.cc
+ dvb_config_python.cc
+ dvb_ldpc_bb_python.cc
+ dvbs2_config_python.cc
+ dvbs2_interleaver_bb_python.cc
+ dvbs2_modulator_bc_python.cc
+ dvbs2_physical_cc_python.cc
+ dvbt2_cellinterleaver_cc_python.cc
+ dvbt2_config_python.cc
+ dvbt2_framemapper_cc_python.cc
+ dvbt2_freqinterleaver_cc_python.cc
+ dvbt2_interleaver_bb_python.cc
+ dvbt2_miso_cc_python.cc
+ dvbt2_modulator_bc_python.cc
+ dvbt2_p1insertion_cc_python.cc
+ dvbt2_paprtr_cc_python.cc
+ dvbt2_pilotgenerator_cc_python.cc
+ dvbt_bit_inner_deinterleaver_python.cc
+ dvbt_bit_inner_interleaver_python.cc
+ dvbt_config_python.cc
+ dvbt_convolutional_deinterleaver_python.cc
+ dvbt_convolutional_interleaver_python.cc
+ dvbt_demap_python.cc
+ dvbt_demod_reference_signals_python.cc
+ dvbt_energy_descramble_python.cc
+ dvbt_energy_dispersal_python.cc
+ dvbt_inner_coder_python.cc
+ dvbt_map_python.cc
+ dvbt_ofdm_sym_acquisition_python.cc
+ dvbt_reed_solomon_dec_python.cc
+ dvbt_reed_solomon_enc_python.cc
+ dvbt_reference_signals_python.cc
+ dvbt_symbol_inner_interleaver_python.cc
+ dvbt_viterbi_decoder_python.cc
+ python_bindings.cc)
+
+GR_PYBIND_MAKE_CHECK_HASH(dtv
+ ../../..
+ gr::dtv
+ "${dtv_python_files}")
+
+install(TARGETS dtv_python DESTINATION ${GR_PYTHON_DIR}/gnuradio/dtv COMPONENT pythonapi)
diff --git a/gr-dtv/python/dtv/bindings/atsc_consts_python.cc b/gr-dtv/python/dtv/bindings/atsc_consts_python.cc
new file mode 100644
index 0000000000..d653356d86
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_consts_python.cc
@@ -0,0 +1,30 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(atsc_consts.h) */
+/* BINDTOOL_HEADER_FILE_HASH(d1e577adb91a05ccc8d86ec5e698806f) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/atsc_consts.h>
+// pydoc.h is automatically generated in the build directory
+#include <atsc_consts_pydoc.h>
+
+void bind_atsc_consts(py::module& m) {}
diff --git a/gr-dtv/python/dtv/bindings/atsc_deinterleaver_python.cc b/gr-dtv/python/dtv/bindings/atsc_deinterleaver_python.cc
new file mode 100644
index 0000000000..7f8f0f761f
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_deinterleaver_python.cc
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(atsc_deinterleaver.h) */
+/* BINDTOOL_HEADER_FILE_HASH(c2b4faaeef490bb4425bcc373a7b7cbc) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/atsc_deinterleaver.h>
+// pydoc.h is automatically generated in the build directory
+#include <atsc_deinterleaver_pydoc.h>
+
+void bind_atsc_deinterleaver(py::module& m)
+{
+
+ using atsc_deinterleaver = ::gr::dtv::atsc_deinterleaver;
+
+
+ py::class_<atsc_deinterleaver,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<atsc_deinterleaver>>(
+ m, "atsc_deinterleaver", D(atsc_deinterleaver))
+
+ .def(py::init(&atsc_deinterleaver::make), D(atsc_deinterleaver, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/atsc_depad_python.cc b/gr-dtv/python/dtv/bindings/atsc_depad_python.cc
new file mode 100644
index 0000000000..b0af76768f
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_depad_python.cc
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(atsc_depad.h) */
+/* BINDTOOL_HEADER_FILE_HASH(42cdfee46c39a6ab7c069fd51af2394a) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/atsc_depad.h>
+// pydoc.h is automatically generated in the build directory
+#include <atsc_depad_pydoc.h>
+
+void bind_atsc_depad(py::module& m)
+{
+
+ using atsc_depad = ::gr::dtv::atsc_depad;
+
+
+ py::class_<atsc_depad,
+ gr::sync_interpolator,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<atsc_depad>>(m, "atsc_depad", D(atsc_depad))
+
+ .def(py::init(&atsc_depad::make), D(atsc_depad, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/atsc_derandomizer_python.cc b/gr-dtv/python/dtv/bindings/atsc_derandomizer_python.cc
new file mode 100644
index 0000000000..1c92401407
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_derandomizer_python.cc
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(atsc_derandomizer.h) */
+/* BINDTOOL_HEADER_FILE_HASH(b2794152d0b34ea575b8797f241dbe9f) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/atsc_derandomizer.h>
+// pydoc.h is automatically generated in the build directory
+#include <atsc_derandomizer_pydoc.h>
+
+void bind_atsc_derandomizer(py::module& m)
+{
+
+ using atsc_derandomizer = ::gr::dtv::atsc_derandomizer;
+
+
+ py::class_<atsc_derandomizer,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<atsc_derandomizer>>(
+ m, "atsc_derandomizer", D(atsc_derandomizer))
+
+ .def(py::init(&atsc_derandomizer::make), D(atsc_derandomizer, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/atsc_equalizer_python.cc b/gr-dtv/python/dtv/bindings/atsc_equalizer_python.cc
new file mode 100644
index 0000000000..842f96876b
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_equalizer_python.cc
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(atsc_equalizer.h) */
+/* BINDTOOL_HEADER_FILE_HASH(33ffb39eb30666aadee1df49711f0fe1) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/atsc_equalizer.h>
+// pydoc.h is automatically generated in the build directory
+#include <atsc_equalizer_pydoc.h>
+
+void bind_atsc_equalizer(py::module& m)
+{
+
+ using atsc_equalizer = ::gr::dtv::atsc_equalizer;
+
+
+ py::class_<atsc_equalizer,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<atsc_equalizer>>(m, "atsc_equalizer", D(atsc_equalizer))
+
+ .def(py::init(&atsc_equalizer::make), D(atsc_equalizer, make))
+
+
+ .def("taps", &atsc_equalizer::taps, D(atsc_equalizer, taps))
+
+
+ .def("data", &atsc_equalizer::data, D(atsc_equalizer, data))
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/atsc_field_sync_mux_python.cc b/gr-dtv/python/dtv/bindings/atsc_field_sync_mux_python.cc
new file mode 100644
index 0000000000..327554dda9
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_field_sync_mux_python.cc
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(atsc_field_sync_mux.h) */
+/* BINDTOOL_HEADER_FILE_HASH(14a86391f54bff3694965574fffb2f46) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/atsc_field_sync_mux.h>
+// pydoc.h is automatically generated in the build directory
+#include <atsc_field_sync_mux_pydoc.h>
+
+void bind_atsc_field_sync_mux(py::module& m)
+{
+
+ using atsc_field_sync_mux = ::gr::dtv::atsc_field_sync_mux;
+
+
+ py::class_<atsc_field_sync_mux,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<atsc_field_sync_mux>>(
+ m, "atsc_field_sync_mux", D(atsc_field_sync_mux))
+
+ .def(py::init(&atsc_field_sync_mux::make), D(atsc_field_sync_mux, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/atsc_fpll_python.cc b/gr-dtv/python/dtv/bindings/atsc_fpll_python.cc
new file mode 100644
index 0000000000..22954f0293
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_fpll_python.cc
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(atsc_fpll.h) */
+/* BINDTOOL_HEADER_FILE_HASH(4b77159b6a7c3b733259a7d99df6f1d5) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/atsc_fpll.h>
+// pydoc.h is automatically generated in the build directory
+#include <atsc_fpll_pydoc.h>
+
+void bind_atsc_fpll(py::module& m)
+{
+
+ using atsc_fpll = ::gr::dtv::atsc_fpll;
+
+
+ py::class_<atsc_fpll,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<atsc_fpll>>(m, "atsc_fpll", D(atsc_fpll))
+
+ .def(py::init(&atsc_fpll::make), py::arg("rate"), D(atsc_fpll, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/atsc_fs_checker_python.cc b/gr-dtv/python/dtv/bindings/atsc_fs_checker_python.cc
new file mode 100644
index 0000000000..a45b2dc586
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_fs_checker_python.cc
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(atsc_fs_checker.h) */
+/* BINDTOOL_HEADER_FILE_HASH(4e43a317cf181560a97431eb667af75f) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/atsc_fs_checker.h>
+// pydoc.h is automatically generated in the build directory
+#include <atsc_fs_checker_pydoc.h>
+
+void bind_atsc_fs_checker(py::module& m)
+{
+
+ using atsc_fs_checker = ::gr::dtv::atsc_fs_checker;
+
+
+ py::class_<atsc_fs_checker,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<atsc_fs_checker>>(m, "atsc_fs_checker", D(atsc_fs_checker))
+
+ .def(py::init(&atsc_fs_checker::make), D(atsc_fs_checker, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/atsc_interleaver_python.cc b/gr-dtv/python/dtv/bindings/atsc_interleaver_python.cc
new file mode 100644
index 0000000000..65391f656d
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_interleaver_python.cc
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(atsc_interleaver.h) */
+/* BINDTOOL_HEADER_FILE_HASH(36c3c9fc2323aaa8fdd51e33809d359e) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/atsc_interleaver.h>
+// pydoc.h is automatically generated in the build directory
+#include <atsc_interleaver_pydoc.h>
+
+void bind_atsc_interleaver(py::module& m)
+{
+
+ using atsc_interleaver = ::gr::dtv::atsc_interleaver;
+
+
+ py::class_<atsc_interleaver,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<atsc_interleaver>>(
+ m, "atsc_interleaver", D(atsc_interleaver))
+
+ .def(py::init(&atsc_interleaver::make), D(atsc_interleaver, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/atsc_pad_python.cc b/gr-dtv/python/dtv/bindings/atsc_pad_python.cc
new file mode 100644
index 0000000000..373cc6f233
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_pad_python.cc
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(atsc_pad.h) */
+/* BINDTOOL_HEADER_FILE_HASH(1bde5569b757d9d70cce04e449e00b92) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/atsc_pad.h>
+// pydoc.h is automatically generated in the build directory
+#include <atsc_pad_pydoc.h>
+
+void bind_atsc_pad(py::module& m)
+{
+
+ using atsc_pad = ::gr::dtv::atsc_pad;
+
+
+ py::class_<atsc_pad,
+ gr::sync_decimator,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<atsc_pad>>(m, "atsc_pad", D(atsc_pad))
+
+ .def(py::init(&atsc_pad::make), D(atsc_pad, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/atsc_randomizer_python.cc b/gr-dtv/python/dtv/bindings/atsc_randomizer_python.cc
new file mode 100644
index 0000000000..e0ada94d74
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_randomizer_python.cc
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(atsc_randomizer.h) */
+/* BINDTOOL_HEADER_FILE_HASH(76ffed0a2e924572e06035fd164a8f0d) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/atsc_randomizer.h>
+// pydoc.h is automatically generated in the build directory
+#include <atsc_randomizer_pydoc.h>
+
+void bind_atsc_randomizer(py::module& m)
+{
+
+ using atsc_randomizer = ::gr::dtv::atsc_randomizer;
+
+
+ py::class_<atsc_randomizer,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<atsc_randomizer>>(m, "atsc_randomizer", D(atsc_randomizer))
+
+ .def(py::init(&atsc_randomizer::make), D(atsc_randomizer, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/atsc_rs_decoder_python.cc b/gr-dtv/python/dtv/bindings/atsc_rs_decoder_python.cc
new file mode 100644
index 0000000000..6acd6df408
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_rs_decoder_python.cc
@@ -0,0 +1,60 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(atsc_rs_decoder.h) */
+/* BINDTOOL_HEADER_FILE_HASH(cbe28bd1f21db51457244b761eaddce4) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/atsc_rs_decoder.h>
+// pydoc.h is automatically generated in the build directory
+#include <atsc_rs_decoder_pydoc.h>
+
+void bind_atsc_rs_decoder(py::module& m)
+{
+
+ using atsc_rs_decoder = ::gr::dtv::atsc_rs_decoder;
+
+
+ py::class_<atsc_rs_decoder,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<atsc_rs_decoder>>(m, "atsc_rs_decoder", D(atsc_rs_decoder))
+
+ .def(py::init(&atsc_rs_decoder::make), D(atsc_rs_decoder, make))
+
+
+ .def("num_errors_corrected",
+ &atsc_rs_decoder::num_errors_corrected,
+ D(atsc_rs_decoder, num_errors_corrected))
+
+
+ .def("num_bad_packets",
+ &atsc_rs_decoder::num_bad_packets,
+ D(atsc_rs_decoder, num_bad_packets))
+
+
+ .def(
+ "num_packets", &atsc_rs_decoder::num_packets, D(atsc_rs_decoder, num_packets))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/atsc_rs_encoder_python.cc b/gr-dtv/python/dtv/bindings/atsc_rs_encoder_python.cc
new file mode 100644
index 0000000000..a32d5393bd
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_rs_encoder_python.cc
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(atsc_rs_encoder.h) */
+/* BINDTOOL_HEADER_FILE_HASH(78e082a24091021c3b55036ade4d7ba2) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/atsc_rs_encoder.h>
+// pydoc.h is automatically generated in the build directory
+#include <atsc_rs_encoder_pydoc.h>
+
+void bind_atsc_rs_encoder(py::module& m)
+{
+
+ using atsc_rs_encoder = ::gr::dtv::atsc_rs_encoder;
+
+
+ py::class_<atsc_rs_encoder,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<atsc_rs_encoder>>(m, "atsc_rs_encoder", D(atsc_rs_encoder))
+
+ .def(py::init(&atsc_rs_encoder::make), D(atsc_rs_encoder, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/atsc_sync_python.cc b/gr-dtv/python/dtv/bindings/atsc_sync_python.cc
new file mode 100644
index 0000000000..0cc6c880a1
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_sync_python.cc
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(atsc_sync.h) */
+/* BINDTOOL_HEADER_FILE_HASH(5ce95227b23b794b142bd4e75e6557a8) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/atsc_sync.h>
+// pydoc.h is automatically generated in the build directory
+#include <atsc_sync_pydoc.h>
+
+void bind_atsc_sync(py::module& m)
+{
+
+ using atsc_sync = ::gr::dtv::atsc_sync;
+
+
+ py::class_<atsc_sync, gr::block, gr::basic_block, std::shared_ptr<atsc_sync>>(
+ m, "atsc_sync", D(atsc_sync))
+
+ .def(py::init(&atsc_sync::make), py::arg("rate"), D(atsc_sync, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/atsc_trellis_encoder_python.cc b/gr-dtv/python/dtv/bindings/atsc_trellis_encoder_python.cc
new file mode 100644
index 0000000000..a21f4f5bac
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_trellis_encoder_python.cc
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(atsc_trellis_encoder.h) */
+/* BINDTOOL_HEADER_FILE_HASH(54e8ce920a8d66154e6e5c5ed15a90be) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/atsc_trellis_encoder.h>
+// pydoc.h is automatically generated in the build directory
+#include <atsc_trellis_encoder_pydoc.h>
+
+void bind_atsc_trellis_encoder(py::module& m)
+{
+
+ using atsc_trellis_encoder = ::gr::dtv::atsc_trellis_encoder;
+
+
+ py::class_<atsc_trellis_encoder,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<atsc_trellis_encoder>>(
+ m, "atsc_trellis_encoder", D(atsc_trellis_encoder))
+
+ .def(py::init(&atsc_trellis_encoder::make), D(atsc_trellis_encoder, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/atsc_viterbi_decoder_python.cc b/gr-dtv/python/dtv/bindings/atsc_viterbi_decoder_python.cc
new file mode 100644
index 0000000000..e051140d01
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_viterbi_decoder_python.cc
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(0) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(atsc_viterbi_decoder.h) */
+/* BINDTOOL_HEADER_FILE_HASH(d880535937753848a53110ab890678fb) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/atsc_viterbi_decoder.h>
+// pydoc.h is automatically generated in the build directory
+#include <atsc_viterbi_decoder_pydoc.h>
+
+void bind_atsc_viterbi_decoder(py::module& m)
+{
+
+ using atsc_viterbi_decoder = ::gr::dtv::atsc_viterbi_decoder;
+
+
+ py::class_<atsc_viterbi_decoder,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<atsc_viterbi_decoder>>(
+ m, "atsc_viterbi_decoder", D(atsc_viterbi_decoder))
+
+ .def(py::init(&atsc_viterbi_decoder::make), D(atsc_viterbi_decoder, make))
+
+
+ .def("decoder_metrics",
+ &atsc_viterbi_decoder::decoder_metrics,
+ D(atsc_viterbi_decoder, decoder_metrics))
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/catv_config_python.cc b/gr-dtv/python/dtv/bindings/catv_config_python.cc
new file mode 100644
index 0000000000..21b1c62b18
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/catv_config_python.cc
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(0) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(catv_config.h) */
+/* BINDTOOL_HEADER_FILE_HASH(fe49dc21788df88d41abc50779439db5) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/catv_config.h>
+// pydoc.h is automatically generated in the build directory
+#include <catv_config_pydoc.h>
+
+void bind_catv_config(py::module& m)
+{
+
+
+ py::enum_<::gr::dtv::catv_constellation_t>(m, "catv_constellation_t")
+ .value("CATV_MOD_64QAM", ::gr::dtv::CATV_MOD_64QAM) // 0
+ .value("CATV_MOD_256QAM", ::gr::dtv::CATV_MOD_256QAM) // 1
+ .export_values();
+}
diff --git a/gr-dtv/python/dtv/bindings/catv_frame_sync_enc_bb_python.cc b/gr-dtv/python/dtv/bindings/catv_frame_sync_enc_bb_python.cc
new file mode 100644
index 0000000000..fb64b37139
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/catv_frame_sync_enc_bb_python.cc
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(catv_frame_sync_enc_bb.h) */
+/* BINDTOOL_HEADER_FILE_HASH(95b5201d218824bff384ce642554c6ab) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/catv_frame_sync_enc_bb.h>
+// pydoc.h is automatically generated in the build directory
+#include <catv_frame_sync_enc_bb_pydoc.h>
+
+void bind_catv_frame_sync_enc_bb(py::module& m)
+{
+
+ using catv_frame_sync_enc_bb = ::gr::dtv::catv_frame_sync_enc_bb;
+
+
+ py::class_<catv_frame_sync_enc_bb,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<catv_frame_sync_enc_bb>>(
+ m, "catv_frame_sync_enc_bb", D(catv_frame_sync_enc_bb))
+
+ .def(py::init(&catv_frame_sync_enc_bb::make),
+ py::arg("constellation"),
+ py::arg("ctrlword"),
+ D(catv_frame_sync_enc_bb, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/catv_randomizer_bb_python.cc b/gr-dtv/python/dtv/bindings/catv_randomizer_bb_python.cc
new file mode 100644
index 0000000000..7dcf013839
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/catv_randomizer_bb_python.cc
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(catv_randomizer_bb.h) */
+/* BINDTOOL_HEADER_FILE_HASH(605e5867408b4d4ecbe934f8bd0f7a8f) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/catv_randomizer_bb.h>
+// pydoc.h is automatically generated in the build directory
+#include <catv_randomizer_bb_pydoc.h>
+
+void bind_catv_randomizer_bb(py::module& m)
+{
+
+ using catv_randomizer_bb = ::gr::dtv::catv_randomizer_bb;
+
+
+ py::class_<catv_randomizer_bb,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<catv_randomizer_bb>>(
+ m, "catv_randomizer_bb", D(catv_randomizer_bb))
+
+ .def(py::init(&catv_randomizer_bb::make),
+ py::arg("constellation"),
+ D(catv_randomizer_bb, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/catv_reed_solomon_enc_bb_python.cc b/gr-dtv/python/dtv/bindings/catv_reed_solomon_enc_bb_python.cc
new file mode 100644
index 0000000000..ec4ce0bebe
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/catv_reed_solomon_enc_bb_python.cc
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(catv_reed_solomon_enc_bb.h) */
+/* BINDTOOL_HEADER_FILE_HASH(b8647d40529c9eb4e897cb0070e2ccf8) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/catv_reed_solomon_enc_bb.h>
+// pydoc.h is automatically generated in the build directory
+#include <catv_reed_solomon_enc_bb_pydoc.h>
+
+void bind_catv_reed_solomon_enc_bb(py::module& m)
+{
+
+ using catv_reed_solomon_enc_bb = ::gr::dtv::catv_reed_solomon_enc_bb;
+
+
+ py::class_<catv_reed_solomon_enc_bb,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<catv_reed_solomon_enc_bb>>(
+ m, "catv_reed_solomon_enc_bb", D(catv_reed_solomon_enc_bb))
+
+ .def(py::init(&catv_reed_solomon_enc_bb::make), D(catv_reed_solomon_enc_bb, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/catv_transport_framing_enc_bb_python.cc b/gr-dtv/python/dtv/bindings/catv_transport_framing_enc_bb_python.cc
new file mode 100644
index 0000000000..f67dd80e84
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/catv_transport_framing_enc_bb_python.cc
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(catv_transport_framing_enc_bb.h) */
+/* BINDTOOL_HEADER_FILE_HASH(1c764c0ea9e54d93023cebff6fd70834) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/catv_transport_framing_enc_bb.h>
+// pydoc.h is automatically generated in the build directory
+#include <catv_transport_framing_enc_bb_pydoc.h>
+
+void bind_catv_transport_framing_enc_bb(py::module& m)
+{
+
+ using catv_transport_framing_enc_bb = ::gr::dtv::catv_transport_framing_enc_bb;
+
+
+ py::class_<catv_transport_framing_enc_bb,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<catv_transport_framing_enc_bb>>(
+ m, "catv_transport_framing_enc_bb", D(catv_transport_framing_enc_bb))
+
+ .def(py::init(&catv_transport_framing_enc_bb::make),
+ D(catv_transport_framing_enc_bb, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/catv_trellis_enc_bb_python.cc b/gr-dtv/python/dtv/bindings/catv_trellis_enc_bb_python.cc
new file mode 100644
index 0000000000..b4c89a0d18
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/catv_trellis_enc_bb_python.cc
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(catv_trellis_enc_bb.h) */
+/* BINDTOOL_HEADER_FILE_HASH(5e6a03159276fb1eb3e139b3fce7e5bb) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/catv_trellis_enc_bb.h>
+// pydoc.h is automatically generated in the build directory
+#include <catv_trellis_enc_bb_pydoc.h>
+
+void bind_catv_trellis_enc_bb(py::module& m)
+{
+
+ using catv_trellis_enc_bb = ::gr::dtv::catv_trellis_enc_bb;
+
+
+ py::class_<catv_trellis_enc_bb,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<catv_trellis_enc_bb>>(
+ m, "catv_trellis_enc_bb", D(catv_trellis_enc_bb))
+
+ .def(py::init(&catv_trellis_enc_bb::make),
+ py::arg("constellation"),
+ D(catv_trellis_enc_bb, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/docstrings/atsc_consts_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/atsc_consts_pydoc_template.h
new file mode 100644
index 0000000000..ce7ded68bc
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/atsc_consts_pydoc_template.h
@@ -0,0 +1,15 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
diff --git a/gr-dtv/python/dtv/bindings/docstrings/atsc_deinterleaver_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/atsc_deinterleaver_pydoc_template.h
new file mode 100644
index 0000000000..2797ed144e
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/atsc_deinterleaver_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_atsc_deinterleaver = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_deinterleaver_atsc_deinterleaver = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_deinterleaver_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/atsc_depad_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/atsc_depad_pydoc_template.h
new file mode 100644
index 0000000000..fd0199f802
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/atsc_depad_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_atsc_depad = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_depad_atsc_depad = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_depad_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/atsc_derandomizer_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/atsc_derandomizer_pydoc_template.h
new file mode 100644
index 0000000000..98379ae856
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/atsc_derandomizer_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_atsc_derandomizer = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_derandomizer_atsc_derandomizer = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_derandomizer_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/atsc_equalizer_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/atsc_equalizer_pydoc_template.h
new file mode 100644
index 0000000000..e352d81330
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/atsc_equalizer_pydoc_template.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_atsc_equalizer = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_equalizer_atsc_equalizer_0 = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_equalizer_atsc_equalizer_1 = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_equalizer_make = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_equalizer_taps = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_equalizer_data = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/atsc_field_sync_mux_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/atsc_field_sync_mux_pydoc_template.h
new file mode 100644
index 0000000000..f6668cb914
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/atsc_field_sync_mux_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_atsc_field_sync_mux = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_field_sync_mux_atsc_field_sync_mux = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_field_sync_mux_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/atsc_fpll_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/atsc_fpll_pydoc_template.h
new file mode 100644
index 0000000000..3164491e01
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/atsc_fpll_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_atsc_fpll = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_fpll_atsc_fpll = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_fpll_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/atsc_fs_checker_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/atsc_fs_checker_pydoc_template.h
new file mode 100644
index 0000000000..d35e224ef5
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/atsc_fs_checker_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_atsc_fs_checker = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_fs_checker_atsc_fs_checker = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_fs_checker_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/atsc_interleaver_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/atsc_interleaver_pydoc_template.h
new file mode 100644
index 0000000000..3e07ef2c5b
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/atsc_interleaver_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_atsc_interleaver = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_interleaver_atsc_interleaver = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_interleaver_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/atsc_pad_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/atsc_pad_pydoc_template.h
new file mode 100644
index 0000000000..26e6d649b9
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/atsc_pad_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_atsc_pad = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_pad_atsc_pad = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_pad_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/atsc_randomizer_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/atsc_randomizer_pydoc_template.h
new file mode 100644
index 0000000000..a778b920fb
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/atsc_randomizer_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_atsc_randomizer = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_randomizer_atsc_randomizer = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_randomizer_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/atsc_rs_decoder_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/atsc_rs_decoder_pydoc_template.h
new file mode 100644
index 0000000000..272ce6a455
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/atsc_rs_decoder_pydoc_template.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_atsc_rs_decoder = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_rs_decoder_atsc_rs_decoder_0 = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_rs_decoder_atsc_rs_decoder_1 = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_rs_decoder_num_errors_corrected = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_rs_decoder_num_bad_packets = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_rs_decoder_num_packets = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_rs_decoder_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/atsc_rs_encoder_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/atsc_rs_encoder_pydoc_template.h
new file mode 100644
index 0000000000..2302eea9dd
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/atsc_rs_encoder_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_atsc_rs_encoder = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_rs_encoder_atsc_rs_encoder = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_rs_encoder_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/atsc_sync_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/atsc_sync_pydoc_template.h
new file mode 100644
index 0000000000..fa149f014f
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/atsc_sync_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_atsc_sync = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_sync_atsc_sync = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_sync_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/atsc_trellis_encoder_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/atsc_trellis_encoder_pydoc_template.h
new file mode 100644
index 0000000000..67fe4864d7
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/atsc_trellis_encoder_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_atsc_trellis_encoder = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_trellis_encoder_atsc_trellis_encoder = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_trellis_encoder_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/atsc_viterbi_decoder_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/atsc_viterbi_decoder_pydoc_template.h
new file mode 100644
index 0000000000..56ba400614
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/atsc_viterbi_decoder_pydoc_template.h
@@ -0,0 +1,30 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_atsc_viterbi_decoder = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_viterbi_decoder_atsc_viterbi_decoder_0 = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_viterbi_decoder_atsc_viterbi_decoder_1 = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_viterbi_decoder_make = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_atsc_viterbi_decoder_decoder_metrics = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/catv_config_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/catv_config_pydoc_template.h
new file mode 100644
index 0000000000..ce7ded68bc
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/catv_config_pydoc_template.h
@@ -0,0 +1,15 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
diff --git a/gr-dtv/python/dtv/bindings/docstrings/catv_frame_sync_enc_bb_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/catv_frame_sync_enc_bb_pydoc_template.h
new file mode 100644
index 0000000000..9d5d29fb06
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/catv_frame_sync_enc_bb_pydoc_template.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_catv_frame_sync_enc_bb = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_catv_frame_sync_enc_bb_catv_frame_sync_enc_bb =
+ R"doc()doc";
+
+
+static const char* __doc_gr_dtv_catv_frame_sync_enc_bb_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/catv_randomizer_bb_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/catv_randomizer_bb_pydoc_template.h
new file mode 100644
index 0000000000..c487378259
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/catv_randomizer_bb_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_catv_randomizer_bb = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_catv_randomizer_bb_catv_randomizer_bb = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_catv_randomizer_bb_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/catv_reed_solomon_enc_bb_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/catv_reed_solomon_enc_bb_pydoc_template.h
new file mode 100644
index 0000000000..7f51f6224b
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/catv_reed_solomon_enc_bb_pydoc_template.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_catv_reed_solomon_enc_bb = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_catv_reed_solomon_enc_bb_catv_reed_solomon_enc_bb =
+ R"doc()doc";
+
+
+static const char* __doc_gr_dtv_catv_reed_solomon_enc_bb_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/catv_transport_framing_enc_bb_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/catv_transport_framing_enc_bb_pydoc_template.h
new file mode 100644
index 0000000000..b6587eb7ab
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/catv_transport_framing_enc_bb_pydoc_template.h
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_catv_transport_framing_enc_bb = R"doc()doc";
+
+
+static const char*
+ __doc_gr_dtv_catv_transport_framing_enc_bb_catv_transport_framing_enc_bb =
+ R"doc()doc";
+
+
+static const char* __doc_gr_dtv_catv_transport_framing_enc_bb_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/catv_trellis_enc_bb_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/catv_trellis_enc_bb_pydoc_template.h
new file mode 100644
index 0000000000..bd5c82c5e9
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/catv_trellis_enc_bb_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_catv_trellis_enc_bb = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_catv_trellis_enc_bb_catv_trellis_enc_bb = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_catv_trellis_enc_bb_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvb_bbheader_bb_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvb_bbheader_bb_pydoc_template.h
new file mode 100644
index 0000000000..d203613d39
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvb_bbheader_bb_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvb_bbheader_bb = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvb_bbheader_bb_dvb_bbheader_bb = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvb_bbheader_bb_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvb_bbscrambler_bb_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvb_bbscrambler_bb_pydoc_template.h
new file mode 100644
index 0000000000..1a985329d5
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvb_bbscrambler_bb_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvb_bbscrambler_bb = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvb_bbscrambler_bb_dvb_bbscrambler_bb = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvb_bbscrambler_bb_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvb_bch_bb_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvb_bch_bb_pydoc_template.h
new file mode 100644
index 0000000000..595802ee64
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvb_bch_bb_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvb_bch_bb = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvb_bch_bb_dvb_bch_bb = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvb_bch_bb_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvb_config_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvb_config_pydoc_template.h
new file mode 100644
index 0000000000..ce7ded68bc
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvb_config_pydoc_template.h
@@ -0,0 +1,15 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvb_ldpc_bb_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvb_ldpc_bb_pydoc_template.h
new file mode 100644
index 0000000000..cc0c7f6105
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvb_ldpc_bb_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvb_ldpc_bb = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvb_ldpc_bb_dvb_ldpc_bb = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvb_ldpc_bb_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbs2_config_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbs2_config_pydoc_template.h
new file mode 100644
index 0000000000..ce7ded68bc
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbs2_config_pydoc_template.h
@@ -0,0 +1,15 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbs2_interleaver_bb_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbs2_interleaver_bb_pydoc_template.h
new file mode 100644
index 0000000000..d938a1cffa
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbs2_interleaver_bb_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbs2_interleaver_bb = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbs2_interleaver_bb_dvbs2_interleaver_bb = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbs2_interleaver_bb_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbs2_modulator_bc_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbs2_modulator_bc_pydoc_template.h
new file mode 100644
index 0000000000..fe97131168
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbs2_modulator_bc_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbs2_modulator_bc = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbs2_modulator_bc_dvbs2_modulator_bc = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbs2_modulator_bc_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbs2_physical_cc_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbs2_physical_cc_pydoc_template.h
new file mode 100644
index 0000000000..ce081ea81c
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbs2_physical_cc_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbs2_physical_cc = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbs2_physical_cc_dvbs2_physical_cc = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbs2_physical_cc_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt2_cellinterleaver_cc_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt2_cellinterleaver_cc_pydoc_template.h
new file mode 100644
index 0000000000..acd85870f5
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt2_cellinterleaver_cc_pydoc_template.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbt2_cellinterleaver_cc = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt2_cellinterleaver_cc_dvbt2_cellinterleaver_cc =
+ R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt2_cellinterleaver_cc_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt2_config_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt2_config_pydoc_template.h
new file mode 100644
index 0000000000..ce7ded68bc
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt2_config_pydoc_template.h
@@ -0,0 +1,15 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt2_framemapper_cc_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt2_framemapper_cc_pydoc_template.h
new file mode 100644
index 0000000000..b3a061a912
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt2_framemapper_cc_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbt2_framemapper_cc = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt2_framemapper_cc_dvbt2_framemapper_cc = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt2_framemapper_cc_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt2_freqinterleaver_cc_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt2_freqinterleaver_cc_pydoc_template.h
new file mode 100644
index 0000000000..696d19986a
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt2_freqinterleaver_cc_pydoc_template.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbt2_freqinterleaver_cc = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt2_freqinterleaver_cc_dvbt2_freqinterleaver_cc =
+ R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt2_freqinterleaver_cc_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt2_interleaver_bb_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt2_interleaver_bb_pydoc_template.h
new file mode 100644
index 0000000000..1ede122955
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt2_interleaver_bb_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbt2_interleaver_bb = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt2_interleaver_bb_dvbt2_interleaver_bb = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt2_interleaver_bb_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt2_miso_cc_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt2_miso_cc_pydoc_template.h
new file mode 100644
index 0000000000..59f3749220
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt2_miso_cc_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbt2_miso_cc = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt2_miso_cc_dvbt2_miso_cc = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt2_miso_cc_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt2_modulator_bc_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt2_modulator_bc_pydoc_template.h
new file mode 100644
index 0000000000..f484897a4c
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt2_modulator_bc_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbt2_modulator_bc = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt2_modulator_bc_dvbt2_modulator_bc = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt2_modulator_bc_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt2_p1insertion_cc_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt2_p1insertion_cc_pydoc_template.h
new file mode 100644
index 0000000000..055dee4c14
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt2_p1insertion_cc_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbt2_p1insertion_cc = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt2_p1insertion_cc_dvbt2_p1insertion_cc = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt2_p1insertion_cc_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt2_paprtr_cc_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt2_paprtr_cc_pydoc_template.h
new file mode 100644
index 0000000000..b7b839501e
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt2_paprtr_cc_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbt2_paprtr_cc = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt2_paprtr_cc_dvbt2_paprtr_cc = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt2_paprtr_cc_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt2_pilotgenerator_cc_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt2_pilotgenerator_cc_pydoc_template.h
new file mode 100644
index 0000000000..5846ef446b
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt2_pilotgenerator_cc_pydoc_template.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbt2_pilotgenerator_cc = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt2_pilotgenerator_cc_dvbt2_pilotgenerator_cc =
+ R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt2_pilotgenerator_cc_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt_bit_inner_deinterleaver_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt_bit_inner_deinterleaver_pydoc_template.h
new file mode 100644
index 0000000000..180b3c031b
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt_bit_inner_deinterleaver_pydoc_template.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbt_bit_inner_deinterleaver = R"doc()doc";
+
+
+static const char*
+ __doc_gr_dtv_dvbt_bit_inner_deinterleaver_dvbt_bit_inner_deinterleaver = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_bit_inner_deinterleaver_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt_bit_inner_interleaver_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt_bit_inner_interleaver_pydoc_template.h
new file mode 100644
index 0000000000..e78a26d063
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt_bit_inner_interleaver_pydoc_template.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbt_bit_inner_interleaver = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_bit_inner_interleaver_dvbt_bit_inner_interleaver =
+ R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_bit_inner_interleaver_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt_config_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt_config_pydoc_template.h
new file mode 100644
index 0000000000..ce7ded68bc
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt_config_pydoc_template.h
@@ -0,0 +1,15 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt_convolutional_deinterleaver_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt_convolutional_deinterleaver_pydoc_template.h
new file mode 100644
index 0000000000..6ccefc2570
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt_convolutional_deinterleaver_pydoc_template.h
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbt_convolutional_deinterleaver = R"doc()doc";
+
+
+static const char*
+ __doc_gr_dtv_dvbt_convolutional_deinterleaver_dvbt_convolutional_deinterleaver =
+ R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_convolutional_deinterleaver_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt_convolutional_interleaver_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt_convolutional_interleaver_pydoc_template.h
new file mode 100644
index 0000000000..8c2c6111ba
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt_convolutional_interleaver_pydoc_template.h
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbt_convolutional_interleaver = R"doc()doc";
+
+
+static const char*
+ __doc_gr_dtv_dvbt_convolutional_interleaver_dvbt_convolutional_interleaver =
+ R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_convolutional_interleaver_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt_demap_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt_demap_pydoc_template.h
new file mode 100644
index 0000000000..ce89f2c3e3
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt_demap_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbt_demap = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_demap_dvbt_demap = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_demap_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt_demod_reference_signals_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt_demod_reference_signals_pydoc_template.h
new file mode 100644
index 0000000000..de361addf0
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt_demod_reference_signals_pydoc_template.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbt_demod_reference_signals = R"doc()doc";
+
+
+static const char*
+ __doc_gr_dtv_dvbt_demod_reference_signals_dvbt_demod_reference_signals = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_demod_reference_signals_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt_energy_descramble_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt_energy_descramble_pydoc_template.h
new file mode 100644
index 0000000000..2ab4cdf2c2
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt_energy_descramble_pydoc_template.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbt_energy_descramble = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_energy_descramble_dvbt_energy_descramble =
+ R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_energy_descramble_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt_energy_dispersal_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt_energy_dispersal_pydoc_template.h
new file mode 100644
index 0000000000..f8fc0572c0
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt_energy_dispersal_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbt_energy_dispersal = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_energy_dispersal_dvbt_energy_dispersal = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_energy_dispersal_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt_inner_coder_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt_inner_coder_pydoc_template.h
new file mode 100644
index 0000000000..9c93345c53
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt_inner_coder_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbt_inner_coder = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_inner_coder_dvbt_inner_coder = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_inner_coder_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt_map_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt_map_pydoc_template.h
new file mode 100644
index 0000000000..c446f300bf
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt_map_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbt_map = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_map_dvbt_map = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_map_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt_ofdm_sym_acquisition_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt_ofdm_sym_acquisition_pydoc_template.h
new file mode 100644
index 0000000000..7dfc0ec182
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt_ofdm_sym_acquisition_pydoc_template.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbt_ofdm_sym_acquisition = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_ofdm_sym_acquisition_dvbt_ofdm_sym_acquisition =
+ R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_ofdm_sym_acquisition_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt_reed_solomon_dec_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt_reed_solomon_dec_pydoc_template.h
new file mode 100644
index 0000000000..184939f2a8
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt_reed_solomon_dec_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbt_reed_solomon_dec = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_reed_solomon_dec_dvbt_reed_solomon_dec = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_reed_solomon_dec_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt_reed_solomon_enc_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt_reed_solomon_enc_pydoc_template.h
new file mode 100644
index 0000000000..b25c0bc697
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt_reed_solomon_enc_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbt_reed_solomon_enc = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_reed_solomon_enc_dvbt_reed_solomon_enc = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_reed_solomon_enc_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt_reference_signals_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt_reference_signals_pydoc_template.h
new file mode 100644
index 0000000000..e730cbcca7
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt_reference_signals_pydoc_template.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbt_reference_signals = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_reference_signals_dvbt_reference_signals =
+ R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_reference_signals_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt_symbol_inner_interleaver_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt_symbol_inner_interleaver_pydoc_template.h
new file mode 100644
index 0000000000..aa4fd7afbc
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt_symbol_inner_interleaver_pydoc_template.h
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbt_symbol_inner_interleaver = R"doc()doc";
+
+
+static const char*
+ __doc_gr_dtv_dvbt_symbol_inner_interleaver_dvbt_symbol_inner_interleaver =
+ R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_symbol_inner_interleaver_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/docstrings/dvbt_viterbi_decoder_pydoc_template.h b/gr-dtv/python/dtv/bindings/docstrings/dvbt_viterbi_decoder_pydoc_template.h
new file mode 100644
index 0000000000..2ce2e8228b
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/docstrings/dvbt_viterbi_decoder_pydoc_template.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, dtv, __VA_ARGS__)
+/*
+ This file contains placeholders for docstrings for the Python bindings.
+ Do not edit! These were automatically extracted during the binding process
+ and will be overwritten during the build process
+ */
+
+
+static const char* __doc_gr_dtv_dvbt_viterbi_decoder = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_viterbi_decoder_dvbt_viterbi_decoder = R"doc()doc";
+
+
+static const char* __doc_gr_dtv_dvbt_viterbi_decoder_make = R"doc()doc";
diff --git a/gr-dtv/python/dtv/bindings/dvb_bbheader_bb_python.cc b/gr-dtv/python/dtv/bindings/dvb_bbheader_bb_python.cc
new file mode 100644
index 0000000000..5aa2c7e08b
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvb_bbheader_bb_python.cc
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvb_bbheader_bb.h) */
+/* BINDTOOL_HEADER_FILE_HASH(4cb7125c2672510bcdd0c4728fc080f0) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvb_bbheader_bb.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvb_bbheader_bb_pydoc.h>
+
+void bind_dvb_bbheader_bb(py::module& m)
+{
+
+ using dvb_bbheader_bb = ::gr::dtv::dvb_bbheader_bb;
+
+
+ py::class_<dvb_bbheader_bb,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvb_bbheader_bb>>(m, "dvb_bbheader_bb", D(dvb_bbheader_bb))
+
+ .def(py::init(&dvb_bbheader_bb::make),
+ py::arg("standard"),
+ py::arg("framesize"),
+ py::arg("rate"),
+ py::arg("rolloff"),
+ py::arg("mode"),
+ py::arg("inband"),
+ py::arg("fecblocks"),
+ py::arg("tsrate"),
+ D(dvb_bbheader_bb, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvb_bbscrambler_bb_python.cc b/gr-dtv/python/dtv/bindings/dvb_bbscrambler_bb_python.cc
new file mode 100644
index 0000000000..e2c03f20fe
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvb_bbscrambler_bb_python.cc
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvb_bbscrambler_bb.h) */
+/* BINDTOOL_HEADER_FILE_HASH(784bda037d258851bd77e5ca4d797e16) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvb_bbscrambler_bb.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvb_bbscrambler_bb_pydoc.h>
+
+void bind_dvb_bbscrambler_bb(py::module& m)
+{
+
+ using dvb_bbscrambler_bb = ::gr::dtv::dvb_bbscrambler_bb;
+
+
+ py::class_<dvb_bbscrambler_bb,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvb_bbscrambler_bb>>(
+ m, "dvb_bbscrambler_bb", D(dvb_bbscrambler_bb))
+
+ .def(py::init(&dvb_bbscrambler_bb::make),
+ py::arg("standard"),
+ py::arg("framesize"),
+ py::arg("rate"),
+ D(dvb_bbscrambler_bb, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvb_bch_bb_python.cc b/gr-dtv/python/dtv/bindings/dvb_bch_bb_python.cc
new file mode 100644
index 0000000000..b875d8208d
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvb_bch_bb_python.cc
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvb_bch_bb.h) */
+/* BINDTOOL_HEADER_FILE_HASH(fee883de5a12b6465fcdf77b20a77736) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvb_bch_bb.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvb_bch_bb_pydoc.h>
+
+void bind_dvb_bch_bb(py::module& m)
+{
+
+ using dvb_bch_bb = ::gr::dtv::dvb_bch_bb;
+
+
+ py::class_<dvb_bch_bb, gr::block, gr::basic_block, std::shared_ptr<dvb_bch_bb>>(
+ m, "dvb_bch_bb", D(dvb_bch_bb))
+
+ .def(py::init(&dvb_bch_bb::make),
+ py::arg("standard"),
+ py::arg("framesize"),
+ py::arg("rate"),
+ D(dvb_bch_bb, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvb_config_python.cc b/gr-dtv/python/dtv/bindings/dvb_config_python.cc
new file mode 100644
index 0000000000..854703ccb6
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvb_config_python.cc
@@ -0,0 +1,127 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvb_config.h) */
+/* BINDTOOL_HEADER_FILE_HASH(a51e9bda5f13b96d3d09d0347395379e) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvb_config.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvb_config_pydoc.h>
+
+void bind_dvb_config(py::module& m)
+{
+
+
+ py::enum_<::gr::dtv::dvb_standard_t>(m, "dvb_standard_t")
+ .value("STANDARD_DVBS2", ::gr::dtv::STANDARD_DVBS2) // 0
+ .value("STANDARD_DVBT2", ::gr::dtv::STANDARD_DVBT2) // 1
+ .export_values();
+ py::enum_<::gr::dtv::dvb_code_rate_t>(m, "dvb_code_rate_t")
+ .value("C1_4", ::gr::dtv::C1_4) // 0
+ .value("C1_3", ::gr::dtv::C1_3) // 1
+ .value("C2_5", ::gr::dtv::C2_5) // 2
+ .value("C1_2", ::gr::dtv::C1_2) // 3
+ .value("C3_5", ::gr::dtv::C3_5) // 4
+ .value("C2_3", ::gr::dtv::C2_3) // 5
+ .value("C3_4", ::gr::dtv::C3_4) // 6
+ .value("C4_5", ::gr::dtv::C4_5) // 7
+ .value("C5_6", ::gr::dtv::C5_6) // 8
+ .value("C7_8", ::gr::dtv::C7_8) // 9
+ .value("C8_9", ::gr::dtv::C8_9) // 10
+ .value("C9_10", ::gr::dtv::C9_10) // 11
+ .value("C13_45", ::gr::dtv::C13_45) // 12
+ .value("C9_20", ::gr::dtv::C9_20) // 13
+ .value("C90_180", ::gr::dtv::C90_180) // 14
+ .value("C96_180", ::gr::dtv::C96_180) // 15
+ .value("C11_20", ::gr::dtv::C11_20) // 16
+ .value("C100_180", ::gr::dtv::C100_180) // 17
+ .value("C104_180", ::gr::dtv::C104_180) // 18
+ .value("C26_45", ::gr::dtv::C26_45) // 19
+ .value("C18_30", ::gr::dtv::C18_30) // 20
+ .value("C28_45", ::gr::dtv::C28_45) // 21
+ .value("C23_36", ::gr::dtv::C23_36) // 22
+ .value("C116_180", ::gr::dtv::C116_180) // 23
+ .value("C20_30", ::gr::dtv::C20_30) // 24
+ .value("C124_180", ::gr::dtv::C124_180) // 25
+ .value("C25_36", ::gr::dtv::C25_36) // 26
+ .value("C128_180", ::gr::dtv::C128_180) // 27
+ .value("C13_18", ::gr::dtv::C13_18) // 28
+ .value("C132_180", ::gr::dtv::C132_180) // 29
+ .value("C22_30", ::gr::dtv::C22_30) // 30
+ .value("C135_180", ::gr::dtv::C135_180) // 31
+ .value("C140_180", ::gr::dtv::C140_180) // 32
+ .value("C7_9", ::gr::dtv::C7_9) // 33
+ .value("C154_180", ::gr::dtv::C154_180) // 34
+ .value("C11_45", ::gr::dtv::C11_45) // 35
+ .value("C4_15", ::gr::dtv::C4_15) // 36
+ .value("C14_45", ::gr::dtv::C14_45) // 37
+ .value("C7_15", ::gr::dtv::C7_15) // 38
+ .value("C8_15", ::gr::dtv::C8_15) // 39
+ .value("C32_45", ::gr::dtv::C32_45) // 40
+ .value("C2_9_VLSNR", ::gr::dtv::C2_9_VLSNR) // 41
+ .value("C1_5_MEDIUM", ::gr::dtv::C1_5_MEDIUM) // 42
+ .value("C11_45_MEDIUM", ::gr::dtv::C11_45_MEDIUM) // 43
+ .value("C1_3_MEDIUM", ::gr::dtv::C1_3_MEDIUM) // 44
+ .value("C1_5_VLSNR_SF2", ::gr::dtv::C1_5_VLSNR_SF2) // 45
+ .value("C11_45_VLSNR_SF2", ::gr::dtv::C11_45_VLSNR_SF2) // 46
+ .value("C1_5_VLSNR", ::gr::dtv::C1_5_VLSNR) // 47
+ .value("C4_15_VLSNR", ::gr::dtv::C4_15_VLSNR) // 48
+ .value("C1_3_VLSNR", ::gr::dtv::C1_3_VLSNR) // 49
+ .value("C_OTHER", ::gr::dtv::C_OTHER) // 50
+ .export_values();
+ py::enum_<::gr::dtv::dvb_framesize_t>(m, "dvb_framesize_t")
+ .value("FECFRAME_SHORT", ::gr::dtv::FECFRAME_SHORT) // 0
+ .value("FECFRAME_NORMAL", ::gr::dtv::FECFRAME_NORMAL) // 1
+ .value("FECFRAME_MEDIUM", ::gr::dtv::FECFRAME_MEDIUM) // 2
+ .export_values();
+ py::enum_<::gr::dtv::dvb_constellation_t>(m, "dvb_constellation_t")
+ .value("MOD_QPSK", ::gr::dtv::MOD_QPSK) // 0
+ .value("MOD_16QAM", ::gr::dtv::MOD_16QAM) // 1
+ .value("MOD_64QAM", ::gr::dtv::MOD_64QAM) // 2
+ .value("MOD_256QAM", ::gr::dtv::MOD_256QAM) // 3
+ .value("MOD_8PSK", ::gr::dtv::MOD_8PSK) // 4
+ .value("MOD_8APSK", ::gr::dtv::MOD_8APSK) // 5
+ .value("MOD_16APSK", ::gr::dtv::MOD_16APSK) // 6
+ .value("MOD_8_8APSK", ::gr::dtv::MOD_8_8APSK) // 7
+ .value("MOD_32APSK", ::gr::dtv::MOD_32APSK) // 8
+ .value("MOD_4_12_16APSK", ::gr::dtv::MOD_4_12_16APSK) // 9
+ .value("MOD_4_8_4_16APSK", ::gr::dtv::MOD_4_8_4_16APSK) // 10
+ .value("MOD_64APSK", ::gr::dtv::MOD_64APSK) // 11
+ .value("MOD_8_16_20_20APSK", ::gr::dtv::MOD_8_16_20_20APSK) // 12
+ .value("MOD_4_12_20_28APSK", ::gr::dtv::MOD_4_12_20_28APSK) // 13
+ .value("MOD_128APSK", ::gr::dtv::MOD_128APSK) // 14
+ .value("MOD_256APSK", ::gr::dtv::MOD_256APSK) // 15
+ .value("MOD_BPSK", ::gr::dtv::MOD_BPSK) // 16
+ .value("MOD_BPSK_SF2", ::gr::dtv::MOD_BPSK_SF2) // 17
+ .value("MOD_8VSB", ::gr::dtv::MOD_8VSB) // 18
+ .value("MOD_OTHER", ::gr::dtv::MOD_OTHER) // 19
+ .export_values();
+ py::enum_<::gr::dtv::dvb_guardinterval_t>(m, "dvb_guardinterval_t")
+ .value("GI_1_32", ::gr::dtv::GI_1_32) // 0
+ .value("GI_1_16", ::gr::dtv::GI_1_16) // 1
+ .value("GI_1_8", ::gr::dtv::GI_1_8) // 2
+ .value("GI_1_4", ::gr::dtv::GI_1_4) // 3
+ .value("GI_1_128", ::gr::dtv::GI_1_128) // 4
+ .value("GI_19_128", ::gr::dtv::GI_19_128) // 5
+ .value("GI_19_256", ::gr::dtv::GI_19_256) // 6
+ .export_values();
+}
diff --git a/gr-dtv/python/dtv/bindings/dvb_ldpc_bb_python.cc b/gr-dtv/python/dtv/bindings/dvb_ldpc_bb_python.cc
new file mode 100644
index 0000000000..4619dfda1e
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvb_ldpc_bb_python.cc
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvb_ldpc_bb.h) */
+/* BINDTOOL_HEADER_FILE_HASH(fa0d5ad2fdc5bd4b427bf728736ef87c) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvb_ldpc_bb.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvb_ldpc_bb_pydoc.h>
+
+void bind_dvb_ldpc_bb(py::module& m)
+{
+
+ using dvb_ldpc_bb = ::gr::dtv::dvb_ldpc_bb;
+
+
+ py::class_<dvb_ldpc_bb, gr::block, gr::basic_block, std::shared_ptr<dvb_ldpc_bb>>(
+ m, "dvb_ldpc_bb", D(dvb_ldpc_bb))
+
+ .def(py::init(&dvb_ldpc_bb::make),
+ py::arg("standard"),
+ py::arg("framesize"),
+ py::arg("rate"),
+ py::arg("constellation"),
+ D(dvb_ldpc_bb, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbs2_config_python.cc b/gr-dtv/python/dtv/bindings/dvbs2_config_python.cc
new file mode 100644
index 0000000000..e0509be62b
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbs2_config_python.cc
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(0) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbs2_config.h) */
+/* BINDTOOL_HEADER_FILE_HASH(db5f4cebaba9807baacaf99342135375) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbs2_config.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbs2_config_pydoc.h>
+
+void bind_dvbs2_config(py::module& m)
+{
+
+
+ py::enum_<::gr::dtv::dvbs2_rolloff_factor_t>(m, "dvbs2_rolloff_factor_t")
+ .value("RO_0_35", ::gr::dtv::RO_0_35) // 0
+ .value("RO_0_25", ::gr::dtv::RO_0_25) // 1
+ .value("RO_0_20", ::gr::dtv::RO_0_20) // 2
+ .value("RO_RESERVED", ::gr::dtv::RO_RESERVED) // 3
+ .value("RO_0_15", ::gr::dtv::RO_0_15) // 4
+ .value("RO_0_10", ::gr::dtv::RO_0_10) // 5
+ .value("RO_0_05", ::gr::dtv::RO_0_05) // 6
+ .export_values();
+ py::enum_<::gr::dtv::dvbs2_pilots_t>(m, "dvbs2_pilots_t")
+ .value("PILOTS_OFF", ::gr::dtv::PILOTS_OFF) // 0
+ .value("PILOTS_ON", ::gr::dtv::PILOTS_ON) // 1
+ .export_values();
+ py::enum_<::gr::dtv::dvbs2_interpolation_t>(m, "dvbs2_interpolation_t")
+ .value("INTERPOLATION_OFF", ::gr::dtv::INTERPOLATION_OFF) // 0
+ .value("INTERPOLATION_ON", ::gr::dtv::INTERPOLATION_ON) // 1
+ .export_values();
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbs2_interleaver_bb_python.cc b/gr-dtv/python/dtv/bindings/dvbs2_interleaver_bb_python.cc
new file mode 100644
index 0000000000..e4fff11b06
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbs2_interleaver_bb_python.cc
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbs2_interleaver_bb.h) */
+/* BINDTOOL_HEADER_FILE_HASH(6ea090a711e8469c05b28f67e3711d45) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbs2_interleaver_bb.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbs2_interleaver_bb_pydoc.h>
+
+void bind_dvbs2_interleaver_bb(py::module& m)
+{
+
+ using dvbs2_interleaver_bb = ::gr::dtv::dvbs2_interleaver_bb;
+
+
+ py::class_<dvbs2_interleaver_bb,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbs2_interleaver_bb>>(
+ m, "dvbs2_interleaver_bb", D(dvbs2_interleaver_bb))
+
+ .def(py::init(&dvbs2_interleaver_bb::make),
+ py::arg("framesize"),
+ py::arg("rate"),
+ py::arg("constellation"),
+ D(dvbs2_interleaver_bb, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbs2_modulator_bc_python.cc b/gr-dtv/python/dtv/bindings/dvbs2_modulator_bc_python.cc
new file mode 100644
index 0000000000..14fd3a4f3f
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbs2_modulator_bc_python.cc
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbs2_modulator_bc.h) */
+/* BINDTOOL_HEADER_FILE_HASH(e1a9f035f4e312f3e90dc68592c9c2c9) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbs2_modulator_bc.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbs2_modulator_bc_pydoc.h>
+
+void bind_dvbs2_modulator_bc(py::module& m)
+{
+
+ using dvbs2_modulator_bc = ::gr::dtv::dvbs2_modulator_bc;
+
+
+ py::class_<dvbs2_modulator_bc,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbs2_modulator_bc>>(
+ m, "dvbs2_modulator_bc", D(dvbs2_modulator_bc))
+
+ .def(py::init(&dvbs2_modulator_bc::make),
+ py::arg("framesize"),
+ py::arg("rate"),
+ py::arg("constellation"),
+ py::arg("interpolation"),
+ D(dvbs2_modulator_bc, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbs2_physical_cc_python.cc b/gr-dtv/python/dtv/bindings/dvbs2_physical_cc_python.cc
new file mode 100644
index 0000000000..6076f3710d
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbs2_physical_cc_python.cc
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbs2_physical_cc.h) */
+/* BINDTOOL_HEADER_FILE_HASH(daa4f75e5b420ca14e4b7245b4328d87) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbs2_physical_cc.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbs2_physical_cc_pydoc.h>
+
+void bind_dvbs2_physical_cc(py::module& m)
+{
+
+ using dvbs2_physical_cc = ::gr::dtv::dvbs2_physical_cc;
+
+
+ py::class_<dvbs2_physical_cc,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbs2_physical_cc>>(
+ m, "dvbs2_physical_cc", D(dvbs2_physical_cc))
+
+ .def(py::init(&dvbs2_physical_cc::make),
+ py::arg("framesize"),
+ py::arg("rate"),
+ py::arg("constellation"),
+ py::arg("pilots"),
+ py::arg("goldcode"),
+ D(dvbs2_physical_cc, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt2_cellinterleaver_cc_python.cc b/gr-dtv/python/dtv/bindings/dvbt2_cellinterleaver_cc_python.cc
new file mode 100644
index 0000000000..d21de1c6bc
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt2_cellinterleaver_cc_python.cc
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt2_cellinterleaver_cc.h) */
+/* BINDTOOL_HEADER_FILE_HASH(bf73763c0dccee7ec30616bfbd9e56e0) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt2_cellinterleaver_cc.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt2_cellinterleaver_cc_pydoc.h>
+
+void bind_dvbt2_cellinterleaver_cc(py::module& m)
+{
+
+ using dvbt2_cellinterleaver_cc = ::gr::dtv::dvbt2_cellinterleaver_cc;
+
+
+ py::class_<dvbt2_cellinterleaver_cc,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbt2_cellinterleaver_cc>>(
+ m, "dvbt2_cellinterleaver_cc", D(dvbt2_cellinterleaver_cc))
+
+ .def(py::init(&dvbt2_cellinterleaver_cc::make),
+ py::arg("framesize"),
+ py::arg("constellation"),
+ py::arg("fecblocks"),
+ py::arg("tiblocks"),
+ D(dvbt2_cellinterleaver_cc, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt2_config_python.cc b/gr-dtv/python/dtv/bindings/dvbt2_config_python.cc
new file mode 100644
index 0000000000..070c9e89c5
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt2_config_python.cc
@@ -0,0 +1,128 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(0) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt2_config.h) */
+/* BINDTOOL_HEADER_FILE_HASH(2e2157cfd74e3b7fd3b7421db4773ef7) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt2_config.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt2_config_pydoc.h>
+
+void bind_dvbt2_config(py::module& m)
+{
+
+
+ py::enum_<::gr::dtv::dvbt2_rotation_t>(m, "dvbt2_rotation_t")
+ .value("ROTATION_OFF", ::gr::dtv::ROTATION_OFF) // 0
+ .value("ROTATION_ON", ::gr::dtv::ROTATION_ON) // 1
+ .export_values();
+ py::enum_<::gr::dtv::dvbt2_streamtype_t>(m, "dvbt2_streamtype_t")
+ .value("STREAMTYPE_TS", ::gr::dtv::STREAMTYPE_TS) // 0
+ .value("STREAMTYPE_GS", ::gr::dtv::STREAMTYPE_GS) // 1
+ .value("STREAMTYPE_BOTH", ::gr::dtv::STREAMTYPE_BOTH) // 2
+ .export_values();
+ py::enum_<::gr::dtv::dvbt2_inputmode_t>(m, "dvbt2_inputmode_t")
+ .value("INPUTMODE_NORMAL", ::gr::dtv::INPUTMODE_NORMAL) // 0
+ .value("INPUTMODE_HIEFF", ::gr::dtv::INPUTMODE_HIEFF) // 1
+ .export_values();
+ py::enum_<::gr::dtv::dvbt2_extended_carrier_t>(m, "dvbt2_extended_carrier_t")
+ .value("CARRIERS_NORMAL", ::gr::dtv::CARRIERS_NORMAL) // 0
+ .value("CARRIERS_EXTENDED", ::gr::dtv::CARRIERS_EXTENDED) // 1
+ .export_values();
+ py::enum_<::gr::dtv::dvbt2_preamble_t>(m, "dvbt2_preamble_t")
+ .value("PREAMBLE_T2_SISO", ::gr::dtv::PREAMBLE_T2_SISO) // 0
+ .value("PREAMBLE_T2_MISO", ::gr::dtv::PREAMBLE_T2_MISO) // 1
+ .value("PREAMBLE_NON_T2", ::gr::dtv::PREAMBLE_NON_T2) // 2
+ .value("PREAMBLE_T2_LITE_SISO", ::gr::dtv::PREAMBLE_T2_LITE_SISO) // 3
+ .value("PREAMBLE_T2_LITE_MISO", ::gr::dtv::PREAMBLE_T2_LITE_MISO) // 4
+ .export_values();
+ py::enum_<::gr::dtv::dvbt2_fftsize_t>(m, "dvbt2_fftsize_t")
+ .value("FFTSIZE_2K", ::gr::dtv::FFTSIZE_2K) // 0
+ .value("FFTSIZE_8K", ::gr::dtv::FFTSIZE_8K) // 1
+ .value("FFTSIZE_4K", ::gr::dtv::FFTSIZE_4K) // 2
+ .value("FFTSIZE_1K", ::gr::dtv::FFTSIZE_1K) // 3
+ .value("FFTSIZE_16K", ::gr::dtv::FFTSIZE_16K) // 4
+ .value("FFTSIZE_32K", ::gr::dtv::FFTSIZE_32K) // 5
+ .value("FFTSIZE_8K_T2GI", ::gr::dtv::FFTSIZE_8K_T2GI) // 6
+ .value("FFTSIZE_32K_T2GI", ::gr::dtv::FFTSIZE_32K_T2GI) // 7
+ .value("FFTSIZE_16K_T2GI", ::gr::dtv::FFTSIZE_16K_T2GI) // 11
+ .export_values();
+ py::enum_<::gr::dtv::dvbt2_papr_t>(m, "dvbt2_papr_t")
+ .value("PAPR_OFF", ::gr::dtv::PAPR_OFF) // 0
+ .value("PAPR_ACE", ::gr::dtv::PAPR_ACE) // 1
+ .value("PAPR_TR", ::gr::dtv::PAPR_TR) // 2
+ .value("PAPR_BOTH", ::gr::dtv::PAPR_BOTH) // 3
+ .export_values();
+ py::enum_<::gr::dtv::dvbt2_l1constellation_t>(m, "dvbt2_l1constellation_t")
+ .value("L1_MOD_BPSK", ::gr::dtv::L1_MOD_BPSK) // 0
+ .value("L1_MOD_QPSK", ::gr::dtv::L1_MOD_QPSK) // 1
+ .value("L1_MOD_16QAM", ::gr::dtv::L1_MOD_16QAM) // 2
+ .value("L1_MOD_64QAM", ::gr::dtv::L1_MOD_64QAM) // 3
+ .export_values();
+ py::enum_<::gr::dtv::dvbt2_pilotpattern_t>(m, "dvbt2_pilotpattern_t")
+ .value("PILOT_PP1", ::gr::dtv::PILOT_PP1) // 0
+ .value("PILOT_PP2", ::gr::dtv::PILOT_PP2) // 1
+ .value("PILOT_PP3", ::gr::dtv::PILOT_PP3) // 2
+ .value("PILOT_PP4", ::gr::dtv::PILOT_PP4) // 3
+ .value("PILOT_PP5", ::gr::dtv::PILOT_PP5) // 4
+ .value("PILOT_PP6", ::gr::dtv::PILOT_PP6) // 5
+ .value("PILOT_PP7", ::gr::dtv::PILOT_PP7) // 6
+ .value("PILOT_PP8", ::gr::dtv::PILOT_PP8) // 7
+ .export_values();
+ py::enum_<::gr::dtv::dvbt2_version_t>(m, "dvbt2_version_t")
+ .value("VERSION_111", ::gr::dtv::VERSION_111) // 0
+ .value("VERSION_121", ::gr::dtv::VERSION_121) // 1
+ .value("VERSION_131", ::gr::dtv::VERSION_131) // 2
+ .export_values();
+ py::enum_<::gr::dtv::dvbt2_reservedbiasbits_t>(m, "dvbt2_reservedbiasbits_t")
+ .value("RESERVED_OFF", ::gr::dtv::RESERVED_OFF) // 0
+ .value("RESERVED_ON", ::gr::dtv::RESERVED_ON) // 1
+ .export_values();
+ py::enum_<::gr::dtv::dvbt2_l1scrambled_t>(m, "dvbt2_l1scrambled_t")
+ .value("L1_SCRAMBLED_OFF", ::gr::dtv::L1_SCRAMBLED_OFF) // 0
+ .value("L1_SCRAMBLED_ON", ::gr::dtv::L1_SCRAMBLED_ON) // 1
+ .export_values();
+ py::enum_<::gr::dtv::dvbt2_misogroup_t>(m, "dvbt2_misogroup_t")
+ .value("MISO_TX1", ::gr::dtv::MISO_TX1) // 0
+ .value("MISO_TX2", ::gr::dtv::MISO_TX2) // 1
+ .export_values();
+ py::enum_<::gr::dtv::dvbt2_showlevels_t>(m, "dvbt2_showlevels_t")
+ .value("SHOWLEVELS_OFF", ::gr::dtv::SHOWLEVELS_OFF) // 0
+ .value("SHOWLEVELS_ON", ::gr::dtv::SHOWLEVELS_ON) // 1
+ .export_values();
+ py::enum_<::gr::dtv::dvbt2_inband_t>(m, "dvbt2_inband_t")
+ .value("INBAND_OFF", ::gr::dtv::INBAND_OFF) // 0
+ .value("INBAND_ON", ::gr::dtv::INBAND_ON) // 1
+ .export_values();
+ py::enum_<::gr::dtv::dvbt2_equalization_t>(m, "dvbt2_equalization_t")
+ .value("EQUALIZATION_OFF", ::gr::dtv::EQUALIZATION_OFF) // 0
+ .value("EQUALIZATION_ON", ::gr::dtv::EQUALIZATION_ON) // 1
+ .export_values();
+ py::enum_<::gr::dtv::dvbt2_bandwidth_t>(m, "dvbt2_bandwidth_t")
+ .value("BANDWIDTH_1_7_MHZ", ::gr::dtv::BANDWIDTH_1_7_MHZ) // 0
+ .value("BANDWIDTH_5_0_MHZ", ::gr::dtv::BANDWIDTH_5_0_MHZ) // 1
+ .value("BANDWIDTH_6_0_MHZ", ::gr::dtv::BANDWIDTH_6_0_MHZ) // 2
+ .value("BANDWIDTH_7_0_MHZ", ::gr::dtv::BANDWIDTH_7_0_MHZ) // 3
+ .value("BANDWIDTH_8_0_MHZ", ::gr::dtv::BANDWIDTH_8_0_MHZ) // 4
+ .value("BANDWIDTH_10_0_MHZ", ::gr::dtv::BANDWIDTH_10_0_MHZ) // 5
+ .export_values();
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt2_framemapper_cc_python.cc b/gr-dtv/python/dtv/bindings/dvbt2_framemapper_cc_python.cc
new file mode 100644
index 0000000000..474a2a1ff3
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt2_framemapper_cc_python.cc
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt2_framemapper_cc.h) */
+/* BINDTOOL_HEADER_FILE_HASH(9ba36658362b995ce077d00e03fc9c7f) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt2_framemapper_cc.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt2_framemapper_cc_pydoc.h>
+
+void bind_dvbt2_framemapper_cc(py::module& m)
+{
+
+ using dvbt2_framemapper_cc = ::gr::dtv::dvbt2_framemapper_cc;
+
+
+ py::class_<dvbt2_framemapper_cc,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbt2_framemapper_cc>>(
+ m, "dvbt2_framemapper_cc", D(dvbt2_framemapper_cc))
+
+ .def(py::init(&dvbt2_framemapper_cc::make),
+ py::arg("framesize"),
+ py::arg("rate"),
+ py::arg("constellation"),
+ py::arg("rotation"),
+ py::arg("fecblocks"),
+ py::arg("tiblocks"),
+ py::arg("carriermode"),
+ py::arg("fftsize"),
+ py::arg("guardinterval"),
+ py::arg("l1constellation"),
+ py::arg("pilotpattern"),
+ py::arg("t2frames"),
+ py::arg("numdatasyms"),
+ py::arg("paprmode"),
+ py::arg("version"),
+ py::arg("preamble"),
+ py::arg("inputmode"),
+ py::arg("reservedbiasbits"),
+ py::arg("l1scrambled"),
+ py::arg("inband"),
+ D(dvbt2_framemapper_cc, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt2_freqinterleaver_cc_python.cc b/gr-dtv/python/dtv/bindings/dvbt2_freqinterleaver_cc_python.cc
new file mode 100644
index 0000000000..9ebde036c8
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt2_freqinterleaver_cc_python.cc
@@ -0,0 +1,56 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt2_freqinterleaver_cc.h) */
+/* BINDTOOL_HEADER_FILE_HASH(f8bd23f42cf6c47adb3cdb980c4d53b3) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt2_freqinterleaver_cc.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt2_freqinterleaver_cc_pydoc.h>
+
+void bind_dvbt2_freqinterleaver_cc(py::module& m)
+{
+
+ using dvbt2_freqinterleaver_cc = ::gr::dtv::dvbt2_freqinterleaver_cc;
+
+
+ py::class_<dvbt2_freqinterleaver_cc,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbt2_freqinterleaver_cc>>(
+ m, "dvbt2_freqinterleaver_cc", D(dvbt2_freqinterleaver_cc))
+
+ .def(py::init(&dvbt2_freqinterleaver_cc::make),
+ py::arg("carriermode"),
+ py::arg("fftsize"),
+ py::arg("pilotpattern"),
+ py::arg("guardinterval"),
+ py::arg("numdatasyms"),
+ py::arg("paprmode"),
+ py::arg("version"),
+ py::arg("preamble"),
+ D(dvbt2_freqinterleaver_cc, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt2_interleaver_bb_python.cc b/gr-dtv/python/dtv/bindings/dvbt2_interleaver_bb_python.cc
new file mode 100644
index 0000000000..a80574cd73
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt2_interleaver_bb_python.cc
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt2_interleaver_bb.h) */
+/* BINDTOOL_HEADER_FILE_HASH(01828a0a57077456ac6725972c8113a5) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt2_interleaver_bb.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt2_interleaver_bb_pydoc.h>
+
+void bind_dvbt2_interleaver_bb(py::module& m)
+{
+
+ using dvbt2_interleaver_bb = ::gr::dtv::dvbt2_interleaver_bb;
+
+
+ py::class_<dvbt2_interleaver_bb,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbt2_interleaver_bb>>(
+ m, "dvbt2_interleaver_bb", D(dvbt2_interleaver_bb))
+
+ .def(py::init(&dvbt2_interleaver_bb::make),
+ py::arg("framesize"),
+ py::arg("rate"),
+ py::arg("constellation"),
+ D(dvbt2_interleaver_bb, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt2_miso_cc_python.cc b/gr-dtv/python/dtv/bindings/dvbt2_miso_cc_python.cc
new file mode 100644
index 0000000000..60c2a9d783
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt2_miso_cc_python.cc
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt2_miso_cc.h) */
+/* BINDTOOL_HEADER_FILE_HASH(d31013333348186f65abf45c7548693f) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt2_miso_cc.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt2_miso_cc_pydoc.h>
+
+void bind_dvbt2_miso_cc(py::module& m)
+{
+
+ using dvbt2_miso_cc = ::gr::dtv::dvbt2_miso_cc;
+
+
+ py::class_<dvbt2_miso_cc,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbt2_miso_cc>>(m, "dvbt2_miso_cc", D(dvbt2_miso_cc))
+
+ .def(py::init(&dvbt2_miso_cc::make),
+ py::arg("carriermode"),
+ py::arg("fftsize"),
+ py::arg("pilotpattern"),
+ py::arg("guardinterval"),
+ py::arg("numdatasyms"),
+ py::arg("paprmode"),
+ D(dvbt2_miso_cc, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt2_modulator_bc_python.cc b/gr-dtv/python/dtv/bindings/dvbt2_modulator_bc_python.cc
new file mode 100644
index 0000000000..602761b8dd
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt2_modulator_bc_python.cc
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt2_modulator_bc.h) */
+/* BINDTOOL_HEADER_FILE_HASH(0aa462ecd69deb5ea7b88a14f4a7c810) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt2_modulator_bc.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt2_modulator_bc_pydoc.h>
+
+void bind_dvbt2_modulator_bc(py::module& m)
+{
+
+ using dvbt2_modulator_bc = ::gr::dtv::dvbt2_modulator_bc;
+
+
+ py::class_<dvbt2_modulator_bc,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbt2_modulator_bc>>(
+ m, "dvbt2_modulator_bc", D(dvbt2_modulator_bc))
+
+ .def(py::init(&dvbt2_modulator_bc::make),
+ py::arg("framesize"),
+ py::arg("constellation"),
+ py::arg("rotation"),
+ D(dvbt2_modulator_bc, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt2_p1insertion_cc_python.cc b/gr-dtv/python/dtv/bindings/dvbt2_p1insertion_cc_python.cc
new file mode 100644
index 0000000000..db0c84e7f7
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt2_p1insertion_cc_python.cc
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt2_p1insertion_cc.h) */
+/* BINDTOOL_HEADER_FILE_HASH(c35854bc4a5b05aa34fb881c9e3d35ab) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt2_p1insertion_cc.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt2_p1insertion_cc_pydoc.h>
+
+void bind_dvbt2_p1insertion_cc(py::module& m)
+{
+
+ using dvbt2_p1insertion_cc = ::gr::dtv::dvbt2_p1insertion_cc;
+
+
+ py::class_<dvbt2_p1insertion_cc,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbt2_p1insertion_cc>>(
+ m, "dvbt2_p1insertion_cc", D(dvbt2_p1insertion_cc))
+
+ .def(py::init(&dvbt2_p1insertion_cc::make),
+ py::arg("carriermode"),
+ py::arg("fftsize"),
+ py::arg("guardinterval"),
+ py::arg("numdatasyms"),
+ py::arg("preamble"),
+ py::arg("showlevels"),
+ py::arg("vclip"),
+ D(dvbt2_p1insertion_cc, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt2_paprtr_cc_python.cc b/gr-dtv/python/dtv/bindings/dvbt2_paprtr_cc_python.cc
new file mode 100644
index 0000000000..5fe88b9797
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt2_paprtr_cc_python.cc
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt2_paprtr_cc.h) */
+/* BINDTOOL_HEADER_FILE_HASH(fffef4d8dca4fd66f01f467741415bf4) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt2_paprtr_cc.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt2_paprtr_cc_pydoc.h>
+
+void bind_dvbt2_paprtr_cc(py::module& m)
+{
+
+ using dvbt2_paprtr_cc = ::gr::dtv::dvbt2_paprtr_cc;
+
+
+ py::class_<dvbt2_paprtr_cc,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbt2_paprtr_cc>>(m, "dvbt2_paprtr_cc", D(dvbt2_paprtr_cc))
+
+ .def(py::init(&dvbt2_paprtr_cc::make),
+ py::arg("carriermode"),
+ py::arg("fftsize"),
+ py::arg("pilotpattern"),
+ py::arg("guardinterval"),
+ py::arg("numdatasyms"),
+ py::arg("paprmode"),
+ py::arg("version"),
+ py::arg("vclip"),
+ py::arg("iterations"),
+ py::arg("vlength"),
+ D(dvbt2_paprtr_cc, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt2_pilotgenerator_cc_python.cc b/gr-dtv/python/dtv/bindings/dvbt2_pilotgenerator_cc_python.cc
new file mode 100644
index 0000000000..ed12e25d8c
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt2_pilotgenerator_cc_python.cc
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt2_pilotgenerator_cc.h) */
+/* BINDTOOL_HEADER_FILE_HASH(7dee7329d159058fae8797792d25ec12) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt2_pilotgenerator_cc.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt2_pilotgenerator_cc_pydoc.h>
+
+void bind_dvbt2_pilotgenerator_cc(py::module& m)
+{
+
+ using dvbt2_pilotgenerator_cc = ::gr::dtv::dvbt2_pilotgenerator_cc;
+
+
+ py::class_<dvbt2_pilotgenerator_cc,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbt2_pilotgenerator_cc>>(
+ m, "dvbt2_pilotgenerator_cc", D(dvbt2_pilotgenerator_cc))
+
+ .def(py::init(&dvbt2_pilotgenerator_cc::make),
+ py::arg("carriermode"),
+ py::arg("fftsize"),
+ py::arg("pilotpattern"),
+ py::arg("guardinterval"),
+ py::arg("numdatasyms"),
+ py::arg("paprmode"),
+ py::arg("version"),
+ py::arg("preamble"),
+ py::arg("misogroup"),
+ py::arg("equalization"),
+ py::arg("bandwidth"),
+ py::arg("vlength"),
+ D(dvbt2_pilotgenerator_cc, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt_bit_inner_deinterleaver_python.cc b/gr-dtv/python/dtv/bindings/dvbt_bit_inner_deinterleaver_python.cc
new file mode 100644
index 0000000000..7164d40ad9
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_bit_inner_deinterleaver_python.cc
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt_bit_inner_deinterleaver.h) */
+/* BINDTOOL_HEADER_FILE_HASH(be24f106c1506c68ae78f42d801e905e) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt_bit_inner_deinterleaver.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt_bit_inner_deinterleaver_pydoc.h>
+
+void bind_dvbt_bit_inner_deinterleaver(py::module& m)
+{
+
+ using dvbt_bit_inner_deinterleaver = ::gr::dtv::dvbt_bit_inner_deinterleaver;
+
+
+ py::class_<dvbt_bit_inner_deinterleaver,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbt_bit_inner_deinterleaver>>(
+ m, "dvbt_bit_inner_deinterleaver", D(dvbt_bit_inner_deinterleaver))
+
+ .def(py::init(&dvbt_bit_inner_deinterleaver::make),
+ py::arg("nsize"),
+ py::arg("constellation"),
+ py::arg("hierarchy"),
+ py::arg("transmission"),
+ D(dvbt_bit_inner_deinterleaver, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt_bit_inner_interleaver_python.cc b/gr-dtv/python/dtv/bindings/dvbt_bit_inner_interleaver_python.cc
new file mode 100644
index 0000000000..7ccd6e5217
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_bit_inner_interleaver_python.cc
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt_bit_inner_interleaver.h) */
+/* BINDTOOL_HEADER_FILE_HASH(ffe3bf9243baf975d3e5b31b8c29aa7f) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt_bit_inner_interleaver.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt_bit_inner_interleaver_pydoc.h>
+
+void bind_dvbt_bit_inner_interleaver(py::module& m)
+{
+
+ using dvbt_bit_inner_interleaver = ::gr::dtv::dvbt_bit_inner_interleaver;
+
+
+ py::class_<dvbt_bit_inner_interleaver,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbt_bit_inner_interleaver>>(
+ m, "dvbt_bit_inner_interleaver", D(dvbt_bit_inner_interleaver))
+
+ .def(py::init(&dvbt_bit_inner_interleaver::make),
+ py::arg("nsize"),
+ py::arg("constellation"),
+ py::arg("hierarchy"),
+ py::arg("transmission"),
+ D(dvbt_bit_inner_interleaver, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt_config_python.cc b/gr-dtv/python/dtv/bindings/dvbt_config_python.cc
new file mode 100644
index 0000000000..0d57292773
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_config_python.cc
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(0) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt_config.h) */
+/* BINDTOOL_HEADER_FILE_HASH(1e8c8ddd5673aee22452fdba41394024) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt_config.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt_config_pydoc.h>
+
+void bind_dvbt_config(py::module& m)
+{
+
+
+ py::enum_<::gr::dtv::dvbt_hierarchy_t>(m, "dvbt_hierarchy_t")
+ .value("NH", ::gr::dtv::NH) // 0
+ .value("ALPHA1", ::gr::dtv::ALPHA1) // 1
+ .value("ALPHA2", ::gr::dtv::ALPHA2) // 2
+ .value("ALPHA4", ::gr::dtv::ALPHA4) // 3
+ .export_values();
+ py::enum_<::gr::dtv::dvbt_transmission_mode_t>(m, "dvbt_transmission_mode_t")
+ .value("T2k", ::gr::dtv::T2k) // 0
+ .value("T8k", ::gr::dtv::T8k) // 1
+ .export_values();
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt_convolutional_deinterleaver_python.cc b/gr-dtv/python/dtv/bindings/dvbt_convolutional_deinterleaver_python.cc
new file mode 100644
index 0000000000..294ef6d8f1
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_convolutional_deinterleaver_python.cc
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt_convolutional_deinterleaver.h) */
+/* BINDTOOL_HEADER_FILE_HASH(fdfc0d5f4cf75370a303fa860eb2a733) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt_convolutional_deinterleaver.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt_convolutional_deinterleaver_pydoc.h>
+
+void bind_dvbt_convolutional_deinterleaver(py::module& m)
+{
+
+ using dvbt_convolutional_deinterleaver = ::gr::dtv::dvbt_convolutional_deinterleaver;
+
+
+ py::class_<dvbt_convolutional_deinterleaver,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbt_convolutional_deinterleaver>>(
+ m, "dvbt_convolutional_deinterleaver", D(dvbt_convolutional_deinterleaver))
+
+ .def(py::init(&dvbt_convolutional_deinterleaver::make),
+ py::arg("nsize"),
+ py::arg("I"),
+ py::arg("M"),
+ D(dvbt_convolutional_deinterleaver, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt_convolutional_interleaver_python.cc b/gr-dtv/python/dtv/bindings/dvbt_convolutional_interleaver_python.cc
new file mode 100644
index 0000000000..00d6df695e
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_convolutional_interleaver_python.cc
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt_convolutional_interleaver.h) */
+/* BINDTOOL_HEADER_FILE_HASH(47d8af60ef59f5c5844acc2947890015) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt_convolutional_interleaver.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt_convolutional_interleaver_pydoc.h>
+
+void bind_dvbt_convolutional_interleaver(py::module& m)
+{
+
+ using dvbt_convolutional_interleaver = ::gr::dtv::dvbt_convolutional_interleaver;
+
+
+ py::class_<dvbt_convolutional_interleaver,
+ gr::sync_interpolator,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbt_convolutional_interleaver>>(
+ m, "dvbt_convolutional_interleaver", D(dvbt_convolutional_interleaver))
+
+ .def(py::init(&dvbt_convolutional_interleaver::make),
+ py::arg("nsize"),
+ py::arg("I"),
+ py::arg("M"),
+ D(dvbt_convolutional_interleaver, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt_demap_python.cc b/gr-dtv/python/dtv/bindings/dvbt_demap_python.cc
new file mode 100644
index 0000000000..436bd5cb36
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_demap_python.cc
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt_demap.h) */
+/* BINDTOOL_HEADER_FILE_HASH(9098240998c2f93453ed335eded924db) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt_demap.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt_demap_pydoc.h>
+
+void bind_dvbt_demap(py::module& m)
+{
+
+ using dvbt_demap = ::gr::dtv::dvbt_demap;
+
+
+ py::class_<dvbt_demap, gr::block, gr::basic_block, std::shared_ptr<dvbt_demap>>(
+ m, "dvbt_demap", D(dvbt_demap))
+
+ .def(py::init(&dvbt_demap::make),
+ py::arg("nsize"),
+ py::arg("constellation"),
+ py::arg("hierarchy"),
+ py::arg("transmission"),
+ py::arg("gain"),
+ D(dvbt_demap, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt_demod_reference_signals_python.cc b/gr-dtv/python/dtv/bindings/dvbt_demod_reference_signals_python.cc
new file mode 100644
index 0000000000..054028b543
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_demod_reference_signals_python.cc
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt_demod_reference_signals.h) */
+/* BINDTOOL_HEADER_FILE_HASH(4697ae1c1b71c32c012c88b1f1ba0b80) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt_demod_reference_signals.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt_demod_reference_signals_pydoc.h>
+
+void bind_dvbt_demod_reference_signals(py::module& m)
+{
+
+ using dvbt_demod_reference_signals = ::gr::dtv::dvbt_demod_reference_signals;
+
+
+ py::class_<dvbt_demod_reference_signals,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbt_demod_reference_signals>>(
+ m, "dvbt_demod_reference_signals", D(dvbt_demod_reference_signals))
+
+ .def(py::init(&dvbt_demod_reference_signals::make),
+ py::arg("itemsize"),
+ py::arg("ninput"),
+ py::arg("noutput"),
+ py::arg("constellation"),
+ py::arg("hierarchy"),
+ py::arg("code_rate_HP"),
+ py::arg("code_rate_LP"),
+ py::arg("guard_interval"),
+ py::arg("transmission_mode"),
+ py::arg("include_cell_id"),
+ py::arg("cell_id"),
+ D(dvbt_demod_reference_signals, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt_energy_descramble_python.cc b/gr-dtv/python/dtv/bindings/dvbt_energy_descramble_python.cc
new file mode 100644
index 0000000000..ed1297d80c
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_energy_descramble_python.cc
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt_energy_descramble.h) */
+/* BINDTOOL_HEADER_FILE_HASH(8e900d99d1e16a6e19caad951480ff7e) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt_energy_descramble.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt_energy_descramble_pydoc.h>
+
+void bind_dvbt_energy_descramble(py::module& m)
+{
+
+ using dvbt_energy_descramble = ::gr::dtv::dvbt_energy_descramble;
+
+
+ py::class_<dvbt_energy_descramble,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbt_energy_descramble>>(
+ m, "dvbt_energy_descramble", D(dvbt_energy_descramble))
+
+ .def(py::init(&dvbt_energy_descramble::make),
+ py::arg("nblocks"),
+ D(dvbt_energy_descramble, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt_energy_dispersal_python.cc b/gr-dtv/python/dtv/bindings/dvbt_energy_dispersal_python.cc
new file mode 100644
index 0000000000..63d2d37409
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_energy_dispersal_python.cc
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt_energy_dispersal.h) */
+/* BINDTOOL_HEADER_FILE_HASH(2baa844650ab4696fde54fd0f93dd21b) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt_energy_dispersal.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt_energy_dispersal_pydoc.h>
+
+void bind_dvbt_energy_dispersal(py::module& m)
+{
+
+ using dvbt_energy_dispersal = ::gr::dtv::dvbt_energy_dispersal;
+
+
+ py::class_<dvbt_energy_dispersal,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbt_energy_dispersal>>(
+ m, "dvbt_energy_dispersal", D(dvbt_energy_dispersal))
+
+ .def(py::init(&dvbt_energy_dispersal::make),
+ py::arg("nsize"),
+ D(dvbt_energy_dispersal, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt_inner_coder_python.cc b/gr-dtv/python/dtv/bindings/dvbt_inner_coder_python.cc
new file mode 100644
index 0000000000..b571bec0af
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_inner_coder_python.cc
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt_inner_coder.h) */
+/* BINDTOOL_HEADER_FILE_HASH(b4bbb6a5041aba51ff9f5d25b4373abf) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt_inner_coder.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt_inner_coder_pydoc.h>
+
+void bind_dvbt_inner_coder(py::module& m)
+{
+
+ using dvbt_inner_coder = ::gr::dtv::dvbt_inner_coder;
+
+
+ py::class_<dvbt_inner_coder,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbt_inner_coder>>(
+ m, "dvbt_inner_coder", D(dvbt_inner_coder))
+
+ .def(py::init(&dvbt_inner_coder::make),
+ py::arg("ninput"),
+ py::arg("noutput"),
+ py::arg("constellation"),
+ py::arg("hierarchy"),
+ py::arg("coderate"),
+ D(dvbt_inner_coder, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt_map_python.cc b/gr-dtv/python/dtv/bindings/dvbt_map_python.cc
new file mode 100644
index 0000000000..becbe00dd7
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_map_python.cc
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt_map.h) */
+/* BINDTOOL_HEADER_FILE_HASH(8b7bee6e57994459c9ce4e16c87e7c1e) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt_map.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt_map_pydoc.h>
+
+void bind_dvbt_map(py::module& m)
+{
+
+ using dvbt_map = ::gr::dtv::dvbt_map;
+
+
+ py::class_<dvbt_map, gr::block, gr::basic_block, std::shared_ptr<dvbt_map>>(
+ m, "dvbt_map", D(dvbt_map))
+
+ .def(py::init(&dvbt_map::make),
+ py::arg("nsize"),
+ py::arg("constellation"),
+ py::arg("hierarchy"),
+ py::arg("transmission"),
+ py::arg("gain"),
+ D(dvbt_map, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt_ofdm_sym_acquisition_python.cc b/gr-dtv/python/dtv/bindings/dvbt_ofdm_sym_acquisition_python.cc
new file mode 100644
index 0000000000..eae12e5ff2
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_ofdm_sym_acquisition_python.cc
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt_ofdm_sym_acquisition.h) */
+/* BINDTOOL_HEADER_FILE_HASH(5ca4962bf06014c90cf79fb2e80ee9ae) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt_ofdm_sym_acquisition.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt_ofdm_sym_acquisition_pydoc.h>
+
+void bind_dvbt_ofdm_sym_acquisition(py::module& m)
+{
+
+ using dvbt_ofdm_sym_acquisition = ::gr::dtv::dvbt_ofdm_sym_acquisition;
+
+
+ py::class_<dvbt_ofdm_sym_acquisition,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbt_ofdm_sym_acquisition>>(
+ m, "dvbt_ofdm_sym_acquisition", D(dvbt_ofdm_sym_acquisition))
+
+ .def(py::init(&dvbt_ofdm_sym_acquisition::make),
+ py::arg("blocks"),
+ py::arg("fft_length"),
+ py::arg("occupied_tones"),
+ py::arg("cp_length"),
+ py::arg("snr"),
+ D(dvbt_ofdm_sym_acquisition, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt_reed_solomon_dec_python.cc b/gr-dtv/python/dtv/bindings/dvbt_reed_solomon_dec_python.cc
new file mode 100644
index 0000000000..385a47d735
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_reed_solomon_dec_python.cc
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt_reed_solomon_dec.h) */
+/* BINDTOOL_HEADER_FILE_HASH(f8375bfde79e00df1a85ea68f56f9a0e) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt_reed_solomon_dec.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt_reed_solomon_dec_pydoc.h>
+
+void bind_dvbt_reed_solomon_dec(py::module& m)
+{
+
+ using dvbt_reed_solomon_dec = ::gr::dtv::dvbt_reed_solomon_dec;
+
+
+ py::class_<dvbt_reed_solomon_dec,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbt_reed_solomon_dec>>(
+ m, "dvbt_reed_solomon_dec", D(dvbt_reed_solomon_dec))
+
+ .def(py::init(&dvbt_reed_solomon_dec::make),
+ py::arg("p"),
+ py::arg("m"),
+ py::arg("gfpoly"),
+ py::arg("n"),
+ py::arg("k"),
+ py::arg("t"),
+ py::arg("s"),
+ py::arg("blocks"),
+ D(dvbt_reed_solomon_dec, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt_reed_solomon_enc_python.cc b/gr-dtv/python/dtv/bindings/dvbt_reed_solomon_enc_python.cc
new file mode 100644
index 0000000000..e5fa5b2958
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_reed_solomon_enc_python.cc
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt_reed_solomon_enc.h) */
+/* BINDTOOL_HEADER_FILE_HASH(e29b90f275ff77ea0b91a12a0489b693) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt_reed_solomon_enc.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt_reed_solomon_enc_pydoc.h>
+
+void bind_dvbt_reed_solomon_enc(py::module& m)
+{
+
+ using dvbt_reed_solomon_enc = ::gr::dtv::dvbt_reed_solomon_enc;
+
+
+ py::class_<dvbt_reed_solomon_enc,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbt_reed_solomon_enc>>(
+ m, "dvbt_reed_solomon_enc", D(dvbt_reed_solomon_enc))
+
+ .def(py::init(&dvbt_reed_solomon_enc::make),
+ py::arg("p"),
+ py::arg("m"),
+ py::arg("gfpoly"),
+ py::arg("n"),
+ py::arg("k"),
+ py::arg("t"),
+ py::arg("s"),
+ py::arg("blocks"),
+ D(dvbt_reed_solomon_enc, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt_reference_signals_python.cc b/gr-dtv/python/dtv/bindings/dvbt_reference_signals_python.cc
new file mode 100644
index 0000000000..93a29483f8
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_reference_signals_python.cc
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt_reference_signals.h) */
+/* BINDTOOL_HEADER_FILE_HASH(04810b9d178855c02d11b942959453a5) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt_reference_signals.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt_reference_signals_pydoc.h>
+
+void bind_dvbt_reference_signals(py::module& m)
+{
+
+ using dvbt_reference_signals = ::gr::dtv::dvbt_reference_signals;
+
+
+ py::class_<dvbt_reference_signals,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbt_reference_signals>>(
+ m, "dvbt_reference_signals", D(dvbt_reference_signals))
+
+ .def(py::init(&dvbt_reference_signals::make),
+ py::arg("itemsize"),
+ py::arg("ninput"),
+ py::arg("noutput"),
+ py::arg("constellation"),
+ py::arg("hierarchy"),
+ py::arg("code_rate_HP"),
+ py::arg("code_rate_LP"),
+ py::arg("guard_interval"),
+ py::arg("transmission_mode"),
+ py::arg("include_cell_id"),
+ py::arg("cell_id"),
+ D(dvbt_reference_signals, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt_symbol_inner_interleaver_python.cc b/gr-dtv/python/dtv/bindings/dvbt_symbol_inner_interleaver_python.cc
new file mode 100644
index 0000000000..de4675d9a8
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_symbol_inner_interleaver_python.cc
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt_symbol_inner_interleaver.h) */
+/* BINDTOOL_HEADER_FILE_HASH(78211c22c4f55cd0f15b9385fe2187d7) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt_symbol_inner_interleaver.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt_symbol_inner_interleaver_pydoc.h>
+
+void bind_dvbt_symbol_inner_interleaver(py::module& m)
+{
+
+ using dvbt_symbol_inner_interleaver = ::gr::dtv::dvbt_symbol_inner_interleaver;
+
+
+ py::class_<dvbt_symbol_inner_interleaver,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbt_symbol_inner_interleaver>>(
+ m, "dvbt_symbol_inner_interleaver", D(dvbt_symbol_inner_interleaver))
+
+ .def(py::init(&dvbt_symbol_inner_interleaver::make),
+ py::arg("ninput"),
+ py::arg("transmission"),
+ py::arg("direction"),
+ D(dvbt_symbol_inner_interleaver, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/dvbt_viterbi_decoder_python.cc b/gr-dtv/python/dtv/bindings/dvbt_viterbi_decoder_python.cc
new file mode 100644
index 0000000000..8f1879d2eb
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_viterbi_decoder_python.cc
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/***********************************************************************************/
+/* This file is automatically generated using bindtool and can be manually edited */
+/* The following lines can be configured to regenerate this file during cmake */
+/* If manual edits are made, the following tags should be modified accordingly. */
+/* BINDTOOL_GEN_AUTOMATIC(1) */
+/* BINDTOOL_USE_PYGCCXML(0) */
+/* BINDTOOL_HEADER_FILE(dvbt_viterbi_decoder.h) */
+/* BINDTOOL_HEADER_FILE_HASH(1c434c20a4cc531c0c126d847eb9073f) */
+/***********************************************************************************/
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/dtv/dvbt_viterbi_decoder.h>
+// pydoc.h is automatically generated in the build directory
+#include <dvbt_viterbi_decoder_pydoc.h>
+
+void bind_dvbt_viterbi_decoder(py::module& m)
+{
+
+ using dvbt_viterbi_decoder = ::gr::dtv::dvbt_viterbi_decoder;
+
+
+ py::class_<dvbt_viterbi_decoder,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dvbt_viterbi_decoder>>(
+ m, "dvbt_viterbi_decoder", D(dvbt_viterbi_decoder))
+
+ .def(py::init(&dvbt_viterbi_decoder::make),
+ py::arg("constellation"),
+ py::arg("hierarchy"),
+ py::arg("coderate"),
+ py::arg("bsize"),
+ D(dvbt_viterbi_decoder, make))
+
+
+ ;
+}
diff --git a/gr-dtv/python/dtv/bindings/python_bindings.cc b/gr-dtv/python/dtv/bindings/python_bindings.cc
new file mode 100644
index 0000000000..9e563b160a
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/python_bindings.cc
@@ -0,0 +1,154 @@
+
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+#include <pybind11/pybind11.h>
+
+#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
+#include <numpy/arrayobject.h>
+
+namespace py = pybind11;
+
+void bind_atsc_consts(py::module&);
+void bind_atsc_deinterleaver(py::module&);
+void bind_atsc_depad(py::module&);
+void bind_atsc_derandomizer(py::module&);
+void bind_atsc_equalizer(py::module&);
+void bind_atsc_field_sync_mux(py::module&);
+void bind_atsc_fpll(py::module&);
+void bind_atsc_fs_checker(py::module&);
+void bind_atsc_interleaver(py::module&);
+void bind_atsc_pad(py::module&);
+void bind_atsc_randomizer(py::module&);
+void bind_atsc_rs_decoder(py::module&);
+void bind_atsc_rs_encoder(py::module&);
+void bind_atsc_sync(py::module&);
+void bind_atsc_trellis_encoder(py::module&);
+void bind_atsc_viterbi_decoder(py::module&);
+void bind_catv_config(py::module&);
+void bind_catv_frame_sync_enc_bb(py::module&);
+void bind_catv_randomizer_bb(py::module&);
+void bind_catv_reed_solomon_enc_bb(py::module&);
+void bind_catv_transport_framing_enc_bb(py::module&);
+void bind_catv_trellis_enc_bb(py::module&);
+void bind_dvb_bbheader_bb(py::module&);
+void bind_dvb_bbscrambler_bb(py::module&);
+void bind_dvb_bch_bb(py::module&);
+void bind_dvb_config(py::module&);
+void bind_dvb_ldpc_bb(py::module&);
+void bind_dvbs2_config(py::module&);
+void bind_dvbs2_interleaver_bb(py::module&);
+void bind_dvbs2_modulator_bc(py::module&);
+void bind_dvbs2_physical_cc(py::module&);
+void bind_dvbt2_cellinterleaver_cc(py::module&);
+void bind_dvbt2_config(py::module&);
+void bind_dvbt2_framemapper_cc(py::module&);
+void bind_dvbt2_freqinterleaver_cc(py::module&);
+void bind_dvbt2_interleaver_bb(py::module&);
+void bind_dvbt2_miso_cc(py::module&);
+void bind_dvbt2_modulator_bc(py::module&);
+void bind_dvbt2_p1insertion_cc(py::module&);
+void bind_dvbt2_paprtr_cc(py::module&);
+void bind_dvbt2_pilotgenerator_cc(py::module&);
+void bind_dvbt_bit_inner_deinterleaver(py::module&);
+void bind_dvbt_bit_inner_interleaver(py::module&);
+void bind_dvbt_config(py::module&);
+void bind_dvbt_convolutional_deinterleaver(py::module&);
+void bind_dvbt_convolutional_interleaver(py::module&);
+void bind_dvbt_demap(py::module&);
+void bind_dvbt_demod_reference_signals(py::module&);
+void bind_dvbt_energy_descramble(py::module&);
+void bind_dvbt_energy_dispersal(py::module&);
+void bind_dvbt_inner_coder(py::module&);
+void bind_dvbt_map(py::module&);
+void bind_dvbt_ofdm_sym_acquisition(py::module&);
+void bind_dvbt_reed_solomon_dec(py::module&);
+void bind_dvbt_reed_solomon_enc(py::module&);
+void bind_dvbt_reference_signals(py::module&);
+void bind_dvbt_symbol_inner_interleaver(py::module&);
+void bind_dvbt_viterbi_decoder(py::module&);
+
+// We need this hack because import_array() returns NULL
+// for newer Python versions.
+// This function is also necessary because it ensures access to the C API
+// and removes a warning.
+void* init_numpy()
+{
+ import_array();
+ return NULL;
+}
+
+PYBIND11_MODULE(dtv_python, m)
+{
+ // Initialize the numpy C API
+ // (otherwise we will see segmentation faults)
+ init_numpy();
+
+ // Allow access to base block methods
+ py::module::import("gnuradio.gr");
+
+ bind_atsc_consts(m);
+ bind_atsc_deinterleaver(m);
+ bind_atsc_depad(m);
+ bind_atsc_derandomizer(m);
+ bind_atsc_equalizer(m);
+ bind_atsc_field_sync_mux(m);
+ bind_atsc_fpll(m);
+ bind_atsc_fs_checker(m);
+ bind_atsc_interleaver(m);
+ bind_atsc_pad(m);
+ bind_atsc_randomizer(m);
+ bind_atsc_rs_decoder(m);
+ bind_atsc_rs_encoder(m);
+ bind_atsc_sync(m);
+ bind_atsc_trellis_encoder(m);
+ bind_atsc_viterbi_decoder(m);
+ bind_catv_config(m);
+ bind_catv_frame_sync_enc_bb(m);
+ bind_catv_randomizer_bb(m);
+ bind_catv_reed_solomon_enc_bb(m);
+ bind_catv_transport_framing_enc_bb(m);
+ bind_catv_trellis_enc_bb(m);
+ bind_dvb_bbheader_bb(m);
+ bind_dvb_bbscrambler_bb(m);
+ bind_dvb_bch_bb(m);
+ bind_dvb_config(m);
+ bind_dvb_ldpc_bb(m);
+ bind_dvbs2_config(m);
+ bind_dvbs2_interleaver_bb(m);
+ bind_dvbs2_modulator_bc(m);
+ bind_dvbs2_physical_cc(m);
+ bind_dvbt2_cellinterleaver_cc(m);
+ bind_dvbt2_config(m);
+ bind_dvbt2_framemapper_cc(m);
+ bind_dvbt2_freqinterleaver_cc(m);
+ bind_dvbt2_interleaver_bb(m);
+ bind_dvbt2_miso_cc(m);
+ bind_dvbt2_modulator_bc(m);
+ bind_dvbt2_p1insertion_cc(m);
+ bind_dvbt2_paprtr_cc(m);
+ bind_dvbt2_pilotgenerator_cc(m);
+ bind_dvbt_bit_inner_deinterleaver(m);
+ bind_dvbt_bit_inner_interleaver(m);
+ bind_dvbt_config(m);
+ bind_dvbt_convolutional_deinterleaver(m);
+ bind_dvbt_convolutional_interleaver(m);
+ bind_dvbt_demap(m);
+ bind_dvbt_demod_reference_signals(m);
+ bind_dvbt_energy_descramble(m);
+ bind_dvbt_energy_dispersal(m);
+ bind_dvbt_inner_coder(m);
+ bind_dvbt_map(m);
+ bind_dvbt_ofdm_sym_acquisition(m);
+ bind_dvbt_reed_solomon_dec(m);
+ bind_dvbt_reed_solomon_enc(m);
+ bind_dvbt_reference_signals(m);
+ bind_dvbt_symbol_inner_interleaver(m);
+ bind_dvbt_viterbi_decoder(m);
+}