summaryrefslogtreecommitdiff
path: root/gr-qtgui/python/qtgui/bindings/python_bindings.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gr-qtgui/python/qtgui/bindings/python_bindings.cc')
-rw-r--r--gr-qtgui/python/qtgui/bindings/python_bindings.cc136
1 files changed, 136 insertions, 0 deletions
diff --git a/gr-qtgui/python/qtgui/bindings/python_bindings.cc b/gr-qtgui/python/qtgui/bindings/python_bindings.cc
new file mode 100644
index 0000000000..35bf303cf6
--- /dev/null
+++ b/gr-qtgui/python/qtgui/bindings/python_bindings.cc
@@ -0,0 +1,136 @@
+
+/*
+ * 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_QWidget(py::module&);
+// void bind_ConstellationDisplayPlot(py::module&);
+// void bind_DisplayPlot(py::module&);
+// void bind_FrequencyDisplayPlot(py::module&);
+// void bind_HistogramDisplayPlot(py::module&);
+// void bind_SpectrumGUIClass(py::module&);
+// void bind_TimeDomainDisplayPlot(py::module&);
+// void bind_TimeRasterDisplayPlot(py::module&);
+// void bind_VectorDisplayPlot(py::module&);
+// void bind_WaterfallDisplayPlot(py::module&);
+void bind_ber_sink_b(py::module&);
+void bind_const_sink_c(py::module&);
+void bind_constellationdisplayform(py::module&);
+void bind_displayform(py::module&);
+void bind_edit_box_msg(py::module&);
+void bind_eye_sink_c(py::module&);
+void bind_eye_sink_f(py::module&);
+void bind_form_menus(py::module&);
+void bind_freq_sink_c(py::module&);
+void bind_freq_sink_f(py::module&);
+void bind_freqcontrolpanel(py::module&);
+void bind_freqdisplayform(py::module&);
+void bind_histogram_sink_f(py::module&);
+void bind_histogramdisplayform(py::module&);
+void bind_number_sink(py::module&);
+void bind_numberdisplayform(py::module&);
+// void bind_plot_raster(py::module&);
+// void bind_plot_waterfall(py::module&);
+void bind_qtgui_types(py::module&);
+void bind_sink_c(py::module&);
+void bind_sink_f(py::module&);
+// void bind_spectrumUpdateEvents(py::module&);
+// void bind_spectrumdisplayform(py::module&);
+// void bind_timeRasterGlobalData(py::module&);
+void bind_time_raster_sink_b(py::module&);
+void bind_time_raster_sink_f(py::module&);
+void bind_time_sink_c(py::module&);
+void bind_time_sink_f(py::module&);
+void bind_timecontrolpanel(py::module&);
+void bind_timedisplayform(py::module&);
+void bind_timerasterdisplayform(py::module&);
+void bind_trigger_mode(py::module&);
+// void bind_utils(py::module&);
+void bind_vector_sink_f(py::module&);
+void bind_vectordisplayform(py::module&);
+// void bind_waterfallGlobalData(py::module&);
+void bind_waterfall_sink_c(py::module&);
+void bind_waterfall_sink_f(py::module&);
+void bind_waterfalldisplayform(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(qtgui_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_QWidget(m);
+ // bind_ConstellationDisplayPlot(m);
+ // bind_DisplayPlot(m);
+ // bind_FrequencyDisplayPlot(m);
+ // bind_HistogramDisplayPlot(m);
+ // bind_SpectrumGUIClass(m);
+ // bind_TimeDomainDisplayPlot(m);
+ // bind_TimeRasterDisplayPlot(m);
+ // bind_VectorDisplayPlot(m);
+ // bind_WaterfallDisplayPlot(m);
+ bind_ber_sink_b(m);
+ bind_const_sink_c(m);
+ // bind_constellationdisplayform(m);
+ // bind_displayform(m);
+ // bind_edit_box_msg(m);
+ bind_eye_sink_c(m);
+ bind_eye_sink_f(m);
+ // bind_form_menus(m);
+ bind_freq_sink_c(m);
+ bind_freq_sink_f(m);
+ // bind_freqcontrolpanel(m);
+ // bind_freqdisplayform(m);
+ bind_histogram_sink_f(m);
+ // bind_histogramdisplayform(m);
+ // bind_number_sink(m);
+ // bind_numberdisplayform(m);
+ // // bind_plot_raster(m);
+ // // bind_plot_waterfall(m);
+ // bind_qtgui_types(m);
+ bind_sink_c(m);
+ bind_sink_f(m);
+ // // bind_spectrumUpdateEvents(m);
+ // // bind_spectrumdisplayform(m);
+ // // bind_timeRasterGlobalData(m);
+ bind_time_raster_sink_b(m);
+ bind_time_raster_sink_f(m);
+ bind_time_sink_c(m);
+ bind_time_sink_f(m);
+ // bind_timecontrolpanel(m);
+ // bind_timedisplayform(m);
+ // bind_timerasterdisplayform(m);
+ bind_trigger_mode(m);
+ // // bind_utils(m);
+ bind_vector_sink_f(m);
+ // bind_vectordisplayform(m);
+ // // bind_waterfallGlobalData(m);
+ bind_waterfall_sink_c(m);
+ bind_waterfall_sink_f(m);
+ // bind_waterfalldisplayform(m);
+}