/* * 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); }