summaryrefslogtreecommitdiff
path: root/gr-analog/python
diff options
context:
space:
mode:
authorJosh Morman <mormjb@gmail.com>2020-04-23 07:54:44 -0400
committerJosh Morman <mormjb@gmail.com>2020-06-04 10:05:47 -0400
commitd8058406fa93becbfd8f5cbde0e96363e190d9ba (patch)
tree3486e94a10cbf2ba28a33e7f9eafbad7a95347a1 /gr-analog/python
parent941e6e493cbcc331116d22d346f5d30a6f35dabb (diff)
analog: add pybind11 bindings
Diffstat (limited to 'gr-analog/python')
-rw-r--r--gr-analog/python/analog/CMakeLists.txt6
-rw-r--r--gr-analog/python/analog/__init__.py6
-rw-r--r--gr-analog/python/analog/bindings/CMakeLists.txt49
-rw-r--r--gr-analog/python/analog/bindings/agc2_cc_python.cc87
-rw-r--r--gr-analog/python/analog/bindings/agc2_ff_python.cc87
-rw-r--r--gr-analog/python/analog/bindings/agc3_cc_python.cc85
-rw-r--r--gr-analog/python/analog/bindings/agc_cc_python.cc74
-rw-r--r--gr-analog/python/analog/bindings/agc_ff_python.cc74
-rw-r--r--gr-analog/python/analog/bindings/agc_python.cc142
-rw-r--r--gr-analog/python/analog/bindings/cpfsk_bc_python.cc57
-rw-r--r--gr-analog/python/analog/bindings/cpm_python.cc46
-rw-r--r--gr-analog/python/analog/bindings/ctcss_squelch_ff_python.cc90
-rw-r--r--gr-analog/python/analog/bindings/docstrings/agc2_cc_pydoc_template.h57
-rw-r--r--gr-analog/python/analog/bindings/docstrings/agc2_ff_pydoc_template.h57
-rw-r--r--gr-analog/python/analog/bindings/docstrings/agc2_pydoc_template.h105
-rw-r--r--gr-analog/python/analog/bindings/docstrings/agc3_cc_pydoc_template.h57
-rw-r--r--gr-analog/python/analog/bindings/docstrings/agc_cc_pydoc_template.h51
-rw-r--r--gr-analog/python/analog/bindings/docstrings/agc_ff_pydoc_template.h51
-rw-r--r--gr-analog/python/analog/bindings/docstrings/agc_pydoc_template.h93
-rw-r--r--gr-analog/python/analog/bindings/docstrings/cpfsk_bc_pydoc_template.h39
-rw-r--r--gr-analog/python/analog/bindings/docstrings/cpm_pydoc_template.h27
-rw-r--r--gr-analog/python/analog/bindings/docstrings/ctcss_squelch_ff_pydoc_template.h60
-rw-r--r--gr-analog/python/analog/bindings/docstrings/dpll_bb_pydoc_template.h45
-rw-r--r--gr-analog/python/analog/bindings/docstrings/fastnoise_source_pydoc_template.h15
-rw-r--r--gr-analog/python/analog/bindings/docstrings/feedforward_agc_cc_pydoc_template.h24
-rw-r--r--gr-analog/python/analog/bindings/docstrings/fmdet_cf_pydoc_template.h48
-rw-r--r--gr-analog/python/analog/bindings/docstrings/frequency_modulator_fc_pydoc_template.h35
-rw-r--r--gr-analog/python/analog/bindings/docstrings/noise_source_pydoc_template.h15
-rw-r--r--gr-analog/python/analog/bindings/docstrings/noise_type_pydoc_template.h15
-rw-r--r--gr-analog/python/analog/bindings/docstrings/phase_modulator_fc_pydoc_template.h39
-rw-r--r--gr-analog/python/analog/bindings/docstrings/pll_carriertracking_cc_pydoc_template.h91
-rw-r--r--gr-analog/python/analog/bindings/docstrings/pll_freqdet_cf_pydoc_template.h75
-rw-r--r--gr-analog/python/analog/bindings/docstrings/pll_refout_cc_pydoc_template.h24
-rw-r--r--gr-analog/python/analog/bindings/docstrings/probe_avg_mag_sqrd_c_pydoc_template.h47
-rw-r--r--gr-analog/python/analog/bindings/docstrings/probe_avg_mag_sqrd_cf_pydoc_template.h47
-rw-r--r--gr-analog/python/analog/bindings/docstrings/probe_avg_mag_sqrd_f_pydoc_template.h47
-rw-r--r--gr-analog/python/analog/bindings/docstrings/pwr_squelch_cc_pydoc_template.h54
-rw-r--r--gr-analog/python/analog/bindings/docstrings/pwr_squelch_ff_pydoc_template.h54
-rw-r--r--gr-analog/python/analog/bindings/docstrings/quadrature_demod_cf_pydoc_template.h35
-rw-r--r--gr-analog/python/analog/bindings/docstrings/rail_ff_pydoc_template.h39
-rw-r--r--gr-analog/python/analog/bindings/docstrings/random_uniform_source_pydoc_template.h15
-rw-r--r--gr-analog/python/analog/bindings/docstrings/sig_source_pydoc_template.h15
-rw-r--r--gr-analog/python/analog/bindings/docstrings/sig_source_waveform_pydoc_template.h15
-rw-r--r--gr-analog/python/analog/bindings/docstrings/simple_squelch_cc_pydoc_template.h42
-rw-r--r--gr-analog/python/analog/bindings/docstrings/squelch_base_cc_pydoc_template.h42
-rw-r--r--gr-analog/python/analog/bindings/docstrings/squelch_base_ff_pydoc_template.h42
-rw-r--r--gr-analog/python/analog/bindings/dpll_bb_python.cc63
-rw-r--r--gr-analog/python/analog/bindings/fastnoise_source_python.cc54
-rw-r--r--gr-analog/python/analog/bindings/feedforward_agc_cc_python.cc42
-rw-r--r--gr-analog/python/analog/bindings/fmdet_cf_python.cc67
-rw-r--r--gr-analog/python/analog/bindings/frequency_modulator_fc_python.cc51
-rw-r--r--gr-analog/python/analog/bindings/noise_source_python.cc48
-rw-r--r--gr-analog/python/analog/bindings/noise_type_python.cc29
-rw-r--r--gr-analog/python/analog/bindings/phase_modulator_fc_python.cc60
-rw-r--r--gr-analog/python/analog/bindings/pll_carriertracking_cc_python.cc147
-rw-r--r--gr-analog/python/analog/bindings/pll_freqdet_cf_python.cc123
-rw-r--r--gr-analog/python/analog/bindings/pll_refout_cc_python.cc42
-rw-r--r--gr-analog/python/analog/bindings/probe_avg_mag_sqrd_c_python.cc67
-rw-r--r--gr-analog/python/analog/bindings/probe_avg_mag_sqrd_cf_python.cc68
-rw-r--r--gr-analog/python/analog/bindings/probe_avg_mag_sqrd_f_python.cc67
-rw-r--r--gr-analog/python/analog/bindings/pwr_squelch_cc_python.cc81
-rw-r--r--gr-analog/python/analog/bindings/pwr_squelch_ff_python.cc81
-rw-r--r--gr-analog/python/analog/bindings/python_bindings.cc106
-rw-r--r--gr-analog/python/analog/bindings/quadrature_demod_cf_python.cc49
-rw-r--r--gr-analog/python/analog/bindings/rail_ff_python.cc49
-rw-r--r--gr-analog/python/analog/bindings/random_uniform_source_python.cc41
-rw-r--r--gr-analog/python/analog/bindings/sig_source_python.cc60
-rw-r--r--gr-analog/python/analog/bindings/sig_source_waveform_python.cc31
-rw-r--r--gr-analog/python/analog/bindings/simple_squelch_cc_python.cc64
-rw-r--r--gr-analog/python/analog/bindings/squelch_base_cc_python.cc65
-rw-r--r--gr-analog/python/analog/bindings/squelch_base_ff_python.cc65
-rw-r--r--gr-analog/python/analog/fm_demod.py2
-rw-r--r--gr-analog/python/analog/nbfm_rx.py2
-rw-r--r--gr-analog/python/analog/nbfm_tx.py2
-rw-r--r--gr-analog/python/analog/qa_sig_source.py30
-rw-r--r--gr-analog/python/analog/wfm_rcv.py2
-rw-r--r--gr-analog/python/analog/wfm_rcv_fmdet.py2
-rw-r--r--gr-analog/python/analog/wfm_rcv_pll.py2
-rw-r--r--gr-analog/python/analog/wfm_tx.py2
79 files changed, 3954 insertions, 30 deletions
diff --git a/gr-analog/python/analog/CMakeLists.txt b/gr-analog/python/analog/CMakeLists.txt
index 70026c3b7d..d717f305f5 100644
--- a/gr-analog/python/analog/CMakeLists.txt
+++ b/gr-analog/python/analog/CMakeLists.txt
@@ -35,11 +35,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-analog/swig
- ${CMAKE_BINARY_DIR}/gr-fft/swig
- ${CMAKE_BINARY_DIR}/gr-filter/swig
- ${CMAKE_BINARY_DIR}/gr-blocks/swig
)
include(GrTest)
@@ -50,3 +45,4 @@ if(ENABLE_TESTING)
endforeach(py_qa_test_file)
endif(ENABLE_TESTING)
+add_subdirectory(bindings)
diff --git a/gr-analog/python/analog/__init__.py b/gr-analog/python/analog/__init__.py
index 656682b2a1..b7e962fbd8 100644
--- a/gr-analog/python/analog/__init__.py
+++ b/gr-analog/python/analog/__init__.py
@@ -16,11 +16,11 @@ from __future__ import unicode_literals
import os
try:
- from .analog_swig import *
+ from .analog_python import *
except ImportError:
dirname, filename = os.path.split(os.path.abspath(__file__))
- __path__.append(os.path.join(dirname, "..", "..", "swig"))
- from .analog_swig import *
+ __path__.append(os.path.join(dirname, "bindings"))
+ from .analog_python import *
from .am_demod import *
from .fm_demod import *
diff --git a/gr-analog/python/analog/bindings/CMakeLists.txt b/gr-analog/python/analog/bindings/CMakeLists.txt
new file mode 100644
index 0000000000..ca43159b4d
--- /dev/null
+++ b/gr-analog/python/analog/bindings/CMakeLists.txt
@@ -0,0 +1,49 @@
+include(GrPybind)
+
+########################################################################
+# Python Bindings
+########################################################################
+
+list(APPEND analog_python_files
+ agc_python.cc
+ # agc2_python.cc
+ agc2_cc_python.cc
+ agc2_ff_python.cc
+ agc3_cc_python.cc
+ agc_cc_python.cc
+ agc_ff_python.cc
+ cpfsk_bc_python.cc
+ cpm_python.cc
+ ctcss_squelch_ff_python.cc
+ dpll_bb_python.cc
+ fastnoise_source_python.cc
+ feedforward_agc_cc_python.cc
+ fmdet_cf_python.cc
+ frequency_modulator_fc_python.cc
+ noise_source_python.cc
+ noise_type_python.cc
+ phase_modulator_fc_python.cc
+ pll_carriertracking_cc_python.cc
+ pll_freqdet_cf_python.cc
+ pll_refout_cc_python.cc
+ probe_avg_mag_sqrd_c_python.cc
+ probe_avg_mag_sqrd_cf_python.cc
+ probe_avg_mag_sqrd_f_python.cc
+ pwr_squelch_cc_python.cc
+ pwr_squelch_ff_python.cc
+ quadrature_demod_cf_python.cc
+ rail_ff_python.cc
+ random_uniform_source_python.cc
+ sig_source_python.cc
+ sig_source_waveform_python.cc
+ simple_squelch_cc_python.cc
+ squelch_base_cc_python.cc
+ squelch_base_ff_python.cc
+ python_bindings.cc)
+
+GR_PYBIND_MAKE(analog
+ ../../..
+ gr::analog
+ "${analog_python_files}")
+
+install(TARGETS analog_python DESTINATION ${GR_PYTHON_DIR}/gnuradio/analog COMPONENT pythonapi)
diff --git a/gr-analog/python/analog/bindings/agc2_cc_python.cc b/gr-analog/python/analog/bindings/agc2_cc_python.cc
new file mode 100644
index 0000000000..b971c3d873
--- /dev/null
+++ b/gr-analog/python/analog/bindings/agc2_cc_python.cc
@@ -0,0 +1,87 @@
+/*
+ * 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/analog/agc2_cc.h>
+// pydoc.h is automatically generated in the build directory
+#include <agc2_cc_pydoc.h>
+
+void bind_agc2_cc(py::module& m)
+{
+
+ using agc2_cc = ::gr::analog::agc2_cc;
+
+
+ py::class_<agc2_cc,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<agc2_cc>>(m, "agc2_cc", D(agc2_cc))
+
+ .def(py::init(&agc2_cc::make),
+ py::arg("attack_rate") = 0.10000000000000001,
+ py::arg("decay_rate") = 0.01,
+ py::arg("reference") = 1.,
+ py::arg("gain") = 1.,
+ D(agc2_cc, make))
+
+
+ .def("attack_rate", &agc2_cc::attack_rate, D(agc2_cc, attack_rate))
+
+
+ .def("decay_rate", &agc2_cc::decay_rate, D(agc2_cc, decay_rate))
+
+
+ .def("reference", &agc2_cc::reference, D(agc2_cc, reference))
+
+
+ .def("gain", &agc2_cc::gain, D(agc2_cc, gain))
+
+
+ .def("max_gain", &agc2_cc::max_gain, D(agc2_cc, max_gain))
+
+
+ .def("set_attack_rate",
+ &agc2_cc::set_attack_rate,
+ py::arg("rate"),
+ D(agc2_cc, set_attack_rate))
+
+
+ .def("set_decay_rate",
+ &agc2_cc::set_decay_rate,
+ py::arg("rate"),
+ D(agc2_cc, set_decay_rate))
+
+
+ .def("set_reference",
+ &agc2_cc::set_reference,
+ py::arg("reference"),
+ D(agc2_cc, set_reference))
+
+
+ .def("set_gain", &agc2_cc::set_gain, py::arg("gain"), D(agc2_cc, set_gain))
+
+
+ .def("set_max_gain",
+ &agc2_cc::set_max_gain,
+ py::arg("max_gain"),
+ D(agc2_cc, set_max_gain))
+
+ ;
+
+
+ py::module m_kernel = m.def_submodule("kernel");
+}
diff --git a/gr-analog/python/analog/bindings/agc2_ff_python.cc b/gr-analog/python/analog/bindings/agc2_ff_python.cc
new file mode 100644
index 0000000000..8584d3569c
--- /dev/null
+++ b/gr-analog/python/analog/bindings/agc2_ff_python.cc
@@ -0,0 +1,87 @@
+/*
+ * 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/analog/agc2_ff.h>
+// pydoc.h is automatically generated in the build directory
+#include <agc2_ff_pydoc.h>
+
+void bind_agc2_ff(py::module& m)
+{
+
+ using agc2_ff = ::gr::analog::agc2_ff;
+
+
+ py::class_<agc2_ff,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<agc2_ff>>(m, "agc2_ff", D(agc2_ff))
+
+ .def(py::init(&agc2_ff::make),
+ py::arg("attack_rate") = 0.10000000000000001,
+ py::arg("decay_rate") = 0.01,
+ py::arg("reference") = 1.,
+ py::arg("gain") = 1.,
+ D(agc2_ff, make))
+
+
+ .def("attack_rate", &agc2_ff::attack_rate, D(agc2_ff, attack_rate))
+
+
+ .def("decay_rate", &agc2_ff::decay_rate, D(agc2_ff, decay_rate))
+
+
+ .def("reference", &agc2_ff::reference, D(agc2_ff, reference))
+
+
+ .def("gain", &agc2_ff::gain, D(agc2_ff, gain))
+
+
+ .def("max_gain", &agc2_ff::max_gain, D(agc2_ff, max_gain))
+
+
+ .def("set_attack_rate",
+ &agc2_ff::set_attack_rate,
+ py::arg("rate"),
+ D(agc2_ff, set_attack_rate))
+
+
+ .def("set_decay_rate",
+ &agc2_ff::set_decay_rate,
+ py::arg("rate"),
+ D(agc2_ff, set_decay_rate))
+
+
+ .def("set_reference",
+ &agc2_ff::set_reference,
+ py::arg("reference"),
+ D(agc2_ff, set_reference))
+
+
+ .def("set_gain", &agc2_ff::set_gain, py::arg("gain"), D(agc2_ff, set_gain))
+
+
+ .def("set_max_gain",
+ &agc2_ff::set_max_gain,
+ py::arg("max_gain"),
+ D(agc2_ff, set_max_gain))
+
+ ;
+
+
+ py::module m_kernel = m.def_submodule("kernel");
+}
diff --git a/gr-analog/python/analog/bindings/agc3_cc_python.cc b/gr-analog/python/analog/bindings/agc3_cc_python.cc
new file mode 100644
index 0000000000..72f1b67f65
--- /dev/null
+++ b/gr-analog/python/analog/bindings/agc3_cc_python.cc
@@ -0,0 +1,85 @@
+/*
+ * 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/analog/agc3_cc.h>
+// pydoc.h is automatically generated in the build directory
+#include <agc3_cc_pydoc.h>
+
+void bind_agc3_cc(py::module& m)
+{
+
+ using agc3_cc = ::gr::analog::agc3_cc;
+
+
+ py::class_<agc3_cc,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<agc3_cc>>(m, "agc3_cc", D(agc3_cc))
+
+ .def(py::init(&agc3_cc::make),
+ py::arg("attack_rate") = 0.10000000000000001,
+ py::arg("decay_rate") = 0.01,
+ py::arg("reference") = 1.,
+ py::arg("gain") = 1.,
+ py::arg("iir_update_decim") = 1,
+ D(agc3_cc, make))
+
+
+ .def("attack_rate", &agc3_cc::attack_rate, D(agc3_cc, attack_rate))
+
+
+ .def("decay_rate", &agc3_cc::decay_rate, D(agc3_cc, decay_rate))
+
+
+ .def("reference", &agc3_cc::reference, D(agc3_cc, reference))
+
+
+ .def("gain", &agc3_cc::gain, D(agc3_cc, gain))
+
+
+ .def("max_gain", &agc3_cc::max_gain, D(agc3_cc, max_gain))
+
+
+ .def("set_attack_rate",
+ &agc3_cc::set_attack_rate,
+ py::arg("rate"),
+ D(agc3_cc, set_attack_rate))
+
+
+ .def("set_decay_rate",
+ &agc3_cc::set_decay_rate,
+ py::arg("rate"),
+ D(agc3_cc, set_decay_rate))
+
+
+ .def("set_reference",
+ &agc3_cc::set_reference,
+ py::arg("reference"),
+ D(agc3_cc, set_reference))
+
+
+ .def("set_gain", &agc3_cc::set_gain, py::arg("gain"), D(agc3_cc, set_gain))
+
+
+ .def("set_max_gain",
+ &agc3_cc::set_max_gain,
+ py::arg("max_gain"),
+ D(agc3_cc, set_max_gain))
+
+ ;
+}
diff --git a/gr-analog/python/analog/bindings/agc_cc_python.cc b/gr-analog/python/analog/bindings/agc_cc_python.cc
new file mode 100644
index 0000000000..ff45df65d5
--- /dev/null
+++ b/gr-analog/python/analog/bindings/agc_cc_python.cc
@@ -0,0 +1,74 @@
+/*
+ * 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/analog/agc_cc.h>
+// pydoc.h is automatically generated in the build directory
+#include <agc_cc_pydoc.h>
+
+void bind_agc_cc(py::module& m)
+{
+
+ using agc_cc = ::gr::analog::agc_cc;
+
+
+ py::class_<agc_cc,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<agc_cc>>(m, "agc_cc", D(agc_cc))
+
+ .def(py::init(&agc_cc::make),
+ py::arg("rate") = 1.0E-4,
+ py::arg("reference") = 1.,
+ py::arg("gain") = 1.,
+ D(agc_cc, make))
+
+
+ .def("rate", &agc_cc::rate, D(agc_cc, rate))
+
+
+ .def("reference", &agc_cc::reference, D(agc_cc, reference))
+
+
+ .def("gain", &agc_cc::gain, D(agc_cc, gain))
+
+
+ .def("max_gain", &agc_cc::max_gain, D(agc_cc, max_gain))
+
+
+ .def("set_rate", &agc_cc::set_rate, py::arg("rate"), D(agc_cc, set_rate))
+
+
+ .def("set_reference",
+ &agc_cc::set_reference,
+ py::arg("reference"),
+ D(agc_cc, set_reference))
+
+
+ .def("set_gain", &agc_cc::set_gain, py::arg("gain"), D(agc_cc, set_gain))
+
+
+ .def("set_max_gain",
+ &agc_cc::set_max_gain,
+ py::arg("max_gain"),
+ D(agc_cc, set_max_gain))
+
+ ;
+
+
+ py::module m_kernel = m.def_submodule("kernel");
+}
diff --git a/gr-analog/python/analog/bindings/agc_ff_python.cc b/gr-analog/python/analog/bindings/agc_ff_python.cc
new file mode 100644
index 0000000000..6561a8dd18
--- /dev/null
+++ b/gr-analog/python/analog/bindings/agc_ff_python.cc
@@ -0,0 +1,74 @@
+/*
+ * 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/analog/agc_ff.h>
+// pydoc.h is automatically generated in the build directory
+#include <agc_ff_pydoc.h>
+
+void bind_agc_ff(py::module& m)
+{
+
+ using agc_ff = ::gr::analog::agc_ff;
+
+
+ py::class_<agc_ff,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<agc_ff>>(m, "agc_ff", D(agc_ff))
+
+ .def(py::init(&agc_ff::make),
+ py::arg("rate") = 1.0E-4,
+ py::arg("reference") = 1.,
+ py::arg("gain") = 1.,
+ D(agc_ff, make))
+
+
+ .def("rate", &agc_ff::rate, D(agc_ff, rate))
+
+
+ .def("reference", &agc_ff::reference, D(agc_ff, reference))
+
+
+ .def("gain", &agc_ff::gain, D(agc_ff, gain))
+
+
+ .def("max_gain", &agc_ff::max_gain, D(agc_ff, max_gain))
+
+
+ .def("set_rate", &agc_ff::set_rate, py::arg("rate"), D(agc_ff, set_rate))
+
+
+ .def("set_reference",
+ &agc_ff::set_reference,
+ py::arg("reference"),
+ D(agc_ff, set_reference))
+
+
+ .def("set_gain", &agc_ff::set_gain, py::arg("gain"), D(agc_ff, set_gain))
+
+
+ .def("set_max_gain",
+ &agc_ff::set_max_gain,
+ py::arg("max_gain"),
+ D(agc_ff, set_max_gain))
+
+ ;
+
+
+ py::module m_kernel = m.def_submodule("kernel");
+}
diff --git a/gr-analog/python/analog/bindings/agc_python.cc b/gr-analog/python/analog/bindings/agc_python.cc
new file mode 100644
index 0000000000..aa8dcef176
--- /dev/null
+++ b/gr-analog/python/analog/bindings/agc_python.cc
@@ -0,0 +1,142 @@
+/*
+ * 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/analog/agc.h>
+// pydoc.h is automatically generated in the build directory
+#include <agc_pydoc.h>
+
+void bind_agc(py::module& m)
+{
+
+
+ py::module m_kernel = m.def_submodule("kernel");
+
+ using agc_cc = ::gr::analog::kernel::agc_cc;
+ using agc_ff = ::gr::analog::kernel::agc_ff;
+
+
+ py::class_<agc_cc, std::shared_ptr<agc_cc>>(m_kernel, "agc_cc", D(kernel, agc_cc))
+
+ .def(py::init<float, float, float, float>(),
+ py::arg("rate") = 1.0E-4,
+ py::arg("reference") = 1.,
+ py::arg("gain") = 1.,
+ py::arg("max_gain") = 0.,
+ D(kernel, agc_cc, agc_cc, 0))
+ .def(py::init<gr::analog::kernel::agc_cc const&>(),
+ py::arg("arg0"),
+ D(kernel, agc_cc, agc_cc, 1))
+
+
+ .def("rate", &agc_cc::rate, D(kernel, agc_cc, rate))
+
+
+ .def("reference", &agc_cc::reference, D(kernel, agc_cc, reference))
+
+
+ .def("gain", &agc_cc::gain, D(kernel, agc_cc, gain))
+
+
+ .def("max_gain", &agc_cc::max_gain, D(kernel, agc_cc, max_gain))
+
+
+ .def("set_rate", &agc_cc::set_rate, py::arg("rate"), D(kernel, agc_cc, set_rate))
+
+
+ .def("set_reference",
+ &agc_cc::set_reference,
+ py::arg("reference"),
+ D(kernel, agc_cc, set_reference))
+
+
+ .def("set_gain", &agc_cc::set_gain, py::arg("gain"), D(kernel, agc_cc, set_gain))
+
+
+ .def("set_max_gain",
+ &agc_cc::set_max_gain,
+ py::arg("max_gain"),
+ D(kernel, agc_cc, set_max_gain))
+
+
+ .def("scale", &agc_cc::scale, py::arg("input"), D(kernel, agc_cc, scale))
+
+
+ .def("scaleN",
+ &agc_cc::scaleN,
+ py::arg("output"),
+ py::arg("input"),
+ py::arg("n"),
+ D(kernel, agc_cc, scaleN))
+
+ ;
+
+
+ py::class_<agc_ff, std::shared_ptr<agc_ff>>(m_kernel, "agc_ff", D(kernel, agc_ff))
+
+ .def(py::init<float, float, float, float>(),
+ py::arg("rate") = 1.0E-4,
+ py::arg("reference") = 1.,
+ py::arg("gain") = 1.,
+ py::arg("max_gain") = 0.,
+ D(kernel, agc_ff, agc_ff, 0))
+ .def(py::init<gr::analog::kernel::agc_ff const&>(),
+ py::arg("arg0"),
+ D(kernel, agc_ff, agc_ff, 1))
+
+
+ .def("rate", &agc_ff::rate, D(kernel, agc_ff, rate))
+
+
+ .def("reference", &agc_ff::reference, D(kernel, agc_ff, reference))
+
+
+ .def("gain", &agc_ff::gain, D(kernel, agc_ff, gain))
+
+
+ .def("max_gain", &agc_ff::max_gain, D(kernel, agc_ff, max_gain))
+
+
+ .def("set_rate", &agc_ff::set_rate, py::arg("rate"), D(kernel, agc_ff, set_rate))
+
+
+ .def("set_reference",
+ &agc_ff::set_reference,
+ py::arg("reference"),
+ D(kernel, agc_ff, set_reference))
+
+
+ .def("set_gain", &agc_ff::set_gain, py::arg("gain"), D(kernel, agc_ff, set_gain))
+
+
+ .def("set_max_gain",
+ &agc_ff::set_max_gain,
+ py::arg("max_gain"),
+ D(kernel, agc_ff, set_max_gain))
+
+
+ .def("scale", &agc_ff::scale, py::arg("input"), D(kernel, agc_ff, scale))
+
+
+ .def("scaleN",
+ &agc_ff::scaleN,
+ py::arg("output"),
+ py::arg("input"),
+ py::arg("n"),
+ D(kernel, agc_ff, scaleN))
+
+ ;
+}
diff --git a/gr-analog/python/analog/bindings/cpfsk_bc_python.cc b/gr-analog/python/analog/bindings/cpfsk_bc_python.cc
new file mode 100644
index 0000000000..8006d16e5f
--- /dev/null
+++ b/gr-analog/python/analog/bindings/cpfsk_bc_python.cc
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/* This file is automatically generated using bindtool */
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/analog/cpfsk_bc.h>
+// pydoc.h is automatically generated in the build directory
+#include <cpfsk_bc_pydoc.h>
+
+void bind_cpfsk_bc(py::module& m)
+{
+
+ using cpfsk_bc = ::gr::analog::cpfsk_bc;
+
+
+ py::class_<cpfsk_bc,
+ gr::sync_interpolator,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<cpfsk_bc>>(m, "cpfsk_bc", D(cpfsk_bc))
+
+ .def(py::init(&cpfsk_bc::make),
+ py::arg("k"),
+ py::arg("ampl"),
+ py::arg("samples_per_sym"),
+ D(cpfsk_bc, make))
+
+
+ .def("set_amplitude",
+ &cpfsk_bc::set_amplitude,
+ py::arg("amplitude"),
+ D(cpfsk_bc, set_amplitude))
+
+
+ .def("amplitude", &cpfsk_bc::amplitude, D(cpfsk_bc, amplitude))
+
+
+ .def("freq", &cpfsk_bc::freq, D(cpfsk_bc, freq))
+
+
+ .def("phase", &cpfsk_bc::phase, D(cpfsk_bc, phase))
+
+ ;
+}
diff --git a/gr-analog/python/analog/bindings/cpm_python.cc b/gr-analog/python/analog/bindings/cpm_python.cc
new file mode 100644
index 0000000000..83786019b0
--- /dev/null
+++ b/gr-analog/python/analog/bindings/cpm_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/analog/cpm.h>
+// pydoc.h is automatically generated in the build directory
+#include <cpm_pydoc.h>
+
+void bind_cpm(py::module& m)
+{
+
+ using cpm = ::gr::analog::cpm;
+
+ py::class_<cpm, std::shared_ptr<cpm>> cpm_class(m, "cpm");
+
+
+ py::enum_<gr::analog::cpm::cpm_type>(cpm_class, "cpm_type")
+ .value("LRC", gr::analog::cpm::LRC) // 0
+ .value("LSRC", gr::analog::cpm::LSRC) // 1
+ .value("LREC", gr::analog::cpm::LREC) // 2
+ .value("TFM", gr::analog::cpm::TFM) // 3
+ .value("GAUSSIAN", gr::analog::cpm::GAUSSIAN) // 4
+ .value("GENERIC", gr::analog::cpm::GENERIC) // 999
+ .export_values();
+
+ cpm_class.def_static("phase_response",
+ &cpm::phase_response,
+ py::arg("type"),
+ py::arg("samples_per_sym"),
+ py::arg("L"),
+ py::arg("beta") = 0.3,
+ D(cpm, phase_response));
+}
diff --git a/gr-analog/python/analog/bindings/ctcss_squelch_ff_python.cc b/gr-analog/python/analog/bindings/ctcss_squelch_ff_python.cc
new file mode 100644
index 0000000000..c965747b80
--- /dev/null
+++ b/gr-analog/python/analog/bindings/ctcss_squelch_ff_python.cc
@@ -0,0 +1,90 @@
+/*
+ * 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/analog/ctcss_squelch_ff.h>
+// pydoc.h is automatically generated in the build directory
+#include <ctcss_squelch_ff_pydoc.h>
+
+void bind_ctcss_squelch_ff(py::module& m)
+{
+
+ using ctcss_squelch_ff = ::gr::analog::ctcss_squelch_ff;
+
+
+ py::class_<ctcss_squelch_ff,
+ gr::analog::squelch_base_ff,
+ std::shared_ptr<ctcss_squelch_ff>>(
+ m, "ctcss_squelch_ff", D(ctcss_squelch_ff))
+
+ .def(py::init(&ctcss_squelch_ff::make),
+ py::arg("rate"),
+ py::arg("freq"),
+ py::arg("level"),
+ py::arg("len"),
+ py::arg("ramp"),
+ py::arg("gate"),
+ D(ctcss_squelch_ff, make))
+
+
+ .def("squelch_range",
+ &ctcss_squelch_ff::squelch_range,
+ D(ctcss_squelch_ff, squelch_range))
+
+
+ .def("level", &ctcss_squelch_ff::level, D(ctcss_squelch_ff, level))
+
+
+ .def("set_level",
+ &ctcss_squelch_ff::set_level,
+ py::arg("level"),
+ D(ctcss_squelch_ff, set_level))
+
+
+ .def("len", &ctcss_squelch_ff::len, D(ctcss_squelch_ff, len))
+
+
+ .def("frequency", &ctcss_squelch_ff::frequency, D(ctcss_squelch_ff, frequency))
+
+
+ .def("set_frequency",
+ &ctcss_squelch_ff::set_frequency,
+ py::arg("frequency"),
+ D(ctcss_squelch_ff, set_frequency))
+
+
+ .def("ramp", &ctcss_squelch_ff::ramp, D(ctcss_squelch_ff, ramp))
+
+
+ .def("set_ramp",
+ &ctcss_squelch_ff::set_ramp,
+ py::arg("ramp"),
+ D(ctcss_squelch_ff, set_ramp))
+
+
+ .def("gate", &ctcss_squelch_ff::gate, D(ctcss_squelch_ff, gate))
+
+
+ .def("set_gate",
+ &ctcss_squelch_ff::set_gate,
+ py::arg("gate"),
+ D(ctcss_squelch_ff, set_gate))
+
+
+ .def("unmuted", &ctcss_squelch_ff::unmuted, D(ctcss_squelch_ff, unmuted))
+
+ ;
+}
diff --git a/gr-analog/python/analog/bindings/docstrings/agc2_cc_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/agc2_cc_pydoc_template.h
new file mode 100644
index 0000000000..d441a84bbd
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/agc2_cc_pydoc_template.h
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, analog, __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_analog_agc2_cc = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_cc_agc2_cc_0 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_cc_agc2_cc_1 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_cc_make = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_cc_attack_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_cc_decay_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_cc_reference = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_cc_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_cc_max_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_cc_set_attack_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_cc_set_decay_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_cc_set_reference = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_cc_set_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_cc_set_max_gain = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/agc2_ff_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/agc2_ff_pydoc_template.h
new file mode 100644
index 0000000000..6cb0962d7a
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/agc2_ff_pydoc_template.h
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, analog, __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_analog_agc2_ff = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_ff_agc2_ff_0 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_ff_agc2_ff_1 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_ff_make = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_ff_attack_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_ff_decay_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_ff_reference = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_ff_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_ff_max_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_ff_set_attack_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_ff_set_decay_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_ff_set_reference = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_ff_set_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc2_ff_set_max_gain = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/agc2_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/agc2_pydoc_template.h
new file mode 100644
index 0000000000..7470bb91a3
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/agc2_pydoc_template.h
@@ -0,0 +1,105 @@
+/*
+ * 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, analog, __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_analog_kernel_agc2_cc = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_cc_agc2_cc_0 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_cc_agc2_cc_1 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_cc_decay_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_cc_attack_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_cc_reference = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_cc_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_cc_max_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_cc_set_decay_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_cc_set_attack_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_cc_set_reference = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_cc_set_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_cc_set_max_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_cc_scale = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_cc_scaleN = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_ff = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_ff_agc2_ff_0 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_ff_agc2_ff_1 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_ff_attack_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_ff_decay_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_ff_reference = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_ff_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_ff_max_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_ff_set_attack_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_ff_set_decay_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_ff_set_reference = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_ff_set_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_ff_set_max_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_ff_scale = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc2_ff_scaleN = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/agc3_cc_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/agc3_cc_pydoc_template.h
new file mode 100644
index 0000000000..e361e5471f
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/agc3_cc_pydoc_template.h
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, analog, __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_analog_agc3_cc = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc3_cc_agc3_cc_0 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc3_cc_agc3_cc_1 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc3_cc_make = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc3_cc_attack_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc3_cc_decay_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc3_cc_reference = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc3_cc_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc3_cc_max_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc3_cc_set_attack_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc3_cc_set_decay_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc3_cc_set_reference = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc3_cc_set_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc3_cc_set_max_gain = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/agc_cc_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/agc_cc_pydoc_template.h
new file mode 100644
index 0000000000..2f795943cb
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/agc_cc_pydoc_template.h
@@ -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
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, analog, __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_analog_agc_cc = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc_cc_agc_cc_0 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc_cc_agc_cc_1 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc_cc_make = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc_cc_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc_cc_reference = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc_cc_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc_cc_max_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc_cc_set_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc_cc_set_reference = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc_cc_set_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc_cc_set_max_gain = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/agc_ff_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/agc_ff_pydoc_template.h
new file mode 100644
index 0000000000..a138c1e270
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/agc_ff_pydoc_template.h
@@ -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
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, analog, __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_analog_agc_ff = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc_ff_agc_ff_0 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc_ff_agc_ff_1 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc_ff_make = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc_ff_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc_ff_reference = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc_ff_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc_ff_max_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc_ff_set_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc_ff_set_reference = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc_ff_set_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_agc_ff_set_max_gain = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/agc_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/agc_pydoc_template.h
new file mode 100644
index 0000000000..b30fe27214
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/agc_pydoc_template.h
@@ -0,0 +1,93 @@
+/*
+ * 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, analog, __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_analog_kernel_agc_cc = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc_cc_agc_cc_0 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc_cc_agc_cc_1 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc_cc_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc_cc_reference = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc_cc_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc_cc_max_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc_cc_set_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc_cc_set_reference = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc_cc_set_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc_cc_set_max_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc_cc_scale = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc_cc_scaleN = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc_ff = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc_ff_agc_ff_0 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc_ff_agc_ff_1 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc_ff_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc_ff_reference = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc_ff_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc_ff_max_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc_ff_set_rate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc_ff_set_reference = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc_ff_set_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc_ff_set_max_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc_ff_scale = R"doc()doc";
+
+
+static const char* __doc_gr_analog_kernel_agc_ff_scaleN = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/cpfsk_bc_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/cpfsk_bc_pydoc_template.h
new file mode 100644
index 0000000000..50df25ea26
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/cpfsk_bc_pydoc_template.h
@@ -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
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, analog, __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_analog_cpfsk_bc = R"doc()doc";
+
+
+static const char* __doc_gr_analog_cpfsk_bc_cpfsk_bc_0 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_cpfsk_bc_cpfsk_bc_1 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_cpfsk_bc_make = R"doc()doc";
+
+
+static const char* __doc_gr_analog_cpfsk_bc_set_amplitude = R"doc()doc";
+
+
+static const char* __doc_gr_analog_cpfsk_bc_amplitude = R"doc()doc";
+
+
+static const char* __doc_gr_analog_cpfsk_bc_freq = R"doc()doc";
+
+
+static const char* __doc_gr_analog_cpfsk_bc_phase = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/cpm_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/cpm_pydoc_template.h
new file mode 100644
index 0000000000..86feb51fa9
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/cpm_pydoc_template.h
@@ -0,0 +1,27 @@
+/*
+ * 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, analog, __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_analog_cpm = R"doc()doc";
+
+
+static const char* __doc_gr_analog_cpm_cpm_0 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_cpm_cpm_1 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_cpm_phase_response = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/ctcss_squelch_ff_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/ctcss_squelch_ff_pydoc_template.h
new file mode 100644
index 0000000000..6f6baa8c0e
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/ctcss_squelch_ff_pydoc_template.h
@@ -0,0 +1,60 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, analog, __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_analog_ctcss_squelch_ff = R"doc()doc";
+
+
+static const char* __doc_gr_analog_ctcss_squelch_ff_ctcss_squelch_ff_0 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_ctcss_squelch_ff_ctcss_squelch_ff_1 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_ctcss_squelch_ff_make = R"doc()doc";
+
+
+static const char* __doc_gr_analog_ctcss_squelch_ff_squelch_range = R"doc()doc";
+
+
+static const char* __doc_gr_analog_ctcss_squelch_ff_level = R"doc()doc";
+
+
+static const char* __doc_gr_analog_ctcss_squelch_ff_set_level = R"doc()doc";
+
+
+static const char* __doc_gr_analog_ctcss_squelch_ff_len = R"doc()doc";
+
+
+static const char* __doc_gr_analog_ctcss_squelch_ff_frequency = R"doc()doc";
+
+
+static const char* __doc_gr_analog_ctcss_squelch_ff_set_frequency = R"doc()doc";
+
+
+static const char* __doc_gr_analog_ctcss_squelch_ff_ramp = R"doc()doc";
+
+
+static const char* __doc_gr_analog_ctcss_squelch_ff_set_ramp = R"doc()doc";
+
+
+static const char* __doc_gr_analog_ctcss_squelch_ff_gate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_ctcss_squelch_ff_set_gate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_ctcss_squelch_ff_unmuted = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/dpll_bb_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/dpll_bb_pydoc_template.h
new file mode 100644
index 0000000000..e9d81249fb
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/dpll_bb_pydoc_template.h
@@ -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
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, analog, __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_analog_dpll_bb = R"doc()doc";
+
+
+static const char* __doc_gr_analog_dpll_bb_dpll_bb_0 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_dpll_bb_dpll_bb_1 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_dpll_bb_make = R"doc()doc";
+
+
+static const char* __doc_gr_analog_dpll_bb_set_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_dpll_bb_set_decision_threshold = R"doc()doc";
+
+
+static const char* __doc_gr_analog_dpll_bb_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_dpll_bb_freq = R"doc()doc";
+
+
+static const char* __doc_gr_analog_dpll_bb_phase = R"doc()doc";
+
+
+static const char* __doc_gr_analog_dpll_bb_decision_threshold = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/fastnoise_source_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/fastnoise_source_pydoc_template.h
new file mode 100644
index 0000000000..08dc9ab6f0
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/fastnoise_source_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, analog, __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-analog/python/analog/bindings/docstrings/feedforward_agc_cc_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/feedforward_agc_cc_pydoc_template.h
new file mode 100644
index 0000000000..1c35de79ec
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/feedforward_agc_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, analog, __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_analog_feedforward_agc_cc = R"doc()doc";
+
+
+static const char* __doc_gr_analog_feedforward_agc_cc_feedforward_agc_cc = R"doc()doc";
+
+
+static const char* __doc_gr_analog_feedforward_agc_cc_make = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/fmdet_cf_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/fmdet_cf_pydoc_template.h
new file mode 100644
index 0000000000..28c2ae6115
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/fmdet_cf_pydoc_template.h
@@ -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
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, analog, __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_analog_fmdet_cf = R"doc()doc";
+
+
+static const char* __doc_gr_analog_fmdet_cf_fmdet_cf_0 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_fmdet_cf_fmdet_cf_1 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_fmdet_cf_make = R"doc()doc";
+
+
+static const char* __doc_gr_analog_fmdet_cf_set_scale = R"doc()doc";
+
+
+static const char* __doc_gr_analog_fmdet_cf_set_freq_range = R"doc()doc";
+
+
+static const char* __doc_gr_analog_fmdet_cf_freq = R"doc()doc";
+
+
+static const char* __doc_gr_analog_fmdet_cf_freq_high = R"doc()doc";
+
+
+static const char* __doc_gr_analog_fmdet_cf_freq_low = R"doc()doc";
+
+
+static const char* __doc_gr_analog_fmdet_cf_scale = R"doc()doc";
+
+
+static const char* __doc_gr_analog_fmdet_cf_bias = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/frequency_modulator_fc_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/frequency_modulator_fc_pydoc_template.h
new file mode 100644
index 0000000000..3342430da4
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/frequency_modulator_fc_pydoc_template.h
@@ -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
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, analog, __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_analog_frequency_modulator_fc = R"doc()doc";
+
+
+static const char* __doc_gr_analog_frequency_modulator_fc_frequency_modulator_fc_0 =
+ R"doc()doc";
+
+
+static const char* __doc_gr_analog_frequency_modulator_fc_frequency_modulator_fc_1 =
+ R"doc()doc";
+
+
+static const char* __doc_gr_analog_frequency_modulator_fc_make = R"doc()doc";
+
+
+static const char* __doc_gr_analog_frequency_modulator_fc_set_sensitivity = R"doc()doc";
+
+
+static const char* __doc_gr_analog_frequency_modulator_fc_sensitivity = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/noise_source_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/noise_source_pydoc_template.h
new file mode 100644
index 0000000000..08dc9ab6f0
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/noise_source_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, analog, __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-analog/python/analog/bindings/docstrings/noise_type_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/noise_type_pydoc_template.h
new file mode 100644
index 0000000000..08dc9ab6f0
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/noise_type_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, analog, __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-analog/python/analog/bindings/docstrings/phase_modulator_fc_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/phase_modulator_fc_pydoc_template.h
new file mode 100644
index 0000000000..1558ba4177
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/phase_modulator_fc_pydoc_template.h
@@ -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
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, analog, __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_analog_phase_modulator_fc = R"doc()doc";
+
+
+static const char* __doc_gr_analog_phase_modulator_fc_phase_modulator_fc_0 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_phase_modulator_fc_phase_modulator_fc_1 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_phase_modulator_fc_make = R"doc()doc";
+
+
+static const char* __doc_gr_analog_phase_modulator_fc_sensitivity = R"doc()doc";
+
+
+static const char* __doc_gr_analog_phase_modulator_fc_phase = R"doc()doc";
+
+
+static const char* __doc_gr_analog_phase_modulator_fc_set_sensitivity = R"doc()doc";
+
+
+static const char* __doc_gr_analog_phase_modulator_fc_set_phase = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/pll_carriertracking_cc_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/pll_carriertracking_cc_pydoc_template.h
new file mode 100644
index 0000000000..e7187091cc
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/pll_carriertracking_cc_pydoc_template.h
@@ -0,0 +1,91 @@
+/*
+ * 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, analog, __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_analog_pll_carriertracking_cc = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_carriertracking_cc_pll_carriertracking_cc_0 =
+ R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_carriertracking_cc_pll_carriertracking_cc_1 =
+ R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_carriertracking_cc_make = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_carriertracking_cc_lock_detector = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_carriertracking_cc_squelch_enable = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_carriertracking_cc_set_lock_threshold =
+ R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_carriertracking_cc_set_loop_bandwidth =
+ R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_carriertracking_cc_set_damping_factor =
+ R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_carriertracking_cc_set_alpha = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_carriertracking_cc_set_beta = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_carriertracking_cc_set_frequency = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_carriertracking_cc_set_phase = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_carriertracking_cc_set_min_freq = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_carriertracking_cc_set_max_freq = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_carriertracking_cc_get_loop_bandwidth =
+ R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_carriertracking_cc_get_damping_factor =
+ R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_carriertracking_cc_get_alpha = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_carriertracking_cc_get_beta = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_carriertracking_cc_get_frequency = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_carriertracking_cc_get_phase = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_carriertracking_cc_get_min_freq = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_carriertracking_cc_get_max_freq = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/pll_freqdet_cf_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/pll_freqdet_cf_pydoc_template.h
new file mode 100644
index 0000000000..61e13e6aca
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/pll_freqdet_cf_pydoc_template.h
@@ -0,0 +1,75 @@
+/*
+ * 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, analog, __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_analog_pll_freqdet_cf = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_freqdet_cf_pll_freqdet_cf_0 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_freqdet_cf_pll_freqdet_cf_1 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_freqdet_cf_make = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_freqdet_cf_set_loop_bandwidth = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_freqdet_cf_set_damping_factor = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_freqdet_cf_set_alpha = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_freqdet_cf_set_beta = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_freqdet_cf_set_frequency = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_freqdet_cf_set_phase = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_freqdet_cf_set_min_freq = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_freqdet_cf_set_max_freq = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_freqdet_cf_get_loop_bandwidth = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_freqdet_cf_get_damping_factor = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_freqdet_cf_get_alpha = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_freqdet_cf_get_beta = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_freqdet_cf_get_frequency = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_freqdet_cf_get_phase = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_freqdet_cf_get_min_freq = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_freqdet_cf_get_max_freq = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/pll_refout_cc_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/pll_refout_cc_pydoc_template.h
new file mode 100644
index 0000000000..c8c2aaca48
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/pll_refout_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, analog, __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_analog_pll_refout_cc = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_refout_cc_pll_refout_cc = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pll_refout_cc_make = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/probe_avg_mag_sqrd_c_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/probe_avg_mag_sqrd_c_pydoc_template.h
new file mode 100644
index 0000000000..3e4a6d26f7
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/probe_avg_mag_sqrd_c_pydoc_template.h
@@ -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
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, analog, __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_analog_probe_avg_mag_sqrd_c = R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_c_probe_avg_mag_sqrd_c_0 =
+ R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_c_probe_avg_mag_sqrd_c_1 =
+ R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_c_make = R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_c_unmuted = R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_c_level = R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_c_threshold = R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_c_set_alpha = R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_c_set_threshold = R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_c_reset = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/probe_avg_mag_sqrd_cf_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/probe_avg_mag_sqrd_cf_pydoc_template.h
new file mode 100644
index 0000000000..1a2e6d5368
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/probe_avg_mag_sqrd_cf_pydoc_template.h
@@ -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
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, analog, __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_analog_probe_avg_mag_sqrd_cf = R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_cf_probe_avg_mag_sqrd_cf_0 =
+ R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_cf_probe_avg_mag_sqrd_cf_1 =
+ R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_cf_make = R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_cf_unmuted = R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_cf_level = R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_cf_threshold = R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_cf_set_alpha = R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_cf_set_threshold = R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_cf_reset = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/probe_avg_mag_sqrd_f_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/probe_avg_mag_sqrd_f_pydoc_template.h
new file mode 100644
index 0000000000..4757f11325
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/probe_avg_mag_sqrd_f_pydoc_template.h
@@ -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
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, analog, __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_analog_probe_avg_mag_sqrd_f = R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_f_probe_avg_mag_sqrd_f_0 =
+ R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_f_probe_avg_mag_sqrd_f_1 =
+ R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_f_make = R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_f_unmuted = R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_f_level = R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_f_threshold = R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_f_set_alpha = R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_f_set_threshold = R"doc()doc";
+
+
+static const char* __doc_gr_analog_probe_avg_mag_sqrd_f_reset = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/pwr_squelch_cc_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/pwr_squelch_cc_pydoc_template.h
new file mode 100644
index 0000000000..db6e122b78
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/pwr_squelch_cc_pydoc_template.h
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, analog, __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_analog_pwr_squelch_cc = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pwr_squelch_cc_pwr_squelch_cc_0 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pwr_squelch_cc_pwr_squelch_cc_1 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pwr_squelch_cc_make = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pwr_squelch_cc_squelch_range = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pwr_squelch_cc_threshold = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pwr_squelch_cc_set_threshold = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pwr_squelch_cc_set_alpha = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pwr_squelch_cc_ramp = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pwr_squelch_cc_set_ramp = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pwr_squelch_cc_gate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pwr_squelch_cc_set_gate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pwr_squelch_cc_unmuted = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/pwr_squelch_ff_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/pwr_squelch_ff_pydoc_template.h
new file mode 100644
index 0000000000..949e8c442b
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/pwr_squelch_ff_pydoc_template.h
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, analog, __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_analog_pwr_squelch_ff = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pwr_squelch_ff_pwr_squelch_ff_0 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pwr_squelch_ff_pwr_squelch_ff_1 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pwr_squelch_ff_make = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pwr_squelch_ff_squelch_range = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pwr_squelch_ff_threshold = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pwr_squelch_ff_set_threshold = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pwr_squelch_ff_set_alpha = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pwr_squelch_ff_ramp = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pwr_squelch_ff_set_ramp = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pwr_squelch_ff_gate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pwr_squelch_ff_set_gate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_pwr_squelch_ff_unmuted = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/quadrature_demod_cf_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/quadrature_demod_cf_pydoc_template.h
new file mode 100644
index 0000000000..dfcbf84c2c
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/quadrature_demod_cf_pydoc_template.h
@@ -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
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, analog, __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_analog_quadrature_demod_cf = R"doc()doc";
+
+
+static const char* __doc_gr_analog_quadrature_demod_cf_quadrature_demod_cf_0 =
+ R"doc()doc";
+
+
+static const char* __doc_gr_analog_quadrature_demod_cf_quadrature_demod_cf_1 =
+ R"doc()doc";
+
+
+static const char* __doc_gr_analog_quadrature_demod_cf_make = R"doc()doc";
+
+
+static const char* __doc_gr_analog_quadrature_demod_cf_set_gain = R"doc()doc";
+
+
+static const char* __doc_gr_analog_quadrature_demod_cf_gain = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/rail_ff_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/rail_ff_pydoc_template.h
new file mode 100644
index 0000000000..5e170f3c63
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/rail_ff_pydoc_template.h
@@ -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
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, analog, __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_analog_rail_ff = R"doc()doc";
+
+
+static const char* __doc_gr_analog_rail_ff_rail_ff_0 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_rail_ff_rail_ff_1 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_rail_ff_make = R"doc()doc";
+
+
+static const char* __doc_gr_analog_rail_ff_lo = R"doc()doc";
+
+
+static const char* __doc_gr_analog_rail_ff_hi = R"doc()doc";
+
+
+static const char* __doc_gr_analog_rail_ff_set_lo = R"doc()doc";
+
+
+static const char* __doc_gr_analog_rail_ff_set_hi = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/random_uniform_source_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/random_uniform_source_pydoc_template.h
new file mode 100644
index 0000000000..08dc9ab6f0
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/random_uniform_source_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, analog, __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-analog/python/analog/bindings/docstrings/sig_source_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/sig_source_pydoc_template.h
new file mode 100644
index 0000000000..08dc9ab6f0
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/sig_source_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, analog, __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-analog/python/analog/bindings/docstrings/sig_source_waveform_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/sig_source_waveform_pydoc_template.h
new file mode 100644
index 0000000000..08dc9ab6f0
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/sig_source_waveform_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, analog, __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-analog/python/analog/bindings/docstrings/simple_squelch_cc_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/simple_squelch_cc_pydoc_template.h
new file mode 100644
index 0000000000..5731dad83c
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/simple_squelch_cc_pydoc_template.h
@@ -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
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, analog, __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_analog_simple_squelch_cc = R"doc()doc";
+
+
+static const char* __doc_gr_analog_simple_squelch_cc_simple_squelch_cc_0 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_simple_squelch_cc_simple_squelch_cc_1 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_simple_squelch_cc_make = R"doc()doc";
+
+
+static const char* __doc_gr_analog_simple_squelch_cc_unmuted = R"doc()doc";
+
+
+static const char* __doc_gr_analog_simple_squelch_cc_set_alpha = R"doc()doc";
+
+
+static const char* __doc_gr_analog_simple_squelch_cc_set_threshold = R"doc()doc";
+
+
+static const char* __doc_gr_analog_simple_squelch_cc_threshold = R"doc()doc";
+
+
+static const char* __doc_gr_analog_simple_squelch_cc_squelch_range = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/squelch_base_cc_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/squelch_base_cc_pydoc_template.h
new file mode 100644
index 0000000000..feed7c5ff2
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/squelch_base_cc_pydoc_template.h
@@ -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
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, analog, __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_analog_squelch_base_cc = R"doc()doc";
+
+
+static const char* __doc_gr_analog_squelch_base_cc_squelch_base_cc_0 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_squelch_base_cc_squelch_base_cc_1 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_squelch_base_cc_ramp = R"doc()doc";
+
+
+static const char* __doc_gr_analog_squelch_base_cc_set_ramp = R"doc()doc";
+
+
+static const char* __doc_gr_analog_squelch_base_cc_gate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_squelch_base_cc_set_gate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_squelch_base_cc_unmuted = R"doc()doc";
+
+
+static const char* __doc_gr_analog_squelch_base_cc_squelch_range = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/docstrings/squelch_base_ff_pydoc_template.h b/gr-analog/python/analog/bindings/docstrings/squelch_base_ff_pydoc_template.h
new file mode 100644
index 0000000000..a580247046
--- /dev/null
+++ b/gr-analog/python/analog/bindings/docstrings/squelch_base_ff_pydoc_template.h
@@ -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
+ *
+ */
+#include "pydoc_macros.h"
+#define D(...) DOC(gr, analog, __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_analog_squelch_base_ff = R"doc()doc";
+
+
+static const char* __doc_gr_analog_squelch_base_ff_squelch_base_ff_0 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_squelch_base_ff_squelch_base_ff_1 = R"doc()doc";
+
+
+static const char* __doc_gr_analog_squelch_base_ff_ramp = R"doc()doc";
+
+
+static const char* __doc_gr_analog_squelch_base_ff_set_ramp = R"doc()doc";
+
+
+static const char* __doc_gr_analog_squelch_base_ff_gate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_squelch_base_ff_set_gate = R"doc()doc";
+
+
+static const char* __doc_gr_analog_squelch_base_ff_unmuted = R"doc()doc";
+
+
+static const char* __doc_gr_analog_squelch_base_ff_squelch_range = R"doc()doc";
diff --git a/gr-analog/python/analog/bindings/dpll_bb_python.cc b/gr-analog/python/analog/bindings/dpll_bb_python.cc
new file mode 100644
index 0000000000..80db2d6f13
--- /dev/null
+++ b/gr-analog/python/analog/bindings/dpll_bb_python.cc
@@ -0,0 +1,63 @@
+/*
+ * 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/analog/dpll_bb.h>
+// pydoc.h is automatically generated in the build directory
+#include <dpll_bb_pydoc.h>
+
+void bind_dpll_bb(py::module& m)
+{
+
+ using dpll_bb = ::gr::analog::dpll_bb;
+
+
+ py::class_<dpll_bb,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<dpll_bb>>(m, "dpll_bb", D(dpll_bb))
+
+ .def(py::init(&dpll_bb::make),
+ py::arg("period"),
+ py::arg("gain"),
+ D(dpll_bb, make))
+
+
+ .def("set_gain", &dpll_bb::set_gain, py::arg("gain"), D(dpll_bb, set_gain))
+
+
+ .def("set_decision_threshold",
+ &dpll_bb::set_decision_threshold,
+ py::arg("thresh"),
+ D(dpll_bb, set_decision_threshold))
+
+
+ .def("gain", &dpll_bb::gain, D(dpll_bb, gain))
+
+
+ .def("freq", &dpll_bb::freq, D(dpll_bb, freq))
+
+
+ .def("phase", &dpll_bb::phase, D(dpll_bb, phase))
+
+
+ .def("decision_threshold",
+ &dpll_bb::decision_threshold,
+ D(dpll_bb, decision_threshold))
+
+ ;
+}
diff --git a/gr-analog/python/analog/bindings/fastnoise_source_python.cc b/gr-analog/python/analog/bindings/fastnoise_source_python.cc
new file mode 100644
index 0000000000..fd65da6f9a
--- /dev/null
+++ b/gr-analog/python/analog/bindings/fastnoise_source_python.cc
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/* This file is automatically generated using bindtool */
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/analog/fastnoise_source.h>
+
+template <typename T>
+void bind_fastnoise_source_template(py::module& m, const char* classname)
+{
+ using fastnoise_source = gr::analog::fastnoise_source<T>;
+
+ py::class_<fastnoise_source,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<fastnoise_source>>(m, classname)
+ .def(py::init(&gr::analog::fastnoise_source<T>::make),
+ py::arg("type"),
+ py::arg("ampl"),
+ py::arg("seed") = 0,
+ py::arg("samples") = 1024 * 16)
+
+ .def("sample", &fastnoise_source::sample)
+ .def("sample_unbiased", &fastnoise_source::sample_unbiased)
+ .def("samples", &fastnoise_source::samples)
+
+ .def("set_type", &fastnoise_source::set_type, py::arg("type"))
+ .def("set_amplitude", &fastnoise_source::set_amplitude, py::arg("amplitude"))
+ .def("type", &fastnoise_source::type)
+ .def("amplitude", &fastnoise_source::amplitude)
+
+ ;
+}
+
+void bind_fastnoise_source(py::module& m)
+{
+ bind_fastnoise_source_template<std::int16_t>(m, "fastnoise_source_s");
+ bind_fastnoise_source_template<std::int32_t>(m, "fastnoise_source_i");
+ bind_fastnoise_source_template<float>(m, "fastnoise_source_f");
+ bind_fastnoise_source_template<gr_complex>(m, "fastnoise_source_c");
+}
diff --git a/gr-analog/python/analog/bindings/feedforward_agc_cc_python.cc b/gr-analog/python/analog/bindings/feedforward_agc_cc_python.cc
new file mode 100644
index 0000000000..b5a99208cb
--- /dev/null
+++ b/gr-analog/python/analog/bindings/feedforward_agc_cc_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/analog/feedforward_agc_cc.h>
+// pydoc.h is automatically generated in the build directory
+#include <feedforward_agc_cc_pydoc.h>
+
+void bind_feedforward_agc_cc(py::module& m)
+{
+
+ using feedforward_agc_cc = ::gr::analog::feedforward_agc_cc;
+
+
+ py::class_<feedforward_agc_cc,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<feedforward_agc_cc>>(
+ m, "feedforward_agc_cc", D(feedforward_agc_cc))
+
+ .def(py::init(&feedforward_agc_cc::make),
+ py::arg("nsamples"),
+ py::arg("reference"),
+ D(feedforward_agc_cc, make))
+
+
+ ;
+}
diff --git a/gr-analog/python/analog/bindings/fmdet_cf_python.cc b/gr-analog/python/analog/bindings/fmdet_cf_python.cc
new file mode 100644
index 0000000000..f16a0eadac
--- /dev/null
+++ b/gr-analog/python/analog/bindings/fmdet_cf_python.cc
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/* This file is automatically generated using bindtool */
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/analog/fmdet_cf.h>
+// pydoc.h is automatically generated in the build directory
+#include <fmdet_cf_pydoc.h>
+
+void bind_fmdet_cf(py::module& m)
+{
+
+ using fmdet_cf = ::gr::analog::fmdet_cf;
+
+
+ py::class_<fmdet_cf,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<fmdet_cf>>(m, "fmdet_cf", D(fmdet_cf))
+
+ .def(py::init(&fmdet_cf::make),
+ py::arg("samplerate"),
+ py::arg("freq_low"),
+ py::arg("freq_high"),
+ py::arg("scl"),
+ D(fmdet_cf, make))
+
+
+ .def("set_scale", &fmdet_cf::set_scale, py::arg("scl"), D(fmdet_cf, set_scale))
+
+
+ .def("set_freq_range",
+ &fmdet_cf::set_freq_range,
+ py::arg("freq_low"),
+ py::arg("freq_high"),
+ D(fmdet_cf, set_freq_range))
+
+
+ .def("freq", &fmdet_cf::freq, D(fmdet_cf, freq))
+
+
+ .def("freq_high", &fmdet_cf::freq_high, D(fmdet_cf, freq_high))
+
+
+ .def("freq_low", &fmdet_cf::freq_low, D(fmdet_cf, freq_low))
+
+
+ .def("scale", &fmdet_cf::scale, D(fmdet_cf, scale))
+
+
+ .def("bias", &fmdet_cf::bias, D(fmdet_cf, bias))
+
+ ;
+}
diff --git a/gr-analog/python/analog/bindings/frequency_modulator_fc_python.cc b/gr-analog/python/analog/bindings/frequency_modulator_fc_python.cc
new file mode 100644
index 0000000000..1e3d869e58
--- /dev/null
+++ b/gr-analog/python/analog/bindings/frequency_modulator_fc_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/analog/frequency_modulator_fc.h>
+// pydoc.h is automatically generated in the build directory
+#include <frequency_modulator_fc_pydoc.h>
+
+void bind_frequency_modulator_fc(py::module& m)
+{
+
+ using frequency_modulator_fc = ::gr::analog::frequency_modulator_fc;
+
+
+ py::class_<frequency_modulator_fc,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<frequency_modulator_fc>>(
+ m, "frequency_modulator_fc", D(frequency_modulator_fc))
+
+ .def(py::init(&frequency_modulator_fc::make),
+ py::arg("sensitivity"),
+ D(frequency_modulator_fc, make))
+
+
+ .def("set_sensitivity",
+ &frequency_modulator_fc::set_sensitivity,
+ py::arg("sens"),
+ D(frequency_modulator_fc, set_sensitivity))
+
+
+ .def("sensitivity",
+ &frequency_modulator_fc::sensitivity,
+ D(frequency_modulator_fc, sensitivity))
+
+ ;
+}
diff --git a/gr-analog/python/analog/bindings/noise_source_python.cc b/gr-analog/python/analog/bindings/noise_source_python.cc
new file mode 100644
index 0000000000..6e2552e251
--- /dev/null
+++ b/gr-analog/python/analog/bindings/noise_source_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/analog/noise_source.h>
+
+template <typename T>
+void bind_noise_source_template(py::module& m, const char* classname)
+{
+ using noise_source = gr::analog::noise_source<T>;
+
+ py::class_<noise_source,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<noise_source>>(m, classname)
+ .def(py::init(&gr::analog::noise_source<T>::make),
+ py::arg("type"),
+ py::arg("ampl"),
+ py::arg("seed") = 0)
+
+ .def("set_type", &noise_source::set_type, py::arg("type"))
+ .def("set_amplitude", &noise_source::set_amplitude, py::arg("ampl"))
+
+ .def("type", &noise_source::type)
+ .def("amplitude", &noise_source::amplitude);
+}
+
+void bind_noise_source(py::module& m)
+{
+ bind_noise_source_template<std::int16_t>(m, "noise_source_s");
+ bind_noise_source_template<std::int32_t>(m, "noise_source_i");
+ bind_noise_source_template<float>(m, "noise_source_f");
+ bind_noise_source_template<gr_complex>(m, "noise_source_c");
+}
diff --git a/gr-analog/python/analog/bindings/noise_type_python.cc b/gr-analog/python/analog/bindings/noise_type_python.cc
new file mode 100644
index 0000000000..68ce5a31de
--- /dev/null
+++ b/gr-analog/python/analog/bindings/noise_type_python.cc
@@ -0,0 +1,29 @@
+/*
+ * 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/analog/noise_type.h>
+
+void bind_noise_type(py::module& m)
+{
+
+ py::enum_<gr::analog::noise_type_t>(m, "noise_type_t")
+ .value("GR_UNIFORM", gr::analog::GR_UNIFORM) // 200
+ .value("GR_GAUSSIAN", gr::analog::GR_GAUSSIAN) // 201
+ .value("GR_LAPLACIAN", gr::analog::GR_LAPLACIAN) // 202
+ .value("GR_IMPULSE", gr::analog::GR_IMPULSE) // 203
+ .export_values();
+}
diff --git a/gr-analog/python/analog/bindings/phase_modulator_fc_python.cc b/gr-analog/python/analog/bindings/phase_modulator_fc_python.cc
new file mode 100644
index 0000000000..f0f5bef205
--- /dev/null
+++ b/gr-analog/python/analog/bindings/phase_modulator_fc_python.cc
@@ -0,0 +1,60 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/* This file is automatically generated using bindtool */
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/analog/phase_modulator_fc.h>
+// pydoc.h is automatically generated in the build directory
+#include <phase_modulator_fc_pydoc.h>
+
+void bind_phase_modulator_fc(py::module& m)
+{
+
+ using phase_modulator_fc = ::gr::analog::phase_modulator_fc;
+
+
+ py::class_<phase_modulator_fc,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<phase_modulator_fc>>(
+ m, "phase_modulator_fc", D(phase_modulator_fc))
+
+ .def(py::init(&phase_modulator_fc::make),
+ py::arg("sensitivity"),
+ D(phase_modulator_fc, make))
+
+
+ .def("sensitivity",
+ &phase_modulator_fc::sensitivity,
+ D(phase_modulator_fc, sensitivity))
+
+
+ .def("phase", &phase_modulator_fc::phase, D(phase_modulator_fc, phase))
+
+
+ .def("set_sensitivity",
+ &phase_modulator_fc::set_sensitivity,
+ py::arg("s"),
+ D(phase_modulator_fc, set_sensitivity))
+
+
+ .def("set_phase",
+ &phase_modulator_fc::set_phase,
+ py::arg("p"),
+ D(phase_modulator_fc, set_phase))
+
+ ;
+}
diff --git a/gr-analog/python/analog/bindings/pll_carriertracking_cc_python.cc b/gr-analog/python/analog/bindings/pll_carriertracking_cc_python.cc
new file mode 100644
index 0000000000..867ca16b5a
--- /dev/null
+++ b/gr-analog/python/analog/bindings/pll_carriertracking_cc_python.cc
@@ -0,0 +1,147 @@
+/*
+ * 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/analog/pll_carriertracking_cc.h>
+// pydoc.h is automatically generated in the build directory
+#include <pll_carriertracking_cc_pydoc.h>
+
+void bind_pll_carriertracking_cc(py::module& m)
+{
+
+ using pll_carriertracking_cc = ::gr::analog::pll_carriertracking_cc;
+
+
+ py::class_<pll_carriertracking_cc,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<pll_carriertracking_cc>>(
+ m, "pll_carriertracking_cc", D(pll_carriertracking_cc))
+
+ .def(py::init(&pll_carriertracking_cc::make),
+ py::arg("loop_bw"),
+ py::arg("max_freq"),
+ py::arg("min_freq"),
+ D(pll_carriertracking_cc, make))
+
+
+ .def("lock_detector",
+ &pll_carriertracking_cc::lock_detector,
+ D(pll_carriertracking_cc, lock_detector))
+
+
+ .def("squelch_enable",
+ &pll_carriertracking_cc::squelch_enable,
+ py::arg("arg0"),
+ D(pll_carriertracking_cc, squelch_enable))
+
+
+ .def("set_lock_threshold",
+ &pll_carriertracking_cc::set_lock_threshold,
+ py::arg("arg0"),
+ D(pll_carriertracking_cc, set_lock_threshold))
+
+
+ .def("set_loop_bandwidth",
+ &pll_carriertracking_cc::set_loop_bandwidth,
+ py::arg("bw"),
+ D(pll_carriertracking_cc, set_loop_bandwidth))
+
+
+ .def("set_damping_factor",
+ &pll_carriertracking_cc::set_damping_factor,
+ py::arg("df"),
+ D(pll_carriertracking_cc, set_damping_factor))
+
+
+ .def("set_alpha",
+ &pll_carriertracking_cc::set_alpha,
+ py::arg("alpha"),
+ D(pll_carriertracking_cc, set_alpha))
+
+
+ .def("set_beta",
+ &pll_carriertracking_cc::set_beta,
+ py::arg("beta"),
+ D(pll_carriertracking_cc, set_beta))
+
+
+ .def("set_frequency",
+ &pll_carriertracking_cc::set_frequency,
+ py::arg("freq"),
+ D(pll_carriertracking_cc, set_frequency))
+
+
+ .def("set_phase",
+ &pll_carriertracking_cc::set_phase,
+ py::arg("phase"),
+ D(pll_carriertracking_cc, set_phase))
+
+
+ .def("set_min_freq",
+ &pll_carriertracking_cc::set_min_freq,
+ py::arg("freq"),
+ D(pll_carriertracking_cc, set_min_freq))
+
+
+ .def("set_max_freq",
+ &pll_carriertracking_cc::set_max_freq,
+ py::arg("freq"),
+ D(pll_carriertracking_cc, set_max_freq))
+
+
+ .def("get_loop_bandwidth",
+ &pll_carriertracking_cc::get_loop_bandwidth,
+ D(pll_carriertracking_cc, get_loop_bandwidth))
+
+
+ .def("get_damping_factor",
+ &pll_carriertracking_cc::get_damping_factor,
+ D(pll_carriertracking_cc, get_damping_factor))
+
+
+ .def("get_alpha",
+ &pll_carriertracking_cc::get_alpha,
+ D(pll_carriertracking_cc, get_alpha))
+
+
+ .def("get_beta",
+ &pll_carriertracking_cc::get_beta,
+ D(pll_carriertracking_cc, get_beta))
+
+
+ .def("get_frequency",
+ &pll_carriertracking_cc::get_frequency,
+ D(pll_carriertracking_cc, get_frequency))
+
+
+ .def("get_phase",
+ &pll_carriertracking_cc::get_phase,
+ D(pll_carriertracking_cc, get_phase))
+
+
+ .def("get_min_freq",
+ &pll_carriertracking_cc::get_min_freq,
+ D(pll_carriertracking_cc, get_min_freq))
+
+
+ .def("get_max_freq",
+ &pll_carriertracking_cc::get_max_freq,
+ D(pll_carriertracking_cc, get_max_freq))
+
+ ;
+}
diff --git a/gr-analog/python/analog/bindings/pll_freqdet_cf_python.cc b/gr-analog/python/analog/bindings/pll_freqdet_cf_python.cc
new file mode 100644
index 0000000000..e83fb93548
--- /dev/null
+++ b/gr-analog/python/analog/bindings/pll_freqdet_cf_python.cc
@@ -0,0 +1,123 @@
+/*
+ * 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/analog/pll_freqdet_cf.h>
+// pydoc.h is automatically generated in the build directory
+#include <pll_freqdet_cf_pydoc.h>
+
+void bind_pll_freqdet_cf(py::module& m)
+{
+
+ using pll_freqdet_cf = ::gr::analog::pll_freqdet_cf;
+
+
+ py::class_<pll_freqdet_cf,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<pll_freqdet_cf>>(m, "pll_freqdet_cf", D(pll_freqdet_cf))
+
+ .def(py::init(&pll_freqdet_cf::make),
+ py::arg("loop_bw"),
+ py::arg("max_freq"),
+ py::arg("min_freq"),
+ D(pll_freqdet_cf, make))
+
+
+ .def("set_loop_bandwidth",
+ &pll_freqdet_cf::set_loop_bandwidth,
+ py::arg("bw"),
+ D(pll_freqdet_cf, set_loop_bandwidth))
+
+
+ .def("set_damping_factor",
+ &pll_freqdet_cf::set_damping_factor,
+ py::arg("df"),
+ D(pll_freqdet_cf, set_damping_factor))
+
+
+ .def("set_alpha",
+ &pll_freqdet_cf::set_alpha,
+ py::arg("alpha"),
+ D(pll_freqdet_cf, set_alpha))
+
+
+ .def("set_beta",
+ &pll_freqdet_cf::set_beta,
+ py::arg("beta"),
+ D(pll_freqdet_cf, set_beta))
+
+
+ .def("set_frequency",
+ &pll_freqdet_cf::set_frequency,
+ py::arg("freq"),
+ D(pll_freqdet_cf, set_frequency))
+
+
+ .def("set_phase",
+ &pll_freqdet_cf::set_phase,
+ py::arg("phase"),
+ D(pll_freqdet_cf, set_phase))
+
+
+ .def("set_min_freq",
+ &pll_freqdet_cf::set_min_freq,
+ py::arg("freq"),
+ D(pll_freqdet_cf, set_min_freq))
+
+
+ .def("set_max_freq",
+ &pll_freqdet_cf::set_max_freq,
+ py::arg("freq"),
+ D(pll_freqdet_cf, set_max_freq))
+
+
+ .def("get_loop_bandwidth",
+ &pll_freqdet_cf::get_loop_bandwidth,
+ D(pll_freqdet_cf, get_loop_bandwidth))
+
+
+ .def("get_damping_factor",
+ &pll_freqdet_cf::get_damping_factor,
+ D(pll_freqdet_cf, get_damping_factor))
+
+
+ .def("get_alpha", &pll_freqdet_cf::get_alpha, D(pll_freqdet_cf, get_alpha))
+
+
+ .def("get_beta", &pll_freqdet_cf::get_beta, D(pll_freqdet_cf, get_beta))
+
+
+ .def("get_frequency",
+ &pll_freqdet_cf::get_frequency,
+ D(pll_freqdet_cf, get_frequency))
+
+
+ .def("get_phase", &pll_freqdet_cf::get_phase, D(pll_freqdet_cf, get_phase))
+
+
+ .def("get_min_freq",
+ &pll_freqdet_cf::get_min_freq,
+ D(pll_freqdet_cf, get_min_freq))
+
+
+ .def("get_max_freq",
+ &pll_freqdet_cf::get_max_freq,
+ D(pll_freqdet_cf, get_max_freq))
+
+ ;
+}
diff --git a/gr-analog/python/analog/bindings/pll_refout_cc_python.cc b/gr-analog/python/analog/bindings/pll_refout_cc_python.cc
new file mode 100644
index 0000000000..52594b91ca
--- /dev/null
+++ b/gr-analog/python/analog/bindings/pll_refout_cc_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/analog/pll_refout_cc.h>
+// pydoc.h is automatically generated in the build directory
+#include <pll_refout_cc_pydoc.h>
+
+void bind_pll_refout_cc(py::module& m)
+{
+
+ using pll_refout_cc = ::gr::analog::pll_refout_cc;
+
+
+ py::class_<pll_refout_cc,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<pll_refout_cc>>(m, "pll_refout_cc", D(pll_refout_cc))
+
+ .def(py::init(&pll_refout_cc::make),
+ py::arg("loop_bw"),
+ py::arg("max_freq"),
+ py::arg("min_freq"),
+ D(pll_refout_cc, make))
+
+
+ ;
+}
diff --git a/gr-analog/python/analog/bindings/probe_avg_mag_sqrd_c_python.cc b/gr-analog/python/analog/bindings/probe_avg_mag_sqrd_c_python.cc
new file mode 100644
index 0000000000..a223c5087a
--- /dev/null
+++ b/gr-analog/python/analog/bindings/probe_avg_mag_sqrd_c_python.cc
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/* This file is automatically generated using bindtool */
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/analog/probe_avg_mag_sqrd_c.h>
+// pydoc.h is automatically generated in the build directory
+#include <probe_avg_mag_sqrd_c_pydoc.h>
+
+void bind_probe_avg_mag_sqrd_c(py::module& m)
+{
+
+ using probe_avg_mag_sqrd_c = ::gr::analog::probe_avg_mag_sqrd_c;
+
+
+ py::class_<probe_avg_mag_sqrd_c,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<probe_avg_mag_sqrd_c>>(
+ m, "probe_avg_mag_sqrd_c", D(probe_avg_mag_sqrd_c))
+
+ .def(py::init(&probe_avg_mag_sqrd_c::make),
+ py::arg("threshold_db"),
+ py::arg("alpha") = 1.0E-4,
+ D(probe_avg_mag_sqrd_c, make))
+
+
+ .def("unmuted", &probe_avg_mag_sqrd_c::unmuted, D(probe_avg_mag_sqrd_c, unmuted))
+
+
+ .def("level", &probe_avg_mag_sqrd_c::level, D(probe_avg_mag_sqrd_c, level))
+
+
+ .def("threshold",
+ &probe_avg_mag_sqrd_c::threshold,
+ D(probe_avg_mag_sqrd_c, threshold))
+
+
+ .def("set_alpha",
+ &probe_avg_mag_sqrd_c::set_alpha,
+ py::arg("alpha"),
+ D(probe_avg_mag_sqrd_c, set_alpha))
+
+
+ .def("set_threshold",
+ &probe_avg_mag_sqrd_c::set_threshold,
+ py::arg("decibels"),
+ D(probe_avg_mag_sqrd_c, set_threshold))
+
+
+ .def("reset", &probe_avg_mag_sqrd_c::reset, D(probe_avg_mag_sqrd_c, reset))
+
+ ;
+}
diff --git a/gr-analog/python/analog/bindings/probe_avg_mag_sqrd_cf_python.cc b/gr-analog/python/analog/bindings/probe_avg_mag_sqrd_cf_python.cc
new file mode 100644
index 0000000000..2c2b49279c
--- /dev/null
+++ b/gr-analog/python/analog/bindings/probe_avg_mag_sqrd_cf_python.cc
@@ -0,0 +1,68 @@
+/*
+ * 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/analog/probe_avg_mag_sqrd_cf.h>
+// pydoc.h is automatically generated in the build directory
+#include <probe_avg_mag_sqrd_cf_pydoc.h>
+
+void bind_probe_avg_mag_sqrd_cf(py::module& m)
+{
+
+ using probe_avg_mag_sqrd_cf = ::gr::analog::probe_avg_mag_sqrd_cf;
+
+
+ py::class_<probe_avg_mag_sqrd_cf,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<probe_avg_mag_sqrd_cf>>(
+ m, "probe_avg_mag_sqrd_cf", D(probe_avg_mag_sqrd_cf))
+
+ .def(py::init(&probe_avg_mag_sqrd_cf::make),
+ py::arg("threshold_db"),
+ py::arg("alpha") = 1.0E-4,
+ D(probe_avg_mag_sqrd_cf, make))
+
+
+ .def(
+ "unmuted", &probe_avg_mag_sqrd_cf::unmuted, D(probe_avg_mag_sqrd_cf, unmuted))
+
+
+ .def("level", &probe_avg_mag_sqrd_cf::level, D(probe_avg_mag_sqrd_cf, level))
+
+
+ .def("threshold",
+ &probe_avg_mag_sqrd_cf::threshold,
+ D(probe_avg_mag_sqrd_cf, threshold))
+
+
+ .def("set_alpha",
+ &probe_avg_mag_sqrd_cf::set_alpha,
+ py::arg("alpha"),
+ D(probe_avg_mag_sqrd_cf, set_alpha))
+
+
+ .def("set_threshold",
+ &probe_avg_mag_sqrd_cf::set_threshold,
+ py::arg("decibels"),
+ D(probe_avg_mag_sqrd_cf, set_threshold))
+
+
+ .def("reset", &probe_avg_mag_sqrd_cf::reset, D(probe_avg_mag_sqrd_cf, reset))
+
+ ;
+}
diff --git a/gr-analog/python/analog/bindings/probe_avg_mag_sqrd_f_python.cc b/gr-analog/python/analog/bindings/probe_avg_mag_sqrd_f_python.cc
new file mode 100644
index 0000000000..58cad313ad
--- /dev/null
+++ b/gr-analog/python/analog/bindings/probe_avg_mag_sqrd_f_python.cc
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/* This file is automatically generated using bindtool */
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/analog/probe_avg_mag_sqrd_f.h>
+// pydoc.h is automatically generated in the build directory
+#include <probe_avg_mag_sqrd_f_pydoc.h>
+
+void bind_probe_avg_mag_sqrd_f(py::module& m)
+{
+
+ using probe_avg_mag_sqrd_f = ::gr::analog::probe_avg_mag_sqrd_f;
+
+
+ py::class_<probe_avg_mag_sqrd_f,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<probe_avg_mag_sqrd_f>>(
+ m, "probe_avg_mag_sqrd_f", D(probe_avg_mag_sqrd_f))
+
+ .def(py::init(&probe_avg_mag_sqrd_f::make),
+ py::arg("threshold_db"),
+ py::arg("alpha") = 1.0E-4,
+ D(probe_avg_mag_sqrd_f, make))
+
+
+ .def("unmuted", &probe_avg_mag_sqrd_f::unmuted, D(probe_avg_mag_sqrd_f, unmuted))
+
+
+ .def("level", &probe_avg_mag_sqrd_f::level, D(probe_avg_mag_sqrd_f, level))
+
+
+ .def("threshold",
+ &probe_avg_mag_sqrd_f::threshold,
+ D(probe_avg_mag_sqrd_f, threshold))
+
+
+ .def("set_alpha",
+ &probe_avg_mag_sqrd_f::set_alpha,
+ py::arg("alpha"),
+ D(probe_avg_mag_sqrd_f, set_alpha))
+
+
+ .def("set_threshold",
+ &probe_avg_mag_sqrd_f::set_threshold,
+ py::arg("decibels"),
+ D(probe_avg_mag_sqrd_f, set_threshold))
+
+
+ .def("reset", &probe_avg_mag_sqrd_f::reset, D(probe_avg_mag_sqrd_f, reset))
+
+ ;
+}
diff --git a/gr-analog/python/analog/bindings/pwr_squelch_cc_python.cc b/gr-analog/python/analog/bindings/pwr_squelch_cc_python.cc
new file mode 100644
index 0000000000..7715f69aa2
--- /dev/null
+++ b/gr-analog/python/analog/bindings/pwr_squelch_cc_python.cc
@@ -0,0 +1,81 @@
+/*
+ * 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/analog/pwr_squelch_cc.h>
+// pydoc.h is automatically generated in the build directory
+#include <pwr_squelch_cc_pydoc.h>
+
+void bind_pwr_squelch_cc(py::module& m)
+{
+
+ using pwr_squelch_cc = ::gr::analog::pwr_squelch_cc;
+
+
+ py::class_<pwr_squelch_cc,
+ gr::analog::squelch_base_cc,
+ std::shared_ptr<pwr_squelch_cc>>(m, "pwr_squelch_cc", D(pwr_squelch_cc))
+
+ .def(py::init(&pwr_squelch_cc::make),
+ py::arg("db"),
+ py::arg("alpha") = 1.0E-4,
+ py::arg("ramp") = 0,
+ py::arg("gate") = false,
+ D(pwr_squelch_cc, make))
+
+
+ .def("squelch_range",
+ &pwr_squelch_cc::squelch_range,
+ D(pwr_squelch_cc, squelch_range))
+
+
+ .def("threshold", &pwr_squelch_cc::threshold, D(pwr_squelch_cc, threshold))
+
+
+ .def("set_threshold",
+ &pwr_squelch_cc::set_threshold,
+ py::arg("db"),
+ D(pwr_squelch_cc, set_threshold))
+
+
+ .def("set_alpha",
+ &pwr_squelch_cc::set_alpha,
+ py::arg("alpha"),
+ D(pwr_squelch_cc, set_alpha))
+
+
+ .def("ramp", &pwr_squelch_cc::ramp, D(pwr_squelch_cc, ramp))
+
+
+ .def("set_ramp",
+ &pwr_squelch_cc::set_ramp,
+ py::arg("ramp"),
+ D(pwr_squelch_cc, set_ramp))
+
+
+ .def("gate", &pwr_squelch_cc::gate, D(pwr_squelch_cc, gate))
+
+
+ .def("set_gate",
+ &pwr_squelch_cc::set_gate,
+ py::arg("gate"),
+ D(pwr_squelch_cc, set_gate))
+
+
+ .def("unmuted", &pwr_squelch_cc::unmuted, D(pwr_squelch_cc, unmuted))
+
+ ;
+}
diff --git a/gr-analog/python/analog/bindings/pwr_squelch_ff_python.cc b/gr-analog/python/analog/bindings/pwr_squelch_ff_python.cc
new file mode 100644
index 0000000000..7161fc7ea3
--- /dev/null
+++ b/gr-analog/python/analog/bindings/pwr_squelch_ff_python.cc
@@ -0,0 +1,81 @@
+/*
+ * 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/analog/pwr_squelch_ff.h>
+// pydoc.h is automatically generated in the build directory
+#include <pwr_squelch_ff_pydoc.h>
+
+void bind_pwr_squelch_ff(py::module& m)
+{
+
+ using pwr_squelch_ff = ::gr::analog::pwr_squelch_ff;
+
+
+ py::class_<pwr_squelch_ff,
+ gr::analog::squelch_base_ff,
+ std::shared_ptr<pwr_squelch_ff>>(m, "pwr_squelch_ff", D(pwr_squelch_ff))
+
+ .def(py::init(&pwr_squelch_ff::make),
+ py::arg("db"),
+ py::arg("alpha") = 1.0E-4,
+ py::arg("ramp") = 0,
+ py::arg("gate") = false,
+ D(pwr_squelch_ff, make))
+
+
+ .def("squelch_range",
+ &pwr_squelch_ff::squelch_range,
+ D(pwr_squelch_ff, squelch_range))
+
+
+ .def("threshold", &pwr_squelch_ff::threshold, D(pwr_squelch_ff, threshold))
+
+
+ .def("set_threshold",
+ &pwr_squelch_ff::set_threshold,
+ py::arg("db"),
+ D(pwr_squelch_ff, set_threshold))
+
+
+ .def("set_alpha",
+ &pwr_squelch_ff::set_alpha,
+ py::arg("alpha"),
+ D(pwr_squelch_ff, set_alpha))
+
+
+ .def("ramp", &pwr_squelch_ff::ramp, D(pwr_squelch_ff, ramp))
+
+
+ .def("set_ramp",
+ &pwr_squelch_ff::set_ramp,
+ py::arg("ramp"),
+ D(pwr_squelch_ff, set_ramp))
+
+
+ .def("gate", &pwr_squelch_ff::gate, D(pwr_squelch_ff, gate))
+
+
+ .def("set_gate",
+ &pwr_squelch_ff::set_gate,
+ py::arg("gate"),
+ D(pwr_squelch_ff, set_gate))
+
+
+ .def("unmuted", &pwr_squelch_ff::unmuted, D(pwr_squelch_ff, unmuted))
+
+ ;
+}
diff --git a/gr-analog/python/analog/bindings/python_bindings.cc b/gr-analog/python/analog/bindings/python_bindings.cc
new file mode 100644
index 0000000000..04969f58f7
--- /dev/null
+++ b/gr-analog/python/analog/bindings/python_bindings.cc
@@ -0,0 +1,106 @@
+
+/*
+ * 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_agc(py::module&);
+void bind_agc2(py::module&);
+void bind_agc2_cc(py::module&);
+void bind_agc2_ff(py::module&);
+void bind_agc3_cc(py::module&);
+void bind_agc_cc(py::module&);
+void bind_agc_ff(py::module&);
+void bind_cpfsk_bc(py::module&);
+void bind_cpm(py::module&);
+void bind_ctcss_squelch_ff(py::module&);
+void bind_dpll_bb(py::module&);
+void bind_fastnoise_source(py::module&);
+void bind_feedforward_agc_cc(py::module&);
+void bind_fmdet_cf(py::module&);
+void bind_frequency_modulator_fc(py::module&);
+void bind_noise_source(py::module&);
+void bind_noise_type(py::module&);
+void bind_phase_modulator_fc(py::module&);
+void bind_pll_carriertracking_cc(py::module&);
+void bind_pll_freqdet_cf(py::module&);
+void bind_pll_refout_cc(py::module&);
+void bind_probe_avg_mag_sqrd_c(py::module&);
+void bind_probe_avg_mag_sqrd_cf(py::module&);
+void bind_probe_avg_mag_sqrd_f(py::module&);
+void bind_pwr_squelch_cc(py::module&);
+void bind_pwr_squelch_ff(py::module&);
+void bind_quadrature_demod_cf(py::module&);
+void bind_rail_ff(py::module&);
+void bind_random_uniform_source(py::module&);
+void bind_sig_source(py::module&);
+void bind_sig_source_waveform(py::module&);
+void bind_simple_squelch_cc(py::module&);
+void bind_squelch_base_cc(py::module&);
+void bind_squelch_base_ff(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(analog_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_agc(m);
+ // bind_agc2(m);
+ bind_agc2_cc(m);
+ bind_agc2_ff(m);
+ bind_agc3_cc(m);
+ bind_agc_cc(m);
+ bind_agc_ff(m);
+ bind_cpfsk_bc(m);
+ bind_cpm(m);
+ bind_dpll_bb(m);
+ bind_fastnoise_source(m);
+ bind_feedforward_agc_cc(m);
+ bind_fmdet_cf(m);
+ bind_frequency_modulator_fc(m);
+ bind_noise_source(m);
+ bind_noise_type(m);
+ bind_phase_modulator_fc(m);
+ bind_pll_carriertracking_cc(m);
+ bind_pll_freqdet_cf(m);
+ bind_pll_refout_cc(m);
+ bind_probe_avg_mag_sqrd_c(m);
+ bind_probe_avg_mag_sqrd_cf(m);
+ bind_probe_avg_mag_sqrd_f(m);
+ bind_quadrature_demod_cf(m);
+ bind_rail_ff(m);
+ bind_random_uniform_source(m);
+ bind_sig_source(m);
+ bind_sig_source_waveform(m);
+ bind_simple_squelch_cc(m);
+ bind_squelch_base_cc(m);
+ bind_squelch_base_ff(m);
+ bind_ctcss_squelch_ff(m);
+ bind_pwr_squelch_cc(m);
+ bind_pwr_squelch_ff(m);
+}
diff --git a/gr-analog/python/analog/bindings/quadrature_demod_cf_python.cc b/gr-analog/python/analog/bindings/quadrature_demod_cf_python.cc
new file mode 100644
index 0000000000..8d79a707e8
--- /dev/null
+++ b/gr-analog/python/analog/bindings/quadrature_demod_cf_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/analog/quadrature_demod_cf.h>
+// pydoc.h is automatically generated in the build directory
+#include <quadrature_demod_cf_pydoc.h>
+
+void bind_quadrature_demod_cf(py::module& m)
+{
+
+ using quadrature_demod_cf = ::gr::analog::quadrature_demod_cf;
+
+
+ py::class_<quadrature_demod_cf,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<quadrature_demod_cf>>(
+ m, "quadrature_demod_cf", D(quadrature_demod_cf))
+
+ .def(py::init(&quadrature_demod_cf::make),
+ py::arg("gain"),
+ D(quadrature_demod_cf, make))
+
+
+ .def("set_gain",
+ &quadrature_demod_cf::set_gain,
+ py::arg("gain"),
+ D(quadrature_demod_cf, set_gain))
+
+
+ .def("gain", &quadrature_demod_cf::gain, D(quadrature_demod_cf, gain))
+
+ ;
+}
diff --git a/gr-analog/python/analog/bindings/rail_ff_python.cc b/gr-analog/python/analog/bindings/rail_ff_python.cc
new file mode 100644
index 0000000000..aaa3254c7c
--- /dev/null
+++ b/gr-analog/python/analog/bindings/rail_ff_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/analog/rail_ff.h>
+// pydoc.h is automatically generated in the build directory
+#include <rail_ff_pydoc.h>
+
+void bind_rail_ff(py::module& m)
+{
+
+ using rail_ff = ::gr::analog::rail_ff;
+
+
+ py::class_<rail_ff,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<rail_ff>>(m, "rail_ff", D(rail_ff))
+
+ .def(py::init(&rail_ff::make), py::arg("lo"), py::arg("hi"), D(rail_ff, make))
+
+
+ .def("lo", &rail_ff::lo, D(rail_ff, lo))
+
+
+ .def("hi", &rail_ff::hi, D(rail_ff, hi))
+
+
+ .def("set_lo", &rail_ff::set_lo, py::arg("lo"), D(rail_ff, set_lo))
+
+
+ .def("set_hi", &rail_ff::set_hi, py::arg("hi"), D(rail_ff, set_hi))
+
+ ;
+}
diff --git a/gr-analog/python/analog/bindings/random_uniform_source_python.cc b/gr-analog/python/analog/bindings/random_uniform_source_python.cc
new file mode 100644
index 0000000000..5730799349
--- /dev/null
+++ b/gr-analog/python/analog/bindings/random_uniform_source_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/analog/random_uniform_source.h>
+
+template <typename T>
+void bind_random_uniform_source_template(py::module& m, const char* classname)
+{
+ using random_uniform_source = gr::analog::random_uniform_source<T>;
+
+ py::class_<random_uniform_source,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<random_uniform_source>>(m, classname)
+ .def(py::init(&gr::analog::random_uniform_source<T>::make),
+ py::arg("minimum"),
+ py::arg("maximum"),
+ py::arg("seed"));
+}
+
+void bind_random_uniform_source(py::module& m)
+{
+ bind_random_uniform_source_template<std::uint8_t>(m, "random_uniform_source_b");
+ bind_random_uniform_source_template<std::int16_t>(m, "random_uniform_source_s");
+ bind_random_uniform_source_template<std::int32_t>(m, "random_uniform_source_i");
+}
diff --git a/gr-analog/python/analog/bindings/sig_source_python.cc b/gr-analog/python/analog/bindings/sig_source_python.cc
new file mode 100644
index 0000000000..f2548f8ca9
--- /dev/null
+++ b/gr-analog/python/analog/bindings/sig_source_python.cc
@@ -0,0 +1,60 @@
+/*
+ * Copyright 2020 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ */
+
+/* This file is automatically generated using bindtool */
+
+#include <pybind11/complex.h>
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+
+namespace py = pybind11;
+
+#include <gnuradio/analog/sig_source.h>
+
+template <typename T>
+void bind_sig_source_template(py::module& m, const char* classname)
+{
+ using sig_source = gr::analog::sig_source<T>;
+
+ py::class_<sig_source,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<sig_source>>(m, classname)
+ .def(py::init(&gr::analog::sig_source<T>::make),
+ py::arg("sampling_freq"),
+ py::arg("waveform"),
+ py::arg("wave_freq"),
+ py::arg("ampl"),
+ py::arg("offset") = 0,
+ py::arg("phase") = 0)
+ .def("sampling_freq", &sig_source::sampling_freq)
+ .def("waveform", &sig_source::waveform)
+ .def("frequency", &sig_source::frequency)
+ .def("amplitude", &sig_source::amplitude)
+ .def("offset", &sig_source::offset)
+ .def("phase", &sig_source::phase)
+
+ .def(
+ "set_sampling_freq", &sig_source::set_sampling_freq, py::arg("sampling_freq"))
+ .def("set_waveform", &sig_source::set_waveform, py::arg("waveform"))
+ .def("set_frequency", &sig_source::set_frequency, py::arg("frequency"))
+ .def("set_amplitude", &sig_source::set_amplitude, py::arg("amplitude"))
+ .def("set_offset", &sig_source::set_offset, py::arg("offset"))
+ .def("set_phase", &sig_source::set_phase, py::arg("phase"));
+}
+
+void bind_sig_source(py::module& m)
+{
+ bind_sig_source_template<std::int8_t>(m, "sig_source_b");
+ bind_sig_source_template<std::int16_t>(m, "sig_source_s");
+ bind_sig_source_template<std::int32_t>(m, "sig_source_i");
+ bind_sig_source_template<float>(m, "sig_source_f");
+ bind_sig_source_template<gr_complex>(m, "sig_source_c");
+}
diff --git a/gr-analog/python/analog/bindings/sig_source_waveform_python.cc b/gr-analog/python/analog/bindings/sig_source_waveform_python.cc
new file mode 100644
index 0000000000..009c517620
--- /dev/null
+++ b/gr-analog/python/analog/bindings/sig_source_waveform_python.cc
@@ -0,0 +1,31 @@
+/*
+ * 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/analog/sig_source_waveform.h>
+
+void bind_sig_source_waveform(py::module& m)
+{
+
+ py::enum_<gr::analog::gr_waveform_t>(m, "gr_waveform_t")
+ .value("GR_CONST_WAVE", gr::analog::GR_CONST_WAVE) // 100
+ .value("GR_SIN_WAVE", gr::analog::GR_SIN_WAVE) // 101
+ .value("GR_COS_WAVE", gr::analog::GR_COS_WAVE) // 102
+ .value("GR_SQR_WAVE", gr::analog::GR_SQR_WAVE) // 103
+ .value("GR_TRI_WAVE", gr::analog::GR_TRI_WAVE) // 104
+ .value("GR_SAW_WAVE", gr::analog::GR_SAW_WAVE) // 105
+ .export_values();
+}
diff --git a/gr-analog/python/analog/bindings/simple_squelch_cc_python.cc b/gr-analog/python/analog/bindings/simple_squelch_cc_python.cc
new file mode 100644
index 0000000000..11333fc90d
--- /dev/null
+++ b/gr-analog/python/analog/bindings/simple_squelch_cc_python.cc
@@ -0,0 +1,64 @@
+/*
+ * 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/analog/simple_squelch_cc.h>
+// pydoc.h is automatically generated in the build directory
+#include <simple_squelch_cc_pydoc.h>
+
+void bind_simple_squelch_cc(py::module& m)
+{
+
+ using simple_squelch_cc = ::gr::analog::simple_squelch_cc;
+
+
+ py::class_<simple_squelch_cc,
+ gr::sync_block,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<simple_squelch_cc>>(
+ m, "simple_squelch_cc", D(simple_squelch_cc))
+
+ .def(py::init(&simple_squelch_cc::make),
+ py::arg("threshold_db"),
+ py::arg("alpha"),
+ D(simple_squelch_cc, make))
+
+
+ .def("unmuted", &simple_squelch_cc::unmuted, D(simple_squelch_cc, unmuted))
+
+
+ .def("set_alpha",
+ &simple_squelch_cc::set_alpha,
+ py::arg("alpha"),
+ D(simple_squelch_cc, set_alpha))
+
+
+ .def("set_threshold",
+ &simple_squelch_cc::set_threshold,
+ py::arg("decibels"),
+ D(simple_squelch_cc, set_threshold))
+
+
+ .def("threshold", &simple_squelch_cc::threshold, D(simple_squelch_cc, threshold))
+
+
+ .def("squelch_range",
+ &simple_squelch_cc::squelch_range,
+ D(simple_squelch_cc, squelch_range))
+
+ ;
+}
diff --git a/gr-analog/python/analog/bindings/squelch_base_cc_python.cc b/gr-analog/python/analog/bindings/squelch_base_cc_python.cc
new file mode 100644
index 0000000000..ad555d1a98
--- /dev/null
+++ b/gr-analog/python/analog/bindings/squelch_base_cc_python.cc
@@ -0,0 +1,65 @@
+/*
+ * 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/analog/squelch_base_cc.h>
+// pydoc.h is automatically generated in the build directory
+#include <squelch_base_cc_pydoc.h>
+
+void bind_squelch_base_cc(py::module& m)
+{
+
+ using squelch_base_cc = ::gr::analog::squelch_base_cc;
+
+
+ py::class_<squelch_base_cc,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<squelch_base_cc>>(m, "squelch_base_cc", D(squelch_base_cc))
+
+ // .def(py::init<>(),D(squelch_base_cc,squelch_base_cc,0))
+ // .def(py::init<gr::analog::squelch_base_cc const &>(), py::arg("arg0"),
+ // D(squelch_base_cc,squelch_base_cc,1)
+ // )
+
+
+ .def("ramp", &squelch_base_cc::ramp, D(squelch_base_cc, ramp))
+
+
+ .def("set_ramp",
+ &squelch_base_cc::set_ramp,
+ py::arg("ramp"),
+ D(squelch_base_cc, set_ramp))
+
+
+ .def("gate", &squelch_base_cc::gate, D(squelch_base_cc, gate))
+
+
+ .def("set_gate",
+ &squelch_base_cc::set_gate,
+ py::arg("gate"),
+ D(squelch_base_cc, set_gate))
+
+
+ .def("unmuted", &squelch_base_cc::unmuted, D(squelch_base_cc, unmuted))
+
+
+ .def("squelch_range",
+ &squelch_base_cc::squelch_range,
+ D(squelch_base_cc, squelch_range))
+
+ ;
+}
diff --git a/gr-analog/python/analog/bindings/squelch_base_ff_python.cc b/gr-analog/python/analog/bindings/squelch_base_ff_python.cc
new file mode 100644
index 0000000000..aed431047b
--- /dev/null
+++ b/gr-analog/python/analog/bindings/squelch_base_ff_python.cc
@@ -0,0 +1,65 @@
+/*
+ * 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/analog/squelch_base_ff.h>
+// pydoc.h is automatically generated in the build directory
+#include <squelch_base_ff_pydoc.h>
+
+void bind_squelch_base_ff(py::module& m)
+{
+
+ using squelch_base_ff = ::gr::analog::squelch_base_ff;
+
+
+ py::class_<squelch_base_ff,
+ gr::block,
+ gr::basic_block,
+ std::shared_ptr<squelch_base_ff>>(m, "squelch_base_ff", D(squelch_base_ff))
+
+ // .def(py::init<>(),D(squelch_base_ff,squelch_base_ff,0))
+ // .def(py::init<gr::analog::squelch_base_ff const &>(), py::arg("arg0"),
+ // D(squelch_base_ff,squelch_base_ff,1)
+ // )
+
+
+ .def("ramp", &squelch_base_ff::ramp, D(squelch_base_ff, ramp))
+
+
+ .def("set_ramp",
+ &squelch_base_ff::set_ramp,
+ py::arg("ramp"),
+ D(squelch_base_ff, set_ramp))
+
+
+ .def("gate", &squelch_base_ff::gate, D(squelch_base_ff, gate))
+
+
+ .def("set_gate",
+ &squelch_base_ff::set_gate,
+ py::arg("gate"),
+ D(squelch_base_ff, set_gate))
+
+
+ .def("unmuted", &squelch_base_ff::unmuted, D(squelch_base_ff, unmuted))
+
+
+ .def("squelch_range",
+ &squelch_base_ff::squelch_range,
+ D(squelch_base_ff, squelch_range))
+
+ ;
+}
diff --git a/gr-analog/python/analog/fm_demod.py b/gr-analog/python/analog/fm_demod.py
index 7f65591962..17ab5feaf9 100644
--- a/gr-analog/python/analog/fm_demod.py
+++ b/gr-analog/python/analog/fm_demod.py
@@ -15,7 +15,7 @@ from gnuradio import gr, filter
from .fm_emph import fm_deemph
from math import pi
-from . import analog_swig as analog
+from . import analog_python as analog
class fm_demod_cf(gr.hier_block2):
diff --git a/gr-analog/python/analog/nbfm_rx.py b/gr-analog/python/analog/nbfm_rx.py
index 144c5f3e1b..2610bcf97c 100644
--- a/gr-analog/python/analog/nbfm_rx.py
+++ b/gr-analog/python/analog/nbfm_rx.py
@@ -17,7 +17,7 @@ import math
from gnuradio import gr
from gnuradio import filter
-from . import analog_swig as analog
+from . import analog_python as analog
from .fm_emph import fm_deemph
diff --git a/gr-analog/python/analog/nbfm_tx.py b/gr-analog/python/analog/nbfm_tx.py
index 5e2a45d6f5..f728a90f95 100644
--- a/gr-analog/python/analog/nbfm_tx.py
+++ b/gr-analog/python/analog/nbfm_tx.py
@@ -17,7 +17,7 @@ import math
from gnuradio import gr, filter
from .fm_emph import fm_preemph
-from . import analog_swig as analog
+from . import analog_python as analog
class nbfm_tx(gr.hier_block2):
diff --git a/gr-analog/python/analog/qa_sig_source.py b/gr-analog/python/analog/qa_sig_source.py
index 54e408a36e..fc88205922 100644
--- a/gr-analog/python/analog/qa_sig_source.py
+++ b/gr-analog/python/analog/qa_sig_source.py
@@ -24,7 +24,7 @@ class test_sig_source(gr_unittest.TestCase):
def test_const_f(self):
tb = self.tb
- expected_result = (1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5)
+ expected_result = [1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5]
src1 = analog.sig_source_f(1e6, analog.GR_CONST_WAVE, 0, 1.5)
op = blocks.head(gr.sizeof_float, 10)
dst1 = blocks.vector_sink_f()
@@ -36,7 +36,7 @@ class test_sig_source(gr_unittest.TestCase):
def test_const_i(self):
tb = self.tb
- expected_result = (1, 1, 1, 1)
+ expected_result = [1, 1, 1, 1]
src1 = analog.sig_source_i(1e6, analog.GR_CONST_WAVE, 0, 1)
op = blocks.head(gr.sizeof_int, 4)
dst1 = blocks.vector_sink_i()
@@ -48,7 +48,7 @@ class test_sig_source(gr_unittest.TestCase):
def test_const_b(self):
tb = self.tb
- expected_result = (1, 1, 1, 1)
+ expected_result = [1, 1, 1, 1]
src1 = analog.sig_source_b(1e6, analog.GR_CONST_WAVE, 0, 1)
op = blocks.head(gr.sizeof_char, 4)
dst1 = blocks.vector_sink_b()
@@ -61,7 +61,7 @@ class test_sig_source(gr_unittest.TestCase):
def test_sine_f(self):
tb = self.tb
sqrt2 = math.sqrt(2) / 2
- expected_result = (0, sqrt2, 1, sqrt2, 0, -sqrt2, -1, -sqrt2, 0)
+ expected_result = [0, sqrt2, 1, sqrt2, 0, -sqrt2, -1, -sqrt2, 0]
src1 = analog.sig_source_f(8, analog.GR_SIN_WAVE, 1.0, 1.0)
op = blocks.head(gr.sizeof_float, 9)
dst1 = blocks.vector_sink_f()
@@ -75,7 +75,7 @@ class test_sig_source(gr_unittest.TestCase):
def test_sine_b(self):
tb = self.tb
sqrt2 = math.sqrt(2) / 2
- temp_result = (0, sqrt2, 1, sqrt2, 0, -sqrt2, -1, -sqrt2, 0)
+ temp_result = [0, sqrt2, 1, sqrt2, 0, -sqrt2, -1, -sqrt2, 0]
amp = 8
expected_result = tuple([int(z * amp) for z in temp_result])
src1 = analog.sig_source_b(8, analog.GR_SIN_WAVE, 1.0, amp)
@@ -92,7 +92,7 @@ class test_sig_source(gr_unittest.TestCase):
def test_cosine_f(self):
tb = self.tb
sqrt2 = math.sqrt(2) / 2
- expected_result = (1, sqrt2, 0, -sqrt2, -1, -sqrt2, 0, sqrt2, 1)
+ expected_result = [1, sqrt2, 0, -sqrt2, -1, -sqrt2, 0, sqrt2, 1]
src1 = analog.sig_source_f(8, analog.GR_COS_WAVE, 1.0, 1.0)
op = blocks.head(gr.sizeof_float, 9)
dst1 = blocks.vector_sink_f()
@@ -106,7 +106,7 @@ class test_sig_source(gr_unittest.TestCase):
tb = self.tb
sqrt2 = math.sqrt(2) / 2
sqrt2j = 1j * math.sqrt(2) / 2
- expected_result = (1, sqrt2 + sqrt2j, 1j, -sqrt2 + sqrt2j, -1, -sqrt2 - sqrt2j, -1j, sqrt2 - sqrt2j, 1)
+ expected_result = [1, sqrt2 + sqrt2j, 1j, -sqrt2 + sqrt2j, -1, -sqrt2 - sqrt2j, -1j, sqrt2 - sqrt2j, 1]
src1 = analog.sig_source_c(8, analog.GR_COS_WAVE, 1.0, 1.0)
op = blocks.head(gr.sizeof_gr_complex, 9)
dst1 = blocks.vector_sink_c()
@@ -118,7 +118,7 @@ class test_sig_source(gr_unittest.TestCase):
def test_sqr_c(self):
tb = self.tb #arg6 is a bit before -PI/2
- expected_result = (1j, 1j, 0, 0, 1, 1, 1+0j, 1+1j, 1j)
+ expected_result = [1j, 1j, 0, 0, 1, 1, 1+0j, 1+1j, 1j]
src1 = analog.sig_source_c(8, analog.GR_SQR_WAVE, 1.0, 1.0)
op = blocks.head(gr.sizeof_gr_complex, 9)
dst1 = blocks.vector_sink_c()
@@ -130,8 +130,8 @@ class test_sig_source(gr_unittest.TestCase):
def test_tri_c(self):
tb = self.tb
- expected_result = (1+.5j, .75+.75j, .5+1j, .25+.75j, 0+.5j,
- .25+.25j, .5+0j, .75+.25j, 1+.5j)
+ expected_result = [1+.5j, .75+.75j, .5+1j, .25+.75j, 0+.5j,
+ .25+.25j, .5+0j, .75+.25j, 1+.5j]
src1 = analog.sig_source_c(8, analog.GR_TRI_WAVE, 1.0, 1.0)
op = blocks.head(gr.sizeof_gr_complex, 9)
dst1 = blocks.vector_sink_c()
@@ -143,8 +143,8 @@ class test_sig_source(gr_unittest.TestCase):
def test_saw_c(self):
tb = self.tb
- expected_result = (.5+.25j, .625+.375j, .75+.5j, .875+.625j,
- 0+.75j, .125+.875j, .25+1j, .375+.125j, .5+.25j)
+ expected_result = [.5+.25j, .625+.375j, .75+.5j, .875+.625j,
+ 0+.75j, .125+.875j, .25+1j, .375+.125j, .5+.25j]
src1 = analog.sig_source_c(8, analog.GR_SAW_WAVE, 1.0, 1.0)
op = blocks.head(gr.sizeof_gr_complex, 9)
dst1 = blocks.vector_sink_c()
@@ -156,7 +156,7 @@ class test_sig_source(gr_unittest.TestCase):
def test_sqr_f(self):
tb = self.tb
- expected_result = (0, 0, 0, 0, 1, 1, 1, 1, 0)
+ expected_result = [0, 0, 0, 0, 1, 1, 1, 1, 0]
src1 = analog.sig_source_f(8, analog.GR_SQR_WAVE, 1.0, 1.0)
op = blocks.head(gr.sizeof_float, 9)
dst1 = blocks.vector_sink_f()
@@ -168,7 +168,7 @@ class test_sig_source(gr_unittest.TestCase):
def test_tri_f(self):
tb = self.tb
- expected_result = (1, .75, .5, .25, 0, .25, .5, .75, 1)
+ expected_result = [1, .75, .5, .25, 0, .25, .5, .75, 1]
src1 = analog.sig_source_f(8, analog.GR_TRI_WAVE, 1.0, 1.0)
op = blocks.head(gr.sizeof_float, 9)
dst1 = blocks.vector_sink_f()
@@ -180,7 +180,7 @@ class test_sig_source(gr_unittest.TestCase):
def test_saw_f(self):
tb = self.tb
- expected_result = (.5, .625, .75, .875, 0, .125, .25, .375, .5)
+ expected_result = [.5, .625, .75, .875, 0, .125, .25, .375, .5]
src1 = analog.sig_source_f(8, analog.GR_SAW_WAVE, 1.0, 1.0)
op = blocks.head(gr.sizeof_float, 9)
dst1 = blocks.vector_sink_f()
diff --git a/gr-analog/python/analog/wfm_rcv.py b/gr-analog/python/analog/wfm_rcv.py
index e9c2f22bae..f523486e9b 100644
--- a/gr-analog/python/analog/wfm_rcv.py
+++ b/gr-analog/python/analog/wfm_rcv.py
@@ -15,7 +15,7 @@ import math
from gnuradio import gr, filter
-from . import analog_swig as analog
+from . import analog_python as analog
from .fm_emph import fm_deemph
diff --git a/gr-analog/python/analog/wfm_rcv_fmdet.py b/gr-analog/python/analog/wfm_rcv_fmdet.py
index f9ad96f2aa..97f91cd38b 100644
--- a/gr-analog/python/analog/wfm_rcv_fmdet.py
+++ b/gr-analog/python/analog/wfm_rcv_fmdet.py
@@ -17,7 +17,7 @@ from gnuradio import gr
from gnuradio import blocks
from gnuradio import filter
-from . import analog_swig as analog
+from . import analog_python as analog
from .fm_emph import fm_deemph
diff --git a/gr-analog/python/analog/wfm_rcv_pll.py b/gr-analog/python/analog/wfm_rcv_pll.py
index 3268ebbce3..bc5e7c27c7 100644
--- a/gr-analog/python/analog/wfm_rcv_pll.py
+++ b/gr-analog/python/analog/wfm_rcv_pll.py
@@ -17,7 +17,7 @@ from gnuradio import gr
from gnuradio import blocks
from gnuradio import filter
-from . import analog_swig as analog
+from . import analog_python as analog
from .fm_emph import fm_deemph
diff --git a/gr-analog/python/analog/wfm_tx.py b/gr-analog/python/analog/wfm_tx.py
index 9158fcf982..ffd27cb3b8 100644
--- a/gr-analog/python/analog/wfm_tx.py
+++ b/gr-analog/python/analog/wfm_tx.py
@@ -17,7 +17,7 @@ import math
from gnuradio import gr
from gnuradio import filter
-from . import analog_swig as analog
+from . import analog_python as analog
from .fm_emph import fm_preemph