commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] [gnuradio] 02/06: digital: split swig into 3 parts (a


From: git
Subject: [Commit-gnuradio] [gnuradio] 02/06: digital: split swig into 3 parts (a la blocks/swig) to allow for building on "low memory" systems (e.g., RPi).
Date: Fri, 28 Oct 2016 18:55:46 +0000 (UTC)

This is an automated email from the git hooks/post-receive script.

jcorgan pushed a commit to branch master
in repository gnuradio.

commit 30a7f3e115019e0e73539393e85a2cf3888537c9
Author: Michael Dickens <address@hidden>
Date:   Mon Oct 24 12:36:57 2016 -0400

    digital: split swig into 3 parts (a la blocks/swig) to allow for building 
on "low memory" systems (e.g., RPi).
---
 gr-digital/swig/CMakeLists.txt     |  87 ++++++++++++++--------
 gr-digital/swig/digital_swig.py.in |  24 ++++++
 gr-digital/swig/digital_swig0.i    | 148 +------------------------------------
 gr-digital/swig/digital_swig1.i    | 120 ++++++++++++++++++++++++++++++
 gr-digital/swig/digital_swig2.i    | 112 ++++++++++++++++++++++++++++
 5 files changed, 313 insertions(+), 178 deletions(-)

diff --git a/gr-digital/swig/CMakeLists.txt b/gr-digital/swig/CMakeLists.txt
index 2f00dc1..fb13d3e 100644
--- a/gr-digital/swig/CMakeLists.txt
+++ b/gr-digital/swig/CMakeLists.txt
@@ -1,4 +1,4 @@
-# Copyright 2011,2012 Free Software Foundation, Inc.
+# Copyright 2011-2016 Free Software Foundation, Inc.
 #
 # This file is part of GNU Radio
 #
@@ -24,47 +24,72 @@ include(GrPython)
 include(GrSwig)
 
 set(GR_SWIG_INCLUDE_DIRS
-    ${GR_DIGITAL_INCLUDE_DIRS}
-    ${GR_BLOCKS_INCLUDE_DIRS}
-    ${GR_ANALOG_INCLUDE_DIRS}
-    ${GR_FFT_INCLUDE_DIRS}
-    ${GR_FILTER_INCLUDE_DIRS}
-    ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS}
-    ${VOLK_INCLUDE_DIRS}
-    ${Boost_INCLUDE_DIRS}
+  ${GR_DIGITAL_INCLUDE_DIRS}
+  ${GR_BLOCKS_INCLUDE_DIRS}
+  ${GR_ANALOG_INCLUDE_DIRS}
+  ${GR_FFT_INCLUDE_DIRS}
+  ${GR_FILTER_INCLUDE_DIRS}
+  ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS}
+  ${VOLK_INCLUDE_DIRS}
+  ${Boost_INCLUDE_DIRS}
 )
 
 if(ENABLE_GR_CTRLPORT)
   list(APPEND GR_SWIG_FLAGS "-DGR_CTRLPORT")
 endif(ENABLE_GR_CTRLPORT)
 
-# Setup swig docs to depend on includes and pull in from build directory
-set(GR_SWIG_TARGET_DEPS digital_generated_includes)
-set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/digital_swig_doc.i)
-set(GR_SWIG_DOC_DIRS
+configure_file(
+  ${CMAKE_CURRENT_SOURCE_DIR}/digital_swig.py.in
+  ${CMAKE_CURRENT_BINARY_DIR}/digital_swig.py
address@hidden)
+
+# We split up the swig files into multiple sections to minimize the
+# memory overhead. If a .i file grows too large, create a new file
+# named 'digital_swigN.i' and add it to this list.
+#
+# Also add the line "from swig_blocksN import *" line to
+# digital_swig.py.in.
+set(GR_SWIG_BLOCK_IFILES
+  digital_swig0
+  digital_swig1
+  digital_swig2
+)
+
+foreach(swigfile ${GR_SWIG_BLOCK_IFILES})
+  set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/${swigfile}_doc.i)
+  set(GR_SWIG_DOC_DIRS
     ${CMAKE_CURRENT_SOURCE_DIR}/../include/gnuradio/digital
     ${CMAKE_CURRENT_BINARY_DIR}/../include/gnuradio/digital
-)
-set(GR_SWIG_DOCS_TARGET_DEPS runtime_swig_swig_doc)
+  )
+  set(GR_SWIG_DOCS_TARGET_DEPS runtime_swig_swig_doc)
+  set(GR_SWIG_TARGET_DEPS digital_generated_includes)
+  set(GR_SWIG_LIBRARIES gnuradio-digital
+    gnuradio-filter gnuradio-analog gnuradio-blocks)
+  GR_SWIG_MAKE(${swigfile} ${swigfile}.i)
 
-set(GR_SWIG_LIBRARIES gnuradio-digital
-  gnuradio-filter gnuradio-analog gnuradio-blocks)
+  GR_SWIG_INSTALL(
+    TARGETS ${swigfile}
+    DESTINATION ${GR_PYTHON_DIR}/gnuradio/digital
+    COMPONENT "digital_python")
 
-GR_SWIG_MAKE(digital_swig digital_swig.i)
+  list(APPEND SWIGFILES ${swigfile}.i)
+  list(APPEND SWIGDOCFILES ${CMAKE_CURRENT_BINARY_DIR}/${swigfile}_doc.i)
+endforeach(swigfile)
 
-GR_SWIG_INSTALL(
-    TARGETS digital_swig
-    DESTINATION ${GR_PYTHON_DIR}/gnuradio/digital
-    COMPONENT "digital_python"
+install(
+  FILES
+  ${SWIGFILES}
+  constellation.i
+  ofdm_equalizer.i
+  packet_header.i
+  ${SWIGDOCFILES}
+  DESTINATION ${GR_INCLUDE_DIR}/gnuradio/swig
+  COMPONENT "digital_swig"
 )
 
-install(
-    FILES
-    digital_swig.i
-    constellation.i
-    ofdm_equalizer.i
-    packet_header.i
-    ${CMAKE_CURRENT_BINARY_DIR}/digital_swig_doc.i
-    DESTINATION ${GR_INCLUDE_DIR}/gnuradio/swig
-    COMPONENT "digital_swig"
+# Install the Python file that pulls in the swig built files.
+GR_PYTHON_INSTALL(
+  FILES ${CMAKE_CURRENT_BINARY_DIR}/digital_swig.py
+  DESTINATION ${GR_PYTHON_DIR}/gnuradio/digital
+  COMPONENT "digital_python"
 )
diff --git a/gr-digital/swig/digital_swig.py.in 
b/gr-digital/swig/digital_swig.py.in
new file mode 100644
index 0000000..d5d55a0
--- /dev/null
+++ b/gr-digital/swig/digital_swig.py.in
@@ -0,0 +1,24 @@
+#
+# Copyright 2016 Free Software Foundation, Inc.
+#
+# This file is part of GNU Radio
+#
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Radio; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+#
+
+from digital_swig0 import *
+from digital_swig1 import *
+from digital_swig2 import *
diff --git a/gr-digital/swig/digital_swig0.i b/gr-digital/swig/digital_swig0.i
index 8a38d65..753d026 100644
--- a/gr-digital/swig/digital_swig0.i
+++ b/gr-digital/swig/digital_swig0.i
@@ -27,7 +27,7 @@
 %include "stdint.i"
 
 //load generated python docstrings
-%include "digital_swig_doc.i"
+%include "digital_swig0_doc.i"
 
 %include "gnuradio/analog/cpm.h"
 
@@ -37,18 +37,7 @@
 %include <gnuradio/blocks/control_loop.h>
 
 %{
-#include "gnuradio/digital/additive_scrambler_bb.h"
 #include "gnuradio/digital/binary_slicer_fb.h"
-#include "gnuradio/digital/burst_shaper_cc.h"
-#include "gnuradio/digital/burst_shaper_ff.h"
-#include "gnuradio/digital/chunks_to_symbols_bc.h"
-#include "gnuradio/digital/chunks_to_symbols_bf.h"
-#include "gnuradio/digital/chunks_to_symbols_ic.h"
-#include "gnuradio/digital/chunks_to_symbols_if.h"
-#include "gnuradio/digital/chunks_to_symbols_sc.h"
-#include "gnuradio/digital/chunks_to_symbols_sf.h"
-#include "gnuradio/digital/clock_recovery_mm_cc.h"
-#include "gnuradio/digital/clock_recovery_mm_ff.h"
 #include "gnuradio/digital/cma_equalizer_cc.h"
 #include "gnuradio/digital/constellation.h"
 #include "gnuradio/digital/constellation_decoder_cb.h"
@@ -66,26 +55,7 @@
 #include "gnuradio/digital/crc32_bb.h"
 #include "gnuradio/digital/crc32_async_bb.h"
 #include "gnuradio/digital/descrambler_bb.h"
-#include "gnuradio/digital/diff_decoder_bb.h"
-#include "gnuradio/digital/diff_encoder_bb.h"
-#include "gnuradio/digital/diff_phasor_cc.h"
-#include "gnuradio/digital/fll_band_edge_cc.h"
-#include "gnuradio/digital/framer_sink_1.h"
-#include "gnuradio/digital/glfsr_source_b.h"
-#include "gnuradio/digital/glfsr_source_f.h"
-#include "gnuradio/digital/hdlc_deframer_bp.h"
-#include "gnuradio/digital/hdlc_framer_pb.h"
-#include "gnuradio/digital/header_payload_demux.h"
-#include "gnuradio/digital/kurtotic_equalizer_cc.h"
-#include "gnuradio/digital/lfsr.h"
 #include "gnuradio/digital/lms_dd_equalizer_cc.h"
-#include "gnuradio/digital/map_bb.h"
-#include "gnuradio/digital/metric_type.h"
-#include "gnuradio/digital/modulate_vector.h"
-#include "gnuradio/digital/mpsk_receiver_cc.h"
-#include "gnuradio/digital/mpsk_snr_est.h"
-#include "gnuradio/digital/mpsk_snr_est_cc.h"
-#include "gnuradio/digital/msk_timing_recovery_cc.h"
 #include "gnuradio/digital/ofdm_carrier_allocator_cvc.h"
 #include "gnuradio/digital/ofdm_chanest_vcvc.h"
 #include "gnuradio/digital/ofdm_cyclic_prefixer.h"
@@ -100,44 +70,9 @@
 #include "gnuradio/digital/ofdm_sampler.h"
 #include "gnuradio/digital/ofdm_serializer_vcc.h"
 #include "gnuradio/digital/ofdm_sync_sc_cfb.h"
-#include "gnuradio/digital/header_format_base.h"
-#include "gnuradio/digital/header_format_default.h"
-#include "gnuradio/digital/header_format_counter.h"
-#include "gnuradio/digital/header_format_crc.h"
-#include "gnuradio/digital/header_format_ofdm.h"
-#include "gnuradio/digital/protocol_formatter_async.h"
-#include "gnuradio/digital/protocol_formatter_bb.h"
-#include "gnuradio/digital/protocol_parser_b.h"
-#include "gnuradio/digital/packet_header_default.h"
-#include "gnuradio/digital/packet_header_ofdm.h"
-#include "gnuradio/digital/packet_headergenerator_bb.h"
-#include "gnuradio/digital/packet_headerparser_b.h"
-#include "gnuradio/digital/packet_sink.h"
-#include "gnuradio/digital/pfb_clock_sync_ccf.h"
-#include "gnuradio/digital/pfb_clock_sync_fff.h"
-#include "gnuradio/digital/pn_correlator_cc.h"
-#include "gnuradio/digital/probe_density_b.h"
-#include "gnuradio/digital/probe_mpsk_snr_est_c.h"
-#include "gnuradio/digital/scrambler_bb.h"
-#include "gnuradio/digital/simple_correlator.h"
-#include "gnuradio/digital/simple_framer.h"
-#include "gnuradio/digital/ofdm_serializer_vcc.h"
-#include "gnuradio/digital/packet_headerparser_b.h"
-#include "gnuradio/digital/header_payload_demux.h"
 %}
 
-%include "gnuradio/digital/additive_scrambler_bb.h"
 %include "gnuradio/digital/binary_slicer_fb.h"
-%include "gnuradio/digital/burst_shaper_cc.h"
-%include "gnuradio/digital/burst_shaper_ff.h"
-%include "gnuradio/digital/chunks_to_symbols_bc.h"
-%include "gnuradio/digital/chunks_to_symbols_bf.h"
-%include "gnuradio/digital/chunks_to_symbols_ic.h"
-%include "gnuradio/digital/chunks_to_symbols_if.h"
-%include "gnuradio/digital/chunks_to_symbols_sc.h"
-%include "gnuradio/digital/chunks_to_symbols_sf.h"
-%include "gnuradio/digital/clock_recovery_mm_cc.h"
-%include "gnuradio/digital/clock_recovery_mm_ff.h"
 %include "gnuradio/digital/cma_equalizer_cc.h"
 %include "gnuradio/digital/constellation.h"
 %include "gnuradio/digital/constellation_decoder_cb.h"
@@ -155,26 +90,7 @@
 %include "gnuradio/digital/crc32_bb.h"
 %include "gnuradio/digital/crc32_async_bb.h"
 %include "gnuradio/digital/descrambler_bb.h"
-%include "gnuradio/digital/diff_decoder_bb.h"
-%include "gnuradio/digital/diff_encoder_bb.h"
-%include "gnuradio/digital/diff_phasor_cc.h"
-%include "gnuradio/digital/fll_band_edge_cc.h"
-%include "gnuradio/digital/framer_sink_1.h"
-%include "gnuradio/digital/glfsr_source_b.h"
-%include "gnuradio/digital/glfsr_source_f.h"
-%include "gnuradio/digital/hdlc_deframer_bp.h"
-%include "gnuradio/digital/hdlc_framer_pb.h"
-%include "gnuradio/digital/header_payload_demux.h"
-%include "gnuradio/digital/kurtotic_equalizer_cc.h"
-%include "gnuradio/digital/lfsr.h"
 %include "gnuradio/digital/lms_dd_equalizer_cc.h"
-%include "gnuradio/digital/map_bb.h"
-%include "gnuradio/digital/metric_type.h"
-%include "gnuradio/digital/modulate_vector.h"
-%include "gnuradio/digital/mpsk_receiver_cc.h"
-%include "gnuradio/digital/mpsk_snr_est.h"
-%include "gnuradio/digital/mpsk_snr_est_cc.h"
-%include "gnuradio/digital/msk_timing_recovery_cc.h"
 %include "gnuradio/digital/ofdm_carrier_allocator_cvc.h"
 %include "gnuradio/digital/ofdm_chanest_vcvc.h"
 %include "gnuradio/digital/ofdm_cyclic_prefixer.h"
@@ -189,40 +105,8 @@
 %include "gnuradio/digital/ofdm_sampler.h"
 %include "gnuradio/digital/ofdm_serializer_vcc.h"
 %include "gnuradio/digital/ofdm_sync_sc_cfb.h"
-%include "gnuradio/digital/header_format_base.h"
-%include "gnuradio/digital/header_format_default.h"
-%include "gnuradio/digital/header_format_counter.h"
-%include "gnuradio/digital/header_format_crc.h"
-%include "gnuradio/digital/header_format_ofdm.h"
-%include "gnuradio/digital/protocol_formatter_async.h"
-%include "gnuradio/digital/protocol_formatter_bb.h"
-%include "gnuradio/digital/protocol_parser_b.h"
-%include "gnuradio/digital/packet_header_default.h"
-%include "gnuradio/digital/packet_header_ofdm.h"
-%include "gnuradio/digital/packet_headergenerator_bb.h"
-%include "gnuradio/digital/packet_headerparser_b.h"
-%include "gnuradio/digital/packet_sink.h"
-%include "gnuradio/digital/pfb_clock_sync_ccf.h"
-%include "gnuradio/digital/pfb_clock_sync_fff.h"
-%include "gnuradio/digital/pn_correlator_cc.h"
-%include "gnuradio/digital/probe_density_b.h"
-%include "gnuradio/digital/probe_mpsk_snr_est_c.h"
-%include "gnuradio/digital/scrambler_bb.h"
-%include "gnuradio/digital/simple_correlator.h"
-%include "gnuradio/digital/simple_framer.h"
 
-GR_SWIG_BLOCK_MAGIC2(digital, additive_scrambler_bb);
 GR_SWIG_BLOCK_MAGIC2(digital, binary_slicer_fb);
-GR_SWIG_BLOCK_MAGIC2(digital, burst_shaper_cc);
-GR_SWIG_BLOCK_MAGIC2(digital, burst_shaper_ff);
-GR_SWIG_BLOCK_MAGIC2(digital, chunks_to_symbols_bc);
-GR_SWIG_BLOCK_MAGIC2(digital, chunks_to_symbols_bf);
-GR_SWIG_BLOCK_MAGIC2(digital, chunks_to_symbols_ic);
-GR_SWIG_BLOCK_MAGIC2(digital, chunks_to_symbols_if);
-GR_SWIG_BLOCK_MAGIC2(digital, chunks_to_symbols_sc);
-GR_SWIG_BLOCK_MAGIC2(digital, chunks_to_symbols_sf);
-GR_SWIG_BLOCK_MAGIC2(digital, clock_recovery_mm_cc);
-GR_SWIG_BLOCK_MAGIC2(digital, clock_recovery_mm_ff);
 GR_SWIG_BLOCK_MAGIC2(digital, cma_equalizer_cc);
 GR_SWIG_BLOCK_MAGIC2(digital, constellation_decoder_cb);
 GR_SWIG_BLOCK_MAGIC2(digital, constellation_receiver_cb);
@@ -238,22 +122,7 @@ GR_SWIG_BLOCK_MAGIC2(digital, crc32_bb);
 GR_SWIG_BLOCK_MAGIC2(digital, crc32_async_bb);
 GR_SWIG_BLOCK_MAGIC2(digital, cpmmod_bc);
 GR_SWIG_BLOCK_MAGIC2(digital, descrambler_bb);
-GR_SWIG_BLOCK_MAGIC2(digital, diff_decoder_bb);
-GR_SWIG_BLOCK_MAGIC2(digital, diff_encoder_bb);
-GR_SWIG_BLOCK_MAGIC2(digital, diff_phasor_cc);
-GR_SWIG_BLOCK_MAGIC2(digital, fll_band_edge_cc);
-GR_SWIG_BLOCK_MAGIC2(digital, framer_sink_1);
-GR_SWIG_BLOCK_MAGIC2(digital, glfsr_source_b);
-GR_SWIG_BLOCK_MAGIC2(digital, glfsr_source_f);
-GR_SWIG_BLOCK_MAGIC2(digital, hdlc_deframer_bp);
-GR_SWIG_BLOCK_MAGIC2(digital, hdlc_framer_pb);
-GR_SWIG_BLOCK_MAGIC2(digital, header_payload_demux);
-GR_SWIG_BLOCK_MAGIC2(digital, kurtotic_equalizer_cc);
 GR_SWIG_BLOCK_MAGIC2(digital, lms_dd_equalizer_cc);
-GR_SWIG_BLOCK_MAGIC2(digital, map_bb);
-GR_SWIG_BLOCK_MAGIC2(digital, mpsk_receiver_cc);
-GR_SWIG_BLOCK_MAGIC2(digital, mpsk_snr_est_cc);
-GR_SWIG_BLOCK_MAGIC2(digital, msk_timing_recovery_cc);
 GR_SWIG_BLOCK_MAGIC2(digital, ofdm_carrier_allocator_cvc);
 GR_SWIG_BLOCK_MAGIC2(digital, ofdm_chanest_vcvc);
 GR_SWIG_BLOCK_MAGIC2(digital, ofdm_cyclic_prefixer);
@@ -265,24 +134,9 @@ GR_SWIG_BLOCK_MAGIC2(digital, ofdm_mapper_bcv);
 GR_SWIG_BLOCK_MAGIC2(digital, ofdm_sampler);
 GR_SWIG_BLOCK_MAGIC2(digital, ofdm_serializer_vcc);
 GR_SWIG_BLOCK_MAGIC2(digital, ofdm_sync_sc_cfb);
-GR_SWIG_BLOCK_MAGIC2(digital, protocol_formatter_async);
-GR_SWIG_BLOCK_MAGIC2(digital, protocol_formatter_bb);
-GR_SWIG_BLOCK_MAGIC2(digital, protocol_parser_b);
-GR_SWIG_BLOCK_MAGIC2(digital, packet_headergenerator_bb);
-GR_SWIG_BLOCK_MAGIC2(digital, packet_headerparser_b);
-GR_SWIG_BLOCK_MAGIC2(digital, packet_sink);
-GR_SWIG_BLOCK_MAGIC2(digital, pfb_clock_sync_ccf);
-GR_SWIG_BLOCK_MAGIC2(digital, pfb_clock_sync_fff);
-GR_SWIG_BLOCK_MAGIC2(digital, pn_correlator_cc);
-GR_SWIG_BLOCK_MAGIC2(digital, probe_density_b);
-GR_SWIG_BLOCK_MAGIC2(digital, probe_mpsk_snr_est_c);
-GR_SWIG_BLOCK_MAGIC2(digital, scrambler_bb);
-GR_SWIG_BLOCK_MAGIC2(digital, simple_correlator);
-GR_SWIG_BLOCK_MAGIC2(digital, simple_framer);
 
 GR_SWIG_BLOCK_MAGIC_FACTORY(digital, cpmmod_bc, gmskmod_bc);
 
 // Properly package up non-block objects
 %include "constellation.i"
-%include "packet_header.i"
 %include "ofdm_equalizer.i"
diff --git a/gr-digital/swig/digital_swig1.i b/gr-digital/swig/digital_swig1.i
new file mode 100644
index 0000000..972ddf5
--- /dev/null
+++ b/gr-digital/swig/digital_swig1.i
@@ -0,0 +1,120 @@
+/*
+ * Copyright 2016 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#define DIGITAL_API
+#define ANALOG_API
+#define BLOCKS_API
+
+%include "gnuradio.i"
+%include "stdint.i"
+
+//load generated python docstrings
+%include "digital_swig1_doc.i"
+
+ //%include "gnuradio/analog/cpm.h"
+
+%{
+#include <gnuradio/blocks/control_loop.h>
+%}
+%include <gnuradio/blocks/control_loop.h>
+
+%{
+#include "gnuradio/digital/additive_scrambler_bb.h"
+#include "gnuradio/digital/burst_shaper_cc.h"
+#include "gnuradio/digital/burst_shaper_ff.h"
+#include "gnuradio/digital/chunks_to_symbols_bc.h"
+#include "gnuradio/digital/chunks_to_symbols_bf.h"
+#include "gnuradio/digital/chunks_to_symbols_ic.h"
+#include "gnuradio/digital/chunks_to_symbols_if.h"
+#include "gnuradio/digital/chunks_to_symbols_sc.h"
+#include "gnuradio/digital/chunks_to_symbols_sf.h"
+#include "gnuradio/digital/clock_recovery_mm_cc.h"
+#include "gnuradio/digital/clock_recovery_mm_ff.h"
+#include "gnuradio/digital/diff_decoder_bb.h"
+#include "gnuradio/digital/diff_encoder_bb.h"
+#include "gnuradio/digital/diff_phasor_cc.h"
+#include "gnuradio/digital/fll_band_edge_cc.h"
+#include "gnuradio/digital/framer_sink_1.h"
+#include "gnuradio/digital/glfsr_source_b.h"
+#include "gnuradio/digital/glfsr_source_f.h"
+#include "gnuradio/digital/hdlc_deframer_bp.h"
+#include "gnuradio/digital/hdlc_framer_pb.h"
+#include "gnuradio/digital/header_payload_demux.h"
+#include "gnuradio/digital/kurtotic_equalizer_cc.h"
+#include "gnuradio/digital/lfsr.h"
+#include "gnuradio/digital/map_bb.h"
+#include "gnuradio/digital/metric_type.h"
+#include "gnuradio/digital/modulate_vector.h"
+#include "gnuradio/digital/msk_timing_recovery_cc.h"
+%}
+
+%include "gnuradio/digital/additive_scrambler_bb.h"
+%include "gnuradio/digital/burst_shaper_cc.h"
+%include "gnuradio/digital/burst_shaper_ff.h"
+%include "gnuradio/digital/chunks_to_symbols_bc.h"
+%include "gnuradio/digital/chunks_to_symbols_bf.h"
+%include "gnuradio/digital/chunks_to_symbols_ic.h"
+%include "gnuradio/digital/chunks_to_symbols_if.h"
+%include "gnuradio/digital/chunks_to_symbols_sc.h"
+%include "gnuradio/digital/chunks_to_symbols_sf.h"
+%include "gnuradio/digital/clock_recovery_mm_cc.h"
+%include "gnuradio/digital/clock_recovery_mm_ff.h"
+%include "gnuradio/digital/diff_decoder_bb.h"
+%include "gnuradio/digital/diff_encoder_bb.h"
+%include "gnuradio/digital/diff_phasor_cc.h"
+%include "gnuradio/digital/fll_band_edge_cc.h"
+%include "gnuradio/digital/framer_sink_1.h"
+%include "gnuradio/digital/glfsr_source_b.h"
+%include "gnuradio/digital/glfsr_source_f.h"
+%include "gnuradio/digital/hdlc_deframer_bp.h"
+%include "gnuradio/digital/hdlc_framer_pb.h"
+%include "gnuradio/digital/header_payload_demux.h"
+%include "gnuradio/digital/kurtotic_equalizer_cc.h"
+%include "gnuradio/digital/lfsr.h"
+%include "gnuradio/digital/map_bb.h"
+%include "gnuradio/digital/metric_type.h"
+%include "gnuradio/digital/modulate_vector.h"
+%include "gnuradio/digital/msk_timing_recovery_cc.h"
+
+GR_SWIG_BLOCK_MAGIC2(digital, additive_scrambler_bb);
+GR_SWIG_BLOCK_MAGIC2(digital, burst_shaper_cc);
+GR_SWIG_BLOCK_MAGIC2(digital, burst_shaper_ff);
+GR_SWIG_BLOCK_MAGIC2(digital, chunks_to_symbols_bc);
+GR_SWIG_BLOCK_MAGIC2(digital, chunks_to_symbols_bf);
+GR_SWIG_BLOCK_MAGIC2(digital, chunks_to_symbols_ic);
+GR_SWIG_BLOCK_MAGIC2(digital, chunks_to_symbols_if);
+GR_SWIG_BLOCK_MAGIC2(digital, chunks_to_symbols_sc);
+GR_SWIG_BLOCK_MAGIC2(digital, chunks_to_symbols_sf);
+GR_SWIG_BLOCK_MAGIC2(digital, clock_recovery_mm_cc);
+GR_SWIG_BLOCK_MAGIC2(digital, clock_recovery_mm_ff);
+GR_SWIG_BLOCK_MAGIC2(digital, diff_decoder_bb);
+GR_SWIG_BLOCK_MAGIC2(digital, diff_encoder_bb);
+GR_SWIG_BLOCK_MAGIC2(digital, diff_phasor_cc);
+GR_SWIG_BLOCK_MAGIC2(digital, fll_band_edge_cc);
+GR_SWIG_BLOCK_MAGIC2(digital, framer_sink_1);
+GR_SWIG_BLOCK_MAGIC2(digital, glfsr_source_b);
+GR_SWIG_BLOCK_MAGIC2(digital, glfsr_source_f);
+GR_SWIG_BLOCK_MAGIC2(digital, hdlc_deframer_bp);
+GR_SWIG_BLOCK_MAGIC2(digital, hdlc_framer_pb);
+GR_SWIG_BLOCK_MAGIC2(digital, header_payload_demux);
+GR_SWIG_BLOCK_MAGIC2(digital, kurtotic_equalizer_cc);
+GR_SWIG_BLOCK_MAGIC2(digital, map_bb);
+GR_SWIG_BLOCK_MAGIC2(digital, msk_timing_recovery_cc);
diff --git a/gr-digital/swig/digital_swig2.i b/gr-digital/swig/digital_swig2.i
new file mode 100644
index 0000000..c16cc6a
--- /dev/null
+++ b/gr-digital/swig/digital_swig2.i
@@ -0,0 +1,112 @@
+/*
+ * Copyright 2016 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#define DIGITAL_API
+#define ANALOG_API
+#define BLOCKS_API
+
+%include "gnuradio.i"
+%include "stdint.i"
+
+//load generated python docstrings
+%include "digital_swig2_doc.i"
+
+// %include "gnuradio/analog/cpm.h"
+
+%{
+#include <gnuradio/blocks/control_loop.h>
+%}
+%include <gnuradio/blocks/control_loop.h>
+
+%{
+#include "gnuradio/digital/mpsk_receiver_cc.h"
+#include "gnuradio/digital/mpsk_snr_est.h"
+#include "gnuradio/digital/mpsk_snr_est_cc.h"
+#include "gnuradio/digital/header_format_base.h"
+#include "gnuradio/digital/header_format_default.h"
+#include "gnuradio/digital/header_format_counter.h"
+#include "gnuradio/digital/header_format_crc.h"
+#include "gnuradio/digital/header_format_ofdm.h"
+#include "gnuradio/digital/protocol_formatter_async.h"
+#include "gnuradio/digital/protocol_formatter_bb.h"
+#include "gnuradio/digital/protocol_parser_b.h"
+#include "gnuradio/digital/packet_header_default.h"
+#include "gnuradio/digital/packet_header_ofdm.h"
+#include "gnuradio/digital/packet_headergenerator_bb.h"
+#include "gnuradio/digital/packet_headerparser_b.h"
+#include "gnuradio/digital/packet_sink.h"
+#include "gnuradio/digital/pfb_clock_sync_ccf.h"
+#include "gnuradio/digital/pfb_clock_sync_fff.h"
+#include "gnuradio/digital/pn_correlator_cc.h"
+#include "gnuradio/digital/probe_density_b.h"
+#include "gnuradio/digital/probe_mpsk_snr_est_c.h"
+#include "gnuradio/digital/scrambler_bb.h"
+#include "gnuradio/digital/simple_correlator.h"
+#include "gnuradio/digital/simple_framer.h"
+#include "gnuradio/digital/ofdm_serializer_vcc.h"
+#include "gnuradio/digital/packet_headerparser_b.h"
+#include "gnuradio/digital/header_payload_demux.h"
+%}
+
+%include "gnuradio/digital/mpsk_receiver_cc.h"
+%include "gnuradio/digital/mpsk_snr_est.h"
+%include "gnuradio/digital/mpsk_snr_est_cc.h"
+%include "gnuradio/digital/header_format_base.h"
+%include "gnuradio/digital/header_format_default.h"
+%include "gnuradio/digital/header_format_counter.h"
+%include "gnuradio/digital/header_format_crc.h"
+%include "gnuradio/digital/header_format_ofdm.h"
+%include "gnuradio/digital/protocol_formatter_async.h"
+%include "gnuradio/digital/protocol_formatter_bb.h"
+%include "gnuradio/digital/protocol_parser_b.h"
+%include "gnuradio/digital/packet_header_default.h"
+%include "gnuradio/digital/packet_header_ofdm.h"
+%include "gnuradio/digital/packet_headergenerator_bb.h"
+%include "gnuradio/digital/packet_headerparser_b.h"
+%include "gnuradio/digital/packet_sink.h"
+%include "gnuradio/digital/pfb_clock_sync_ccf.h"
+%include "gnuradio/digital/pfb_clock_sync_fff.h"
+%include "gnuradio/digital/pn_correlator_cc.h"
+%include "gnuradio/digital/probe_density_b.h"
+%include "gnuradio/digital/probe_mpsk_snr_est_c.h"
+%include "gnuradio/digital/scrambler_bb.h"
+%include "gnuradio/digital/simple_correlator.h"
+%include "gnuradio/digital/simple_framer.h"
+
+GR_SWIG_BLOCK_MAGIC2(digital, mpsk_receiver_cc);
+GR_SWIG_BLOCK_MAGIC2(digital, mpsk_snr_est_cc);
+GR_SWIG_BLOCK_MAGIC2(digital, protocol_formatter_async);
+GR_SWIG_BLOCK_MAGIC2(digital, protocol_formatter_bb);
+GR_SWIG_BLOCK_MAGIC2(digital, protocol_parser_b);
+GR_SWIG_BLOCK_MAGIC2(digital, packet_headergenerator_bb);
+GR_SWIG_BLOCK_MAGIC2(digital, packet_headerparser_b);
+GR_SWIG_BLOCK_MAGIC2(digital, packet_sink);
+GR_SWIG_BLOCK_MAGIC2(digital, pfb_clock_sync_ccf);
+GR_SWIG_BLOCK_MAGIC2(digital, pfb_clock_sync_fff);
+GR_SWIG_BLOCK_MAGIC2(digital, pn_correlator_cc);
+GR_SWIG_BLOCK_MAGIC2(digital, probe_density_b);
+GR_SWIG_BLOCK_MAGIC2(digital, probe_mpsk_snr_est_c);
+GR_SWIG_BLOCK_MAGIC2(digital, scrambler_bb);
+GR_SWIG_BLOCK_MAGIC2(digital, simple_correlator);
+GR_SWIG_BLOCK_MAGIC2(digital, simple_framer);
+
+// Properly package up non-block objects
+%include "packet_header.i"



reply via email to

[Prev in Thread] Current Thread [Next in Thread]