summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Morman <mormjb@gmail.com>2020-04-23 08:14:12 -0400
committerJosh Morman <mormjb@gmail.com>2020-06-04 10:05:47 -0400
commitc36b6a955cee3ffba49f39d65fd25f3ffc8b57a1 (patch)
tree8e2082feb81a0e08056410bf15e33260586c7011
parent5039f381454bc0afc4f676085afa998c438e02e7 (diff)
dtv: add pybind11 bindings
-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.cc22
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_deinterleaver_python.cc39
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_depad_python.cc39
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_derandomizer_python.cc39
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_equalizer_python.cc42
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_field_sync_mux_python.cc38
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_fpll_python.cc38
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_fs_checker_python.cc37
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_interleaver_python.cc39
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_pad_python.cc39
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_randomizer_python.cc38
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_rs_decoder_python.cc52
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_rs_encoder_python.cc38
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_sync_python.cc35
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_trellis_encoder_python.cc39
-rw-r--r--gr-dtv/python/dtv/bindings/atsc_viterbi_decoder_python.cc43
-rw-r--r--gr-dtv/python/dtv/bindings/catv_config_python.cc30
-rw-r--r--gr-dtv/python/dtv/bindings/catv_frame_sync_enc_bb_python.cc41
-rw-r--r--gr-dtv/python/dtv/bindings/catv_randomizer_bb_python.cc41
-rw-r--r--gr-dtv/python/dtv/bindings/catv_reed_solomon_enc_bb_python.cc38
-rw-r--r--gr-dtv/python/dtv/bindings/catv_transport_framing_enc_bb_python.cc40
-rw-r--r--gr-dtv/python/dtv/bindings/catv_trellis_enc_bb_python.cc40
-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.cc46
-rw-r--r--gr-dtv/python/dtv/bindings/dvb_bbscrambler_bb_python.cc43
-rw-r--r--gr-dtv/python/dtv/bindings/dvb_bch_bb_python.cc39
-rw-r--r--gr-dtv/python/dtv/bindings/dvb_config_python.cc119
-rw-r--r--gr-dtv/python/dtv/bindings/dvb_ldpc_bb_python.cc40
-rw-r--r--gr-dtv/python/dtv/bindings/dvbs2_config_python.cc43
-rw-r--r--gr-dtv/python/dtv/bindings/dvbs2_interleaver_bb_python.cc42
-rw-r--r--gr-dtv/python/dtv/bindings/dvbs2_modulator_bc_python.cc43
-rw-r--r--gr-dtv/python/dtv/bindings/dvbs2_physical_cc_python.cc44
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt2_cellinterleaver_cc_python.cc44
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt2_config_python.cc120
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt2_framemapper_cc_python.cc59
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt2_freqinterleaver_cc_python.cc48
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt2_interleaver_bb_python.cc42
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt2_miso_cc_python.cc45
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt2_modulator_bc_python.cc42
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt2_p1insertion_cc_python.cc46
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt2_paprtr_cc_python.cc49
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt2_pilotgenerator_cc_python.cc51
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_bit_inner_deinterleaver_python.cc43
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_bit_inner_interleaver_python.cc43
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_config_python.cc36
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_convolutional_deinterleaver_python.cc42
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_convolutional_interleaver_python.cc44
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_demap_python.cc41
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_demod_reference_signals_python.cc50
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_energy_descramble_python.cc40
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_energy_dispersal_python.cc40
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_inner_coder_python.cc44
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_map_python.cc41
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_ofdm_sym_acquisition_python.cc44
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_reed_solomon_dec_python.cc47
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_reed_solomon_enc_python.cc47
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_reference_signals_python.cc50
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_symbol_inner_interleaver_python.cc42
-rw-r--r--gr-dtv/python/dtv/bindings/dvbt_viterbi_decoder_python.cc43
-rw-r--r--gr-dtv/python/dtv/bindings/python_bindings.cc154
121 files changed, 4206 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..27805b67c3
--- /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(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..c7e105607e
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_consts_python.cc
@@ -0,0 +1,22 @@
+/*
+ * 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 */
+
+#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..10c86ca897
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_deinterleaver_python.cc
@@ -0,0 +1,39 @@
+/*
+ * 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 */
+
+#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..5dcc637cad
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_depad_python.cc
@@ -0,0 +1,39 @@
+/*
+ * 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 */
+
+#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..b1280eb155
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_derandomizer_python.cc
@@ -0,0 +1,39 @@
+/*
+ * 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 */
+
+#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..364434e133
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_equalizer_python.cc
@@ -0,0 +1,42 @@
+/*
+ * 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 */
+
+#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..01cfe0b40a
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_field_sync_mux_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 */
+
+#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..d9e0c89ce9
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_fpll_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 */
+
+#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..83eb11b911
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_fs_checker_python.cc
@@ -0,0 +1,37 @@
+/*
+ * 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 */
+
+#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..080ef33625
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_interleaver_python.cc
@@ -0,0 +1,39 @@
+/*
+ * 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 */
+
+#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..e83042057f
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_pad_python.cc
@@ -0,0 +1,39 @@
+/*
+ * 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 */
+
+#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..6586b50110
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_randomizer_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 */
+
+#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..395d525bb7
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_rs_decoder_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 */
+
+#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..a7fd160359
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_rs_encoder_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 */
+
+#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..647adbddc7
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_sync_python.cc
@@ -0,0 +1,35 @@
+/*
+ * 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 */
+
+#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..af337e3249
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_trellis_encoder_python.cc
@@ -0,0 +1,39 @@
+/*
+ * 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 */
+
+#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..c935e02a8a
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/atsc_viterbi_decoder_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 */
+
+#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..8ec4535340
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/catv_config_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 */
+
+#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..6b6f6cb5fa
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/catv_frame_sync_enc_bb_python.cc
@@ -0,0 +1,41 @@
+/*
+ * 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 */
+
+#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..d60ff547fe
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/catv_randomizer_bb_python.cc
@@ -0,0 +1,41 @@
+/*
+ * 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 */
+
+#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..4beb6117d1
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/catv_reed_solomon_enc_bb_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 */
+
+#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..70193f6e6d
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/catv_transport_framing_enc_bb_python.cc
@@ -0,0 +1,40 @@
+/*
+ * 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 */
+
+#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..2fef636de7
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/catv_trellis_enc_bb_python.cc
@@ -0,0 +1,40 @@
+/*
+ * 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 */
+
+#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..1dbae03e25
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvb_bbheader_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 */
+
+#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..c6cb09668b
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvb_bbscrambler_bb_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 */
+
+#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..160c4b85d8
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvb_bch_bb_python.cc
@@ -0,0 +1,39 @@
+/*
+ * 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 */
+
+#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..146bc1346e
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvb_config_python.cc
@@ -0,0 +1,119 @@
+/*
+ * 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 */
+
+#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..07ed211672
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvb_ldpc_bb_python.cc
@@ -0,0 +1,40 @@
+/*
+ * 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 */
+
+#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..19bb4a5f28
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbs2_config_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 */
+
+#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..5c16f941b5
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbs2_interleaver_bb_python.cc
@@ -0,0 +1,42 @@
+/*
+ * 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 */
+
+#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..d84ef87e3c
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbs2_modulator_bc_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 */
+
+#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..97ce2f6825
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbs2_physical_cc_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 */
+
+#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..a4836d4683
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt2_cellinterleaver_cc_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 */
+
+#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..afe3850472
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt2_config_python.cc
@@ -0,0 +1,120 @@
+/*
+ * 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 */
+
+#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..16beb3a5d8
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt2_framemapper_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 */
+
+#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..ad90ee5398
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt2_freqinterleaver_cc_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 */
+
+#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..d247052a50
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt2_interleaver_bb_python.cc
@@ -0,0 +1,42 @@
+/*
+ * 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 */
+
+#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..2854bfdbf8
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt2_miso_cc_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 */
+
+#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..0adcc70749
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt2_modulator_bc_python.cc
@@ -0,0 +1,42 @@
+/*
+ * 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 */
+
+#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..e982ab28b1
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt2_p1insertion_cc_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 */
+
+#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..190c0e062f
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt2_paprtr_cc_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 */
+
+#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..bda420cba6
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt2_pilotgenerator_cc_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 */
+
+#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..e22e814588
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_bit_inner_deinterleaver_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 */
+
+#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..e0a986417f
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_bit_inner_interleaver_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 */
+
+#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..860803269c
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_config_python.cc
@@ -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
+ *
+ */
+
+/* This file is automatically generated using bindtool */
+
+#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..d7a316d32b
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_convolutional_deinterleaver_python.cc
@@ -0,0 +1,42 @@
+/*
+ * 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 */
+
+#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..98bd3b2b7b
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_convolutional_interleaver_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 */
+
+#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..9752cf8532
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_demap_python.cc
@@ -0,0 +1,41 @@
+/*
+ * 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 */
+
+#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..99ff6aa6ae
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_demod_reference_signals_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 */
+
+#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..5b5f26850d
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_energy_descramble_python.cc
@@ -0,0 +1,40 @@
+/*
+ * 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 */
+
+#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..27ca0e73ef
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_energy_dispersal_python.cc
@@ -0,0 +1,40 @@
+/*
+ * 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 */
+
+#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..90f764f220
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_inner_coder_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 */
+
+#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..c24ef19d1b
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_map_python.cc
@@ -0,0 +1,41 @@
+/*
+ * 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 */
+
+#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..1eefaea5fc
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_ofdm_sym_acquisition_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 */
+
+#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..ccf2b2514b
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_reed_solomon_dec_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 */
+
+#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..d900d59a4d
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_reed_solomon_enc_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 */
+
+#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..79b393b79b
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_reference_signals_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 */
+
+#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..807b425680
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_symbol_inner_interleaver_python.cc
@@ -0,0 +1,42 @@
+/*
+ * 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 */
+
+#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..20995d0539
--- /dev/null
+++ b/gr-dtv/python/dtv/bindings/dvbt_viterbi_decoder_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 */
+
+#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);
+}