diff options
Diffstat (limited to 'gr-qtgui/python/qtgui/bindings/python_bindings.cc')
-rw-r--r-- | gr-qtgui/python/qtgui/bindings/python_bindings.cc | 136 |
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); +} |