summaryrefslogtreecommitdiff
path: root/gr-digital
diff options
context:
space:
mode:
Diffstat (limited to 'gr-digital')
-rw-r--r--gr-digital/CMakeLists.txt5
-rw-r--r--gr-digital/Makefile.am2
-rw-r--r--gr-digital/examples/Makefile.am1
-rwxr-xr-xgr-digital/examples/benchmark_rx.py24
-rwxr-xr-xgr-digital/examples/benchmark_tx.py26
-rw-r--r--gr-digital/examples/receive_path.py15
-rw-r--r--gr-digital/examples/transmit_path.py15
-rw-r--r--gr-digital/examples/uhd_interface.py215
-rw-r--r--gr-digital/include/.gitignore (renamed from gr-digital/hier/.gitignore)0
-rw-r--r--gr-digital/include/CMakeLists.txt (renamed from gr-digital/hier/CMakeLists.txt)37
-rw-r--r--gr-digital/include/Makefile.am (renamed from gr-digital/hier/Makefile.am)35
-rw-r--r--gr-digital/include/digital_api.h (renamed from gr-digital/lib/digital_api.h)0
-rw-r--r--gr-digital/include/digital_binary_slicer_fb.h (renamed from gr-digital/lib/digital_binary_slicer_fb.h)0
-rw-r--r--gr-digital/include/digital_clock_recovery_mm_cc.h (renamed from gr-digital/lib/digital_clock_recovery_mm_cc.h)0
-rw-r--r--gr-digital/include/digital_clock_recovery_mm_ff.h (renamed from gr-digital/lib/digital_clock_recovery_mm_ff.h)0
-rw-r--r--gr-digital/include/digital_cma_equalizer_cc.h (renamed from gr-digital/lib/digital_cma_equalizer_cc.h)0
-rw-r--r--gr-digital/include/digital_constellation.h (renamed from gr-digital/lib/digital_constellation.h)0
-rw-r--r--gr-digital/include/digital_constellation_decoder_cb.h (renamed from gr-digital/lib/digital_constellation_decoder_cb.h)0
-rw-r--r--gr-digital/include/digital_constellation_receiver_cb.h (renamed from gr-digital/lib/digital_constellation_receiver_cb.h)0
-rw-r--r--gr-digital/include/digital_correlate_access_code_bb.h (renamed from gr-digital/lib/digital_correlate_access_code_bb.h)0
-rw-r--r--gr-digital/include/digital_costas_loop_cc.h (renamed from gr-digital/lib/digital_costas_loop_cc.h)0
-rw-r--r--gr-digital/include/digital_cpmmod_bc.h (renamed from gr-digital/hier/digital_cpmmod_bc.h)0
-rw-r--r--gr-digital/include/digital_crc32.h (renamed from gr-digital/lib/digital_crc32.h)0
-rw-r--r--gr-digital/include/digital_fll_band_edge_cc.h (renamed from gr-digital/lib/digital_fll_band_edge_cc.h)0
-rw-r--r--gr-digital/include/digital_gmskmod_bc.h (renamed from gr-digital/hier/digital_gmskmod_bc.h)0
-rw-r--r--gr-digital/include/digital_kurtotic_equalizer_cc.h (renamed from gr-digital/lib/digital_kurtotic_equalizer_cc.h)0
-rw-r--r--gr-digital/include/digital_lms_dd_equalizer_cc.h (renamed from gr-digital/lib/digital_lms_dd_equalizer_cc.h)0
-rw-r--r--gr-digital/include/digital_metric_type.h (renamed from gr-digital/lib/digital_metric_type.h)0
-rw-r--r--gr-digital/include/digital_mpsk_receiver_cc.h (renamed from gr-digital/lib/digital_mpsk_receiver_cc.h)0
-rw-r--r--gr-digital/lib/CMakeLists.txt26
-rw-r--r--gr-digital/lib/Makefile.am29
-rw-r--r--gr-digital/lib/digital_cpmmod_bc.cc (renamed from gr-digital/hier/digital_cpmmod_bc.cc)0
-rw-r--r--gr-digital/lib/digital_gmskmod_bc.cc (renamed from gr-digital/hier/digital_gmskmod_bc.cc)0
-rw-r--r--gr-digital/python/__init__.py3
-rw-r--r--gr-digital/python/generic_mod_demod.py14
-rw-r--r--gr-digital/python/pkt.py33
-rw-r--r--gr-digital/swig/CMakeLists.txt3
-rw-r--r--gr-digital/swig/Makefile.am8
-rw-r--r--gr-digital/swig/Makefile.swig.gen147
-rw-r--r--gr-digital/swig/_digital_hier.i (renamed from gr-digital/hier/_digital_hier.i)0
-rw-r--r--gr-digital/swig/digital_cpmmod_bc.i (renamed from gr-digital/hier/digital_cpmmod_bc.i)0
-rw-r--r--gr-digital/swig/digital_gmskmod_bc.i (renamed from gr-digital/hier/digital_gmskmod_bc.i)0
-rw-r--r--gr-digital/swig/digital_hier.i40
-rw-r--r--gr-digital/swig/digital_swig.i5
44 files changed, 336 insertions, 347 deletions
diff --git a/gr-digital/CMakeLists.txt b/gr-digital/CMakeLists.txt
index bd11be4d3..23bb48f94 100644
--- a/gr-digital/CMakeLists.txt
+++ b/gr-digital/CMakeLists.txt
@@ -32,8 +32,7 @@ GR_REGISTER_COMPONENT("gr-digital" ENABLE_GR_DIGITAL
)
GR_SET_GLOBAL(GR_DIGITAL_INCLUDE_DIRS
- ${CMAKE_CURRENT_SOURCE_DIR}/lib
- ${CMAKE_CURRENT_SOURCE_DIR}/hier
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
)
GR_SET_GLOBAL(GR_DIGITAL_SWIG_INCLUDE_DIRS
@@ -82,7 +81,7 @@ CPACK_COMPONENT("digital_swig"
########################################################################
# Add subdirectories
########################################################################
-GR_INCLUDE_SUBDIRECTORY(hier) #appends to lib sources
+ADD_SUBDIRECTORY(include)
ADD_SUBDIRECTORY(lib)
IF(ENABLE_PYTHON)
ADD_SUBDIRECTORY(swig)
diff --git a/gr-digital/Makefile.am b/gr-digital/Makefile.am
index 346db120f..b70d00d05 100644
--- a/gr-digital/Makefile.am
+++ b/gr-digital/Makefile.am
@@ -21,7 +21,7 @@
include $(top_srcdir)/Makefile.common
-SUBDIRS = hier lib
+SUBDIRS = include lib
if PYTHON
SUBDIRS += swig python apps grc examples
diff --git a/gr-digital/examples/Makefile.am b/gr-digital/examples/Makefile.am
index 849e826a1..4f745f3a9 100644
--- a/gr-digital/examples/Makefile.am
+++ b/gr-digital/examples/Makefile.am
@@ -31,6 +31,7 @@ noinst_PYTHON = \
dist_ourdata_SCRIPTS = \
transmit_path.py \
receive_path.py \
+ uhd_interface.py \
benchmark_tx.py \
benchmark_rx.py \
tx_voice.py \
diff --git a/gr-digital/examples/benchmark_rx.py b/gr-digital/examples/benchmark_rx.py
index 9390540dd..7eb4fb9b4 100755
--- a/gr-digital/examples/benchmark_rx.py
+++ b/gr-digital/examples/benchmark_rx.py
@@ -21,7 +21,6 @@
#
from gnuradio import gr, gru
-from gnuradio import usrp
from gnuradio import eng_notation
from gnuradio.eng_option import eng_option
from optparse import OptionParser
@@ -31,6 +30,7 @@ from gnuradio import digital
# from current dir
from receive_path import receive_path
+from uhd_interface import uhd_receiver
import random
import struct
@@ -44,17 +44,24 @@ class my_top_block(gr.top_block):
def __init__(self, demodulator, rx_callback, options):
gr.top_block.__init__(self)
- # Set up receive path
- self.rxpath = receive_path(demodulator, rx_callback, options)
+ if(options.tx_freq is not None):
+ self.source = uhd_receiver(options.address, options.bitrate,
+ options.samples_per_symbol,
+ options.rx_freq, options.rx_gain,
+ options.antenna, options.verbose)
+ options.samples_per_symbol = self.source._sps
- if(options.from_file is not None):
- self.thr = gr.throttle(gr.sizeof_gr_complex, 1e6)
+ elif(options.from_file is not None):
self.source = gr.file_source(gr.sizeof_gr_complex, options.from_file)
- self.connect(self.source, self.thr, self.rxpath)
else:
- self.thr = gr.throttle(gr.sizeof_gr_complex, 1e6)
self.source = gr.null_source(gr.sizeof_gr_complex)
- self.connect(self.source, self.thr, self.rxpath)
+
+ # Set up receive path
+ # do this after for any adjustments to the options that may
+ # occur in the sinks (specifically the UHD sink)
+ self.rxpath = receive_path(demodulator, rx_callback, options)
+
+ self.connect(self.source, self.rxpath)
# /////////////////////////////////////////////////////////////////////////////
@@ -93,6 +100,7 @@ def main():
help="input file of samples to demod")
receive_path.add_options(parser, expert_grp)
+ uhd_receiver.add_options(parser)
for mod in demods.values():
mod.add_options(expert_grp)
diff --git a/gr-digital/examples/benchmark_tx.py b/gr-digital/examples/benchmark_tx.py
index 92013a532..a4396dd98 100755
--- a/gr-digital/examples/benchmark_tx.py
+++ b/gr-digital/examples/benchmark_tx.py
@@ -21,7 +21,6 @@
#
from gnuradio import gr
-from gnuradio import uhd
from gnuradio import eng_notation
from gnuradio.eng_option import eng_option
from optparse import OptionParser
@@ -31,6 +30,7 @@ from gnuradio import digital
# from current dir
from transmit_path import transmit_path
+from uhd_interface import uhd_transmitter
import random, time, struct, sys
@@ -42,13 +42,22 @@ class my_top_block(gr.top_block):
def __init__(self, modulator, options):
gr.top_block.__init__(self)
- self.txpath = transmit_path(modulator, options)
-
- if(options.to_file is not None):
+ if(options.tx_freq is not None):
+ self.sink = uhd_transmitter(options.address, options.bitrate,
+ options.samples_per_symbol,
+ options.tx_freq, options.tx_gain,
+ options.antenna, options.verbose)
+ options.samples_per_symbol = self.sink._sps
+
+ elif(options.to_file is not None):
self.sink = gr.file_sink(gr.sizeof_gr_complex, options.to_file)
else:
self.sink = gr.null_sink(gr.sizeof_gr_complex)
+ # do this after for any adjustments to the options that may
+ # occur in the sinks (specifically the UHD sink)
+ self.txpath = transmit_path(modulator, options)
+
self.connect(self.txpath, self.sink)
# /////////////////////////////////////////////////////////////////////////////
@@ -85,6 +94,7 @@ def main():
help="Output file for modulated samples")
transmit_path.add_options(parser, expert_grp)
+ uhd_transmitter.add_options(parser)
for mod in mods.values():
mod.add_options(expert_grp)
@@ -94,13 +104,7 @@ def main():
if len(args) != 0:
parser.print_help()
sys.exit(1)
-
- if options.to_file is None:
- if options.tx_freq is None:
- sys.stderr.write("You must specify -f FREQ or --freq FREQ\n")
- parser.print_help(sys.stderr)
- sys.exit(1)
-
+
if options.from_file is not None:
source_file = open(options.from_file, 'r')
diff --git a/gr-digital/examples/receive_path.py b/gr-digital/examples/receive_path.py
index dd8eb1a0d..1c5e58963 100644
--- a/gr-digital/examples/receive_path.py
+++ b/gr-digital/examples/receive_path.py
@@ -34,17 +34,16 @@ import sys
class receive_path(gr.hier_block2):
def __init__(self, demod_class, rx_callback, options):
gr.hier_block2.__init__(self, "receive_path",
- gr.io_signature(1, 1, gr.sizeof_gr_complex), # Input signature
- gr.io_signature(0, 0, 0)) # Output signature
-
+ gr.io_signature(1, 1, gr.sizeof_gr_complex),
+ gr.io_signature(0, 0, 0))
options = copy.copy(options) # make a copy so we can destructively modify
- self._verbose = options.verbose
- self._bitrate = options.bitrate # desired bit rate
+ self._verbose = options.verbose
+ self._bitrate = options.bitrate # desired bit rate
- self._rx_callback = rx_callback # this callback is fired when there's a packet available
- self._demod_class = demod_class # the demodulator_class we're using
+ self._rx_callback = rx_callback # this callback is fired when a packet arrives
+ self._demod_class = demod_class # the demodulator_class we're using
# Get demod_kwargs
demod_kwargs = self._demod_class.extract_kwargs_from_options(options)
@@ -126,7 +125,7 @@ class receive_path(gr.hier_block2):
normal.add_option("-r", "--bitrate", type="eng_float", default=100e3,
help="specify bitrate [default=%default].")
normal.add_option("-v", "--verbose", action="store_true", default=False)
- expert.add_option("-S", "--samples-per-symbol", type="float", default=None,
+ expert.add_option("-S", "--samples-per-symbol", type="float", default=2,
help="set samples/symbol [default=%default]")
expert.add_option("", "--log", action="store_true", default=False,
help="Log all parts of flow graph to files (CAUTION: lots of data)")
diff --git a/gr-digital/examples/transmit_path.py b/gr-digital/examples/transmit_path.py
index f22ffb327..3af37f330 100644
--- a/gr-digital/examples/transmit_path.py
+++ b/gr-digital/examples/transmit_path.py
@@ -36,16 +36,15 @@ class transmit_path(gr.hier_block2):
See below for what options should hold
'''
gr.hier_block2.__init__(self, "transmit_path",
- gr.io_signature(0, 0, 0), # Input signature
- gr.io_signature(1, 1, gr.sizeof_gr_complex)) # Output signature
+ gr.io_signature(0,0,0),
+ gr.io_signature(1,1,gr.sizeof_gr_complex))
options = copy.copy(options) # make a copy so we can destructively modify
- self._verbose = options.verbose
- self._tx_amplitude = options.tx_amplitude # digital amplitude sent to USRP
- self._bitrate = options.bitrate # desired bit rate
-
- self._modulator_class = modulator_class # the modulator_class we are using
+ self._verbose = options.verbose
+ self._tx_amplitude = options.tx_amplitude # digital amplitude sent to USRP
+ self._bitrate = options.bitrate # desired bit rate
+ self._modulator_class = modulator_class # the modulator_class we are using
# Get mod_kwargs
mod_kwargs = self._modulator_class.extract_kwargs_from_options(options)
@@ -103,7 +102,7 @@ class transmit_path(gr.hier_block2):
help="set transmitter digital amplitude: 0 <= AMPL < 1 [default=%default]")
normal.add_option("-v", "--verbose", action="store_true", default=False)
- expert.add_option("-S", "--samples-per-symbol", type="float", default=None,
+ expert.add_option("-S", "--samples-per-symbol", type="float", default=2,
help="set samples/symbol [default=%default]")
expert.add_option("", "--log", action="store_true", default=False,
help="Log all parts of flow graph to file (CAUTION: lots of data)")
diff --git a/gr-digital/examples/uhd_interface.py b/gr-digital/examples/uhd_interface.py
new file mode 100644
index 000000000..3e2162ba3
--- /dev/null
+++ b/gr-digital/examples/uhd_interface.py
@@ -0,0 +1,215 @@
+#!/usr/bin/env python
+#
+# Copyright 2010,2011 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 gnuradio import gr, uhd
+from gnuradio import eng_notation
+from gnuradio.eng_option import eng_option
+from optparse import OptionParser
+
+import sys
+
+def add_freq_option(parser):
+ """
+ Hackery that has the -f / --freq option set both tx_freq and rx_freq
+ """
+ def freq_callback(option, opt_str, value, parser):
+ parser.values.rx_freq = value
+ parser.values.tx_freq = value
+
+ if not parser.has_option('--freq'):
+ parser.add_option('-f', '--freq', type="eng_float",
+ action="callback", callback=freq_callback,
+ help="set Tx and/or Rx frequency to FREQ [default=%default]",
+ metavar="FREQ")
+
+class uhd_interface:
+ def __init__(self, istx, address, bitrate, sps, freq=None,
+ gain=None, antenna=None):
+
+ if(istx):
+ self.u = uhd.usrp_sink(device_addr=address,
+ io_type=uhd.io_type.COMPLEX_FLOAT32,
+ num_channels=1)
+ else:
+ self.u = uhd.usrp_source(device_addr=address,
+ io_type=uhd.io_type.COMPLEX_FLOAT32,
+ num_channels=1)
+
+ self._addr = address
+ self._ant = antenna
+ self._gain = self.set_gain(gain)
+ self._freq = self.set_freq(freq)
+
+ self._rate, self._sps = self.set_sample_rate(bitrate, sps)
+
+ if(antenna):
+ self.u.set_antenna(antenna, 0)
+
+ def set_sample_rate(self, bitrate, req_sps):
+ start_sps = req_sps
+ while(True):
+ asked_samp_rate = bitrate * req_sps
+ self.u.set_samp_rate(asked_samp_rate)
+ actual_samp_rate = self.u.get_samp_rate()
+
+ sps = actual_samp_rate/bitrate
+ if(sps < 2):
+ req_sps +=1
+ else:
+ actual_sps = sps
+ break
+
+ if(sps != req_sps):
+ print "\nBit Rate: %f" % (bitrate)
+ print "Requested sps: %f" % (start_sps)
+ print "Given sample rate: %f" % (actual_samp_rate)
+ print "Actual sps for rate: %f" % (actual_sps)
+
+ if(actual_samp_rate != asked_samp_rate):
+ print "\nRequested sample rate: %f" % (asked_samp_rate)
+ print "Actual sample rate: %f" % (actual_samp_rate)
+
+ return (actual_samp_rate, actual_sps)
+
+ def set_gain(self, gain=None):
+ if gain is None:
+ # if no gain was specified, use the mid-point in dB
+ g = self.u.get_gain_range()
+ gain = float(g.start()+g.stop())/2
+ print "\nNo gain specified."
+ print "Setting gain to %f (from [%f, %f])" % \
+ (gain, g.start(), g.stop())
+
+ self.u.set_gain(gain, 0)
+ return gain
+
+ def set_freq(self, freq=None):
+ if(freq is None):
+ sys.stderr.write("You must specify -f FREQ or --freq FREQ\n")
+ sys.exit(1)
+
+ r = self.u.set_center_freq(freq, 0)
+ if r:
+ return freq
+ else:
+ frange = self.u.get_freq_range()
+ sys.stderr.write(("\nRequested frequency (%f) out or range [%f, %f]\n") % \
+ (freq, frange.start(), frange.stop()))
+ sys.exit(1)
+
+#-------------------------------------------------------------------#
+# TRANSMITTER
+#-------------------------------------------------------------------#
+
+class uhd_transmitter(uhd_interface, gr.hier_block2):
+ def __init__(self, address, bitrate, sps, freq=None, gain=None,
+ antenna=None, verbose=False):
+ gr.hier_block2.__init__(self, "uhd_transmitter",
+ gr.io_signature(1,1,gr.sizeof_gr_complex),
+ gr.io_signature(0,0,0))
+
+ # Set up the UHD interface as a transmitter
+ uhd_interface.__init__(self, True, address, bitrate, sps,
+ freq, gain, antenna)
+
+ self.connect(self, self.u)
+
+ if(verbose):
+ self._print_verbage()
+
+ def add_options(parser):
+ add_freq_option(parser)
+ parser.add_option("-a", "--address", type="string", default="addr=192.168.10.2",
+ help="Address of UHD device, [default=%default]")
+ parser.add_option("-A", "--antenna", type="string", default=None,
+ help="select Rx Antenna where appropriate")
+ parser.add_option("", "--tx-freq", type="eng_float", default=None,
+ help="set transmit frequency to FREQ [default=%default]",
+ metavar="FREQ")
+ parser.add_option("", "--tx-gain", type="eng_float", default=None,
+ help="set transmit gain in dB (default is midpoint)")
+ parser.add_option("-v", "--verbose", action="store_true", default=False)
+
+ # Make a static method to call before instantiation
+ add_options = staticmethod(add_options)
+
+ def _print_verbage(self):
+ """
+ Prints information about the UHD transmitter
+ """
+ print "\nUHD Transmitter:"
+ print "Address: %s" % (self._addr)
+ print "Freq: %sHz" % (eng_notation.num_to_str(self._freq))
+ print "Gain: %f dB" % (self._gain)
+ print "Sample Rate: %ssps" % (eng_notation.num_to_str(self._rate))
+ print "Antenna: %s" % (self._ant)
+
+
+
+#-------------------------------------------------------------------#
+# RECEIVER
+#-------------------------------------------------------------------#
+
+
+class uhd_receiver(uhd_interface, gr.hier_block2):
+ def __init__(self, address, bitrate, sps, freq=None, gain=None,
+ antenna=None, verbose=False):
+ gr.hier_block2.__init__(self, "uhd_receiver",
+ gr.io_signature(0,0,0),
+ gr.io_signature(1,1,gr.sizeof_gr_complex))
+
+ # Set up the UHD interface as a receiver
+ uhd_interface.__init__(self, False, address, bitrate, sps,
+ freq, gain, antenna)
+
+ self.connect(self.u, self)
+
+ if(verbose):
+ self._print_verbage()
+
+ def add_options(parser):
+ add_freq_option(parser)
+ parser.add_option("-a", "--address", type="string", default="addr=192.168.10.2",
+ help="Address of UHD device, [default=%default]")
+ parser.add_option("-A", "--antenna", type="string", default=None,
+ help="select Rx Antenna where appropriate")
+ parser.add_option("", "--rx-freq", type="eng_float", default=None,
+ help="set receive frequency to FREQ [default=%default]",
+ metavar="FREQ")
+ parser.add_option("", "--rx-gain", type="eng_float", default=None,
+ help="set receive gain in dB (default is midpoint)")
+ parser.add_option("-v", "--verbose", action="store_true", default=False)
+
+ # Make a static method to call before instantiation
+ add_options = staticmethod(add_options)
+
+ def _print_verbage(self):
+ """
+ Prints information about the UHD transmitter
+ """
+ print "\nUHD Receiver:"
+ print "Address: %s" % (self._addr)
+ print "Freq: %sHz" % (eng_notation.num_to_str(self._freq))
+ print "Gain: %f dB" % (self._gain)
+ print "Sample Rate: %ssps" % (eng_notation.num_to_str(self._rate))
+ print "Antenna: %s" % (self._ant)
+
diff --git a/gr-digital/hier/.gitignore b/gr-digital/include/.gitignore
index b336cc7ce..b336cc7ce 100644
--- a/gr-digital/hier/.gitignore
+++ b/gr-digital/include/.gitignore
diff --git a/gr-digital/hier/CMakeLists.txt b/gr-digital/include/CMakeLists.txt
index f46acc81e..7b38e645b 100644
--- a/gr-digital/hier/CMakeLists.txt
+++ b/gr-digital/include/CMakeLists.txt
@@ -18,26 +18,27 @@
# Boston, MA 02110-1301, USA.
########################################################################
-# This file included, use CMake directory variables
+# Install header files
########################################################################
-
-LIST(APPEND gr_digital_sources
- ${CMAKE_CURRENT_SOURCE_DIR}/digital_gmskmod_bc.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/digital_cpmmod_bc.cc
-)
-
INSTALL(FILES
- ${CMAKE_CURRENT_SOURCE_DIR}/digital_gmskmod_bc.h
- ${CMAKE_CURRENT_SOURCE_DIR}/digital_cpmmod_bc.h
+ digital_api.h
+ digital_binary_slicer_fb.h
+ digital_clock_recovery_mm_cc.h
+ digital_clock_recovery_mm_ff.h
+ digital_constellation.h
+ digital_constellation_receiver_cb.h
+ digital_constellation_decoder_cb.h
+ digital_correlate_access_code_bb.h
+ digital_costas_loop_cc.h
+ digital_cma_equalizer_cc.h
+ digital_crc32.h
+ digital_fll_band_edge_cc.h
+ digital_lms_dd_equalizer_cc.h
+ digital_kurtotic_equalizer_cc.h
+ digital_metric_type.h
+ digital_mpsk_receiver_cc.h
+ digital_gmskmod_bc.h
+ digital_cpmmod_bc.h
DESTINATION ${GR_INCLUDE_DIR}/gnuradio
COMPONENT "digital_devel"
)
-
-INSTALL(
- FILES
- ${CMAKE_CURRENT_SOURCE_DIR}/_digital_hier.i
- ${CMAKE_CURRENT_SOURCE_DIR}/digital_gmskmod_bc.i
- ${CMAKE_CURRENT_SOURCE_DIR}/digital_cpmmod_bc.i
- DESTINATION ${GR_INCLUDE_DIR}/gnuradio/swig
- COMPONENT "digital_swig"
-)
diff --git a/gr-digital/hier/Makefile.am b/gr-digital/include/Makefile.am
index b11b85f77..346d036ce 100644
--- a/gr-digital/hier/Makefile.am
+++ b/gr-digital/include/Makefile.am
@@ -21,20 +21,25 @@
include $(top_srcdir)/Makefile.common
-AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(WITH_INCLUDES)
-
-noinst_LTLIBRARIES = libdigital_hier.la
-
-libdigital_hier_la_SOURCES = \
- digital_gmskmod_bc.cc \
- digital_cpmmod_bc.cc
-
-grinclude_HEADERS = \
- digital_gmskmod_bc.h \
+# These headers get installed in ${prefix}/include/gnuradio
+grinclude_HEADERS = \
+ digital_api.h \
+ digital_binary_slicer_fb.h \
+ digital_clock_recovery_mm_cc.h \
+ digital_clock_recovery_mm_ff.h \
+ digital_constellation.h \
+ digital_constellation_receiver_cb.h \
+ digital_constellation_decoder_cb.h \
+ digital_correlate_access_code_bb.h \
+ digital_costas_loop_cc.h \
+ digital_cma_equalizer_cc.h \
+ digital_crc32.h \
+ digital_fll_band_edge_cc.h \
+ digital_lms_dd_equalizer_cc.h \
+ digital_kurtotic_equalizer_cc.h \
+ digital_metric_type.h \
+ digital_mpsk_receiver_cc.h \
+ digital_gmskmod_bc.h \
digital_cpmmod_bc.h
-
-swiginclude_HEADERS = \
- _digital_hier.i \
- digital_gmskmod_bc.i \
- digital_cpmmod_bc.i
+libgnuradio_digital_la_LDFLAGS = $(NO_UNDEFINED) $(LTVERSIONFLAGS)
diff --git a/gr-digital/lib/digital_api.h b/gr-digital/include/digital_api.h
index d45ace13f..d45ace13f 100644
--- a/gr-digital/lib/digital_api.h
+++ b/gr-digital/include/digital_api.h
diff --git a/gr-digital/lib/digital_binary_slicer_fb.h b/gr-digital/include/digital_binary_slicer_fb.h
index 9da776012..9da776012 100644
--- a/gr-digital/lib/digital_binary_slicer_fb.h
+++ b/gr-digital/include/digital_binary_slicer_fb.h
diff --git a/gr-digital/lib/digital_clock_recovery_mm_cc.h b/gr-digital/include/digital_clock_recovery_mm_cc.h
index e45b79229..e45b79229 100644
--- a/gr-digital/lib/digital_clock_recovery_mm_cc.h
+++ b/gr-digital/include/digital_clock_recovery_mm_cc.h
diff --git a/gr-digital/lib/digital_clock_recovery_mm_ff.h b/gr-digital/include/digital_clock_recovery_mm_ff.h
index 6f88a4dcd..6f88a4dcd 100644
--- a/gr-digital/lib/digital_clock_recovery_mm_ff.h
+++ b/gr-digital/include/digital_clock_recovery_mm_ff.h
diff --git a/gr-digital/lib/digital_cma_equalizer_cc.h b/gr-digital/include/digital_cma_equalizer_cc.h
index 69e2f657a..69e2f657a 100644
--- a/gr-digital/lib/digital_cma_equalizer_cc.h
+++ b/gr-digital/include/digital_cma_equalizer_cc.h
diff --git a/gr-digital/lib/digital_constellation.h b/gr-digital/include/digital_constellation.h
index 9b2a58588..9b2a58588 100644
--- a/gr-digital/lib/digital_constellation.h
+++ b/gr-digital/include/digital_constellation.h
diff --git a/gr-digital/lib/digital_constellation_decoder_cb.h b/gr-digital/include/digital_constellation_decoder_cb.h
index 1ce01fe12..1ce01fe12 100644
--- a/gr-digital/lib/digital_constellation_decoder_cb.h
+++ b/gr-digital/include/digital_constellation_decoder_cb.h
diff --git a/gr-digital/lib/digital_constellation_receiver_cb.h b/gr-digital/include/digital_constellation_receiver_cb.h
index d33be8958..d33be8958 100644
--- a/gr-digital/lib/digital_constellation_receiver_cb.h
+++ b/gr-digital/include/digital_constellation_receiver_cb.h
diff --git a/gr-digital/lib/digital_correlate_access_code_bb.h b/gr-digital/include/digital_correlate_access_code_bb.h
index c4cb60428..c4cb60428 100644
--- a/gr-digital/lib/digital_correlate_access_code_bb.h
+++ b/gr-digital/include/digital_correlate_access_code_bb.h
diff --git a/gr-digital/lib/digital_costas_loop_cc.h b/gr-digital/include/digital_costas_loop_cc.h
index c78726341..c78726341 100644
--- a/gr-digital/lib/digital_costas_loop_cc.h
+++ b/gr-digital/include/digital_costas_loop_cc.h
diff --git a/gr-digital/hier/digital_cpmmod_bc.h b/gr-digital/include/digital_cpmmod_bc.h
index 4e9547cd6..4e9547cd6 100644
--- a/gr-digital/hier/digital_cpmmod_bc.h
+++ b/gr-digital/include/digital_cpmmod_bc.h
diff --git a/gr-digital/lib/digital_crc32.h b/gr-digital/include/digital_crc32.h
index 852d06f49..852d06f49 100644
--- a/gr-digital/lib/digital_crc32.h
+++ b/gr-digital/include/digital_crc32.h
diff --git a/gr-digital/lib/digital_fll_band_edge_cc.h b/gr-digital/include/digital_fll_band_edge_cc.h
index 6ef8376ac..6ef8376ac 100644
--- a/gr-digital/lib/digital_fll_band_edge_cc.h
+++ b/gr-digital/include/digital_fll_band_edge_cc.h
diff --git a/gr-digital/hier/digital_gmskmod_bc.h b/gr-digital/include/digital_gmskmod_bc.h
index 33fcc6c12..33fcc6c12 100644
--- a/gr-digital/hier/digital_gmskmod_bc.h
+++ b/gr-digital/include/digital_gmskmod_bc.h
diff --git a/gr-digital/lib/digital_kurtotic_equalizer_cc.h b/gr-digital/include/digital_kurtotic_equalizer_cc.h
index c07862e11..c07862e11 100644
--- a/gr-digital/lib/digital_kurtotic_equalizer_cc.h
+++ b/gr-digital/include/digital_kurtotic_equalizer_cc.h
diff --git a/gr-digital/lib/digital_lms_dd_equalizer_cc.h b/gr-digital/include/digital_lms_dd_equalizer_cc.h
index edfa18e23..edfa18e23 100644
--- a/gr-digital/lib/digital_lms_dd_equalizer_cc.h
+++ b/gr-digital/include/digital_lms_dd_equalizer_cc.h
diff --git a/gr-digital/lib/digital_metric_type.h b/gr-digital/include/digital_metric_type.h
index 83de166f0..83de166f0 100644
--- a/gr-digital/lib/digital_metric_type.h
+++ b/gr-digital/include/digital_metric_type.h
diff --git a/gr-digital/lib/digital_mpsk_receiver_cc.h b/gr-digital/include/digital_mpsk_receiver_cc.h
index 85cd81e99..85cd81e99 100644
--- a/gr-digital/lib/digital_mpsk_receiver_cc.h
+++ b/gr-digital/include/digital_mpsk_receiver_cc.h
diff --git a/gr-digital/lib/CMakeLists.txt b/gr-digital/lib/CMakeLists.txt
index 30e1e3a40..7cd89a56f 100644
--- a/gr-digital/lib/CMakeLists.txt
+++ b/gr-digital/lib/CMakeLists.txt
@@ -46,6 +46,8 @@ LIST(APPEND gr_digital_sources
digital_lms_dd_equalizer_cc.cc
digital_kurtotic_equalizer_cc.cc
digital_mpsk_receiver_cc.cc
+ digital_gmskmod_bc.cc
+ digital_cpmmod_bc.cc
)
LIST(APPEND digital_libs
@@ -63,27 +65,3 @@ INSTALL(TARGETS gnuradio-digital
ARCHIVE DESTINATION ${GR_LIBRARY_DIR} COMPONENT "digital_devel" # .lib file
RUNTIME DESTINATION ${GR_RUNTIME_DIR} COMPONENT "digital_runtime" # .dll file
)
-
-########################################################################
-# Install header files
-########################################################################
-INSTALL(FILES
- digital_api.h
- digital_binary_slicer_fb.h
- digital_clock_recovery_mm_cc.h
- digital_clock_recovery_mm_ff.h
- digital_constellation.h
- digital_constellation_receiver_cb.h
- digital_constellation_decoder_cb.h
- digital_correlate_access_code_bb.h
- digital_costas_loop_cc.h
- digital_cma_equalizer_cc.h
- digital_crc32.h
- digital_fll_band_edge_cc.h
- digital_lms_dd_equalizer_cc.h
- digital_kurtotic_equalizer_cc.h
- digital_metric_type.h
- digital_mpsk_receiver_cc.h
- DESTINATION ${GR_INCLUDE_DIR}/gnuradio
- COMPONENT "digital_devel"
-)
diff --git a/gr-digital/lib/Makefile.am b/gr-digital/lib/Makefile.am
index ce961ef2e..17baf2101 100644
--- a/gr-digital/lib/Makefile.am
+++ b/gr-digital/lib/Makefile.am
@@ -21,26 +21,8 @@
include $(top_srcdir)/Makefile.common
-AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(PYTHON_CPPFLAGS) $(WITH_INCLUDES)
-
-# These headers get installed in ${prefix}/include/gnuradio
-grinclude_HEADERS = \
- digital_api.h \
- digital_binary_slicer_fb.h \
- digital_clock_recovery_mm_cc.h \
- digital_clock_recovery_mm_ff.h \
- digital_constellation.h \
- digital_constellation_receiver_cb.h \
- digital_constellation_decoder_cb.h \
- digital_correlate_access_code_bb.h \
- digital_costas_loop_cc.h \
- digital_cma_equalizer_cc.h \
- digital_crc32.h \
- digital_fll_band_edge_cc.h \
- digital_lms_dd_equalizer_cc.h \
- digital_kurtotic_equalizer_cc.h \
- digital_metric_type.h \
- digital_mpsk_receiver_cc.h
+AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(PYTHON_CPPFLAGS) \
+ $(GR_DIGITAL_INCLUDES) $(WITH_INCLUDES)
lib_LTLIBRARIES = libgnuradio-digital.la
@@ -58,10 +40,11 @@ libgnuradio_digital_la_SOURCES = \
digital_fll_band_edge_cc.cc \
digital_lms_dd_equalizer_cc.cc \
digital_kurtotic_equalizer_cc.cc \
- digital_mpsk_receiver_cc.cc
+ digital_mpsk_receiver_cc.cc \
+ digital_gmskmod_bc.cc \
+ digital_cpmmod_bc.cc
libgnuradio_digital_la_LIBADD = \
- $(GNURADIO_CORE_LA) \
- $(abs_top_builddir)/gr-digital/hier/libdigital_hier.la
+ $(GNURADIO_CORE_LA)
libgnuradio_digital_la_LDFLAGS = $(NO_UNDEFINED) $(LTVERSIONFLAGS)
diff --git a/gr-digital/hier/digital_cpmmod_bc.cc b/gr-digital/lib/digital_cpmmod_bc.cc
index a95b604d1..a95b604d1 100644
--- a/gr-digital/hier/digital_cpmmod_bc.cc
+++ b/gr-digital/lib/digital_cpmmod_bc.cc
diff --git a/gr-digital/hier/digital_gmskmod_bc.cc b/gr-digital/lib/digital_gmskmod_bc.cc
index e53e90037..e53e90037 100644
--- a/gr-digital/hier/digital_gmskmod_bc.cc
+++ b/gr-digital/lib/digital_gmskmod_bc.cc
diff --git a/gr-digital/python/__init__.py b/gr-digital/python/__init__.py
index 7173fa09d..0fc48cc79 100644
--- a/gr-digital/python/__init__.py
+++ b/gr-digital/python/__init__.py
@@ -28,5 +28,6 @@ from qpsk import *
from qam import *
from gmsk import *
from pkt import *
-from packet_utils import *
from crc import *
+from packet_utils import *
+from modulation_utils2 import *
diff --git a/gr-digital/python/generic_mod_demod.py b/gr-digital/python/generic_mod_demod.py
index b1986512f..dc69fc0b5 100644
--- a/gr-digital/python/generic_mod_demod.py
+++ b/gr-digital/python/generic_mod_demod.py
@@ -55,12 +55,12 @@ def add_common_options(parser):
"""
parser.add_option("-p", "--constellation-points", type="int", default=_def_constellation_points,
help="set the number of constellation points (must be a power of 2 for psk, power of 4 for QAM) [default=%default]")
- parser.add_option("", "--non-differential", action="store_true",
- dest="differential", default=False,
- help="do not use differential encoding [default=%default]")
- parser.add_option("", "--differential", action="store_false",
- dest="differential",
- help="use differential encoding [default=False]")
+ parser.add_option("", "--non-differential", action="store_false",
+ dest="differential",
+ help="do not use differential encoding [default=False]")
+ parser.add_option("", "--differential", action="store_true",
+ dest="differential", default=True,
+ help="use differential encoding [default=%default]")
parser.add_option("", "--mod-code", type="choice", choices=mod_codes.codes,
default=mod_codes.NO_CODE,
help="Select modulation code from: %s [default=%%default]"
@@ -112,7 +112,7 @@ class generic_mod(gr.hier_block2):
self._differential = differential
if self._samples_per_symbol < 2:
- raise TypeError, ("sbp must be >= 2, is %d" % self._samples_per_symbol)
+ raise TypeError, ("sbp must be >= 2, is %f" % self._samples_per_symbol)
arity = pow(2,self.bits_per_symbol())
diff --git a/gr-digital/python/pkt.py b/gr-digital/python/pkt.py
index c9b29bd51..8650bdbb0 100644
--- a/gr-digital/python/pkt.py
+++ b/gr-digital/python/pkt.py
@@ -52,18 +52,13 @@ class mod_pkts(gr.hier_block2):
@type msgq_limit: int
@param pad_for_usrp: If true, packets are padded such that they end up a multiple of 128 samples
@param use_whitener_offset: If true, start of whitener XOR string is incremented each packet
- @param modulate: If false, no modulation will be performed.
See gmsk_mod for remaining parameters
"""
- if modulate:
- output_size = gr.sizeof_gr_complex
- else:
- output_size = gr.sizeof_char
gr.hier_block2.__init__(self, "mod_pkts",
gr.io_signature(0, 0, 0), # Input signature
- gr.io_signature(1, 1, output_size)) # Output signature
+ gr.io_signature(1, 1, gr.sizeof_gr_complex)) # Output signature
self._modulator = modulator
self._pad_for_usrp = pad_for_usrp
@@ -78,10 +73,7 @@ class mod_pkts(gr.hier_block2):
# accepts messages from the outside world
self._pkt_input = gr.message_source(gr.sizeof_char, msgq_limit)
- if modulate:
- self.connect(self._pkt_input, self._modulator, self)
- else:
- self.connect(self._pkt_input, self)
+ self.connect(self._pkt_input, self._modulator, self)
def send_pkt(self, payload='', eof=False):
"""
@@ -117,15 +109,13 @@ class demod_pkts(gr.hier_block2):
app via the callback.
"""
- def __init__(self, demodulator, access_code=None, callback=None, threshold=-1, demodulate=True):
+ def __init__(self, demodulator, access_code=None, callback=None, threshold=-1):
"""
Hierarchical block for demodulating and deframing packets.
The input is the complex modulated signal at baseband.
Demodulated packets are sent to the handler.
- If demodulator is None it is assumed the input is already demodulated.
-
@param demodulator: instance of demodulator class (gr_block or hier_block2)
@type demodulator: complex baseband in
@param access_code: AKA sync vector
@@ -136,14 +126,9 @@ class demod_pkts(gr.hier_block2):
@type threshold: int
"""
- if demodulator is not None:
- input_size = gr.sizeof_gr_complex
- else:
- input_size = gr.sizeof_char
-
gr.hier_block2.__init__(self, "demod_pkts",
- gr.io_signature(1, 1, input_size), # Input signature
- gr.io_signature(0, 0, 0)) # Output signature
+ gr.io_signature(1, 1, gr.sizeof_gr_complex), # Input signature
+ gr.io_signature(0, 0, 0)) # Output signature
self._demodulator = demodulator
if access_code is None:
@@ -159,13 +144,9 @@ class demod_pkts(gr.hier_block2):
self.correlator = digital_swig.correlate_access_code_bb(access_code, threshold)
self.framer_sink = gr.framer_sink_1(self._rcvd_pktq)
- if self._demodulator is not None:
- self.connect(self, self._demodulator, self.correlator, self.framer_sink)
- else:
- self.connect(self, self.correlator, self.framer_sink)
+ self.connect(self, self._demodulator, self.correlator, self.framer_sink)
- if callback is not None:
- self._watcher = _queue_watcher_thread(self._rcvd_pktq, callback)
+ self._watcher = _queue_watcher_thread(self._rcvd_pktq, callback)
class _queue_watcher_thread(_threading.Thread):
diff --git a/gr-digital/swig/CMakeLists.txt b/gr-digital/swig/CMakeLists.txt
index 5c6477aa1..307fba248 100644
--- a/gr-digital/swig/CMakeLists.txt
+++ b/gr-digital/swig/CMakeLists.txt
@@ -30,7 +30,6 @@ SET(GR_SWIG_INCLUDE_DIRS
SET(GR_SWIG_LIBRARIES gnuradio-digital)
-GR_SWIG_MAKE(digital_hier digital_hier.i)
GR_SWIG_MAKE(digital_swig digital_swig.i)
GR_SWIG_INSTALL(
@@ -55,6 +54,8 @@ INSTALL(
digital_lms_dd_equalizer_cc.i
digital_kurtotic_equalizer_cc.i
digital_mpsk_receiver_cc.i
+ digital_gmskmod_bc.i
+ digital_cpmmod_bc.i
DESTINATION ${GR_INCLUDE_DIR}/gnuradio/swig
COMPONENT "digital_swig"
)
diff --git a/gr-digital/swig/Makefile.am b/gr-digital/swig/Makefile.am
index 6604665b0..abc24be19 100644
--- a/gr-digital/swig/Makefile.am
+++ b/gr-digital/swig/Makefile.am
@@ -42,7 +42,6 @@ noinst_GUILE = digital.test
##############################
# SWIG interface and library
TOP_SWIG_IFILES = \
- digital_hier.i \
digital_swig.i
# Install so that they end up available as:
@@ -71,10 +70,9 @@ digital_swig_swiginclude_headers = \
digital_fll_band_edge_cc.i \
digital_lms_dd_equalizer_cc.i \
digital_kurtotic_equalizer_cc.i \
- digital_mpsk_receiver_cc.i
-
-digital_hier_swig_args = \
- $(GR_DIGITAL_INCLUDES)
+ digital_mpsk_receiver_cc.i \
+ digital_gmskmod_bc.i \
+ digital_cpmmod_bc.i
digital_swig_swig_args = \
$(GR_DIGITAL_INCLUDES)
diff --git a/gr-digital/swig/Makefile.swig.gen b/gr-digital/swig/Makefile.swig.gen
index 95d6aea89..ff3eff4e9 100644
--- a/gr-digital/swig/Makefile.swig.gen
+++ b/gr-digital/swig/Makefile.swig.gen
@@ -140,150 +140,3 @@ gnuradio/digital_swig-primitive.scm: gnuradio/digital_swig.scm
-include guile/digital_swig.d
endif # end of GUILE
-
-
-# -*- Makefile -*-
-#
-# Copyright 2009,2011 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.
-#
-
-# Makefile.swig.gen for digital_hier.i
-
-## Default install locations for these files:
-##
-## Default location for the Python directory is:
-## ${prefix}/lib/python${python_version}/site-packages/[category]/digital_hier
-## Default location for the Python exec directory is:
-## ${exec_prefix}/lib/python${python_version}/site-packages/[category]/digital_hier
-##
-## The following can be overloaded to change the install location, but
-## this has to be done in the including Makefile.am -before-
-## Makefile.swig is included.
-
-digital_hier_pythondir_category ?= gnuradio/digital_hier
-digital_hier_pylibdir_category ?= $(digital_hier_pythondir_category)
-digital_hier_pythondir = $(pythondir)/$(digital_hier_pythondir_category)
-digital_hier_pylibdir = $(pyexecdir)/$(digital_hier_pylibdir_category)
-
-# The .so libraries for the guile modules get installed whereever guile
-# is installed, usually /usr/lib/guile/gnuradio/
-# FIXME: determince whether these should be installed with gnuradio.
-digital_hier_scmlibdir = $(libdir)
-
-# The scm files for the guile modules get installed where ever guile
-# is installed, usually /usr/share/guile/site/digital_hier
-# FIXME: determince whether these should be installed with gnuradio.
-digital_hier_scmdir = $(guiledir)
-
-## SWIG headers are always installed into the same directory.
-
-digital_hier_swigincludedir = $(swigincludedir)
-
-## This is a template file for a "generated" Makefile addition (in
-## this case, "Makefile.swig.gen"). By including the top-level
-## Makefile.swig, this file will be used to generate the SWIG
-## dependencies. Assign the variable TOP_SWIG_FILES to be the list of
-## SWIG .i files to generated wrappings for; there can be more than 1
-## so long as the names are unique (no sorting is done on the
-## TOP_SWIG_FILES list). This file explicitly assumes that a SWIG .i
-## file will generate .cc, .py, and possibly .h files -- meaning that
-## all of these files will have the same base name (that provided for
-## the SWIG .i file).
-##
-## This code is setup to ensure parallel MAKE ("-j" or "-jN") does the
-## right thing. For more info, see <
-## http://sources.redhat.com/automake/automake.html#Multiple-Outputs >
-
-## Other cleaned files: dependency files generated by SWIG or this Makefile
-
-MOSTLYCLEANFILES += $(DEPDIR)/*.S*
-
-## Various SWIG variables. These can be overloaded in the including
-## Makefile.am by setting the variable value there, then including
-## Makefile.swig .
-
-digital_hier_swiginclude_HEADERS = \
- digital_hier.i \
- $(digital_hier_swiginclude_headers)
-
-if PYTHON
-digital_hier_pylib_LTLIBRARIES = \
- _digital_hier.la
-
-_digital_hier_la_SOURCES = \
- python/digital_hier.cc \
- $(digital_hier_la_swig_sources)
-
-digital_hier_python_PYTHON = \
- digital_hier.py \
- $(digital_hier_python)
-
-_digital_hier_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(digital_hier_la_swig_libadd)
-
-_digital_hier_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(digital_hier_la_swig_ldflags)
-
-_digital_hier_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(digital_hier_la_swig_cxxflags)
-
-python/digital_hier.cc: digital_hier.py
-digital_hier.py: digital_hier.i
-
-# Include the python dependencies for this file
--include python/digital_hier.d
-
-endif # end of if python
-
-if GUILE
-
-digital_hier_scmlib_LTLIBRARIES = \
- libguile-gnuradio-digital_hier.la
-libguile_gnuradio_digital_hier_la_SOURCES = \
- guile/digital_hier.cc \
- $(digital_hier_la_swig_sources)
-nobase_digital_hier_scm_DATA = \
- gnuradio/digital_hier.scm \
- gnuradio/digital_hier-primitive.scm
-libguile_gnuradio_digital_hier_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(digital_hier_la_swig_libadd)
-libguile_gnuradio_digital_hier_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(digital_hier_la_swig_ldflags)
-libguile_gnuradio_digital_hier_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(digital_hier_la_swig_cxxflags)
-
-guile/digital_hier.cc: gnuradio/digital_hier.scm
-gnuradio/digital_hier.scm: digital_hier.i
-gnuradio/digital_hier-primitive.scm: gnuradio/digital_hier.scm
-
-# Include the guile dependencies for this file
--include guile/digital_hier.d
-
-endif # end of GUILE
-
-
diff --git a/gr-digital/hier/_digital_hier.i b/gr-digital/swig/_digital_hier.i
index 022e38644..022e38644 100644
--- a/gr-digital/hier/_digital_hier.i
+++ b/gr-digital/swig/_digital_hier.i
diff --git a/gr-digital/hier/digital_cpmmod_bc.i b/gr-digital/swig/digital_cpmmod_bc.i
index fa7c50da7..fa7c50da7 100644
--- a/gr-digital/hier/digital_cpmmod_bc.i
+++ b/gr-digital/swig/digital_cpmmod_bc.i
diff --git a/gr-digital/hier/digital_gmskmod_bc.i b/gr-digital/swig/digital_gmskmod_bc.i
index ad7b82237..ad7b82237 100644
--- a/gr-digital/hier/digital_gmskmod_bc.i
+++ b/gr-digital/swig/digital_gmskmod_bc.i
diff --git a/gr-digital/swig/digital_hier.i b/gr-digital/swig/digital_hier.i
deleted file mode 100644
index e004461d2..000000000
--- a/gr-digital/swig/digital_hier.i
+++ /dev/null
@@ -1,40 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2009,2010 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 this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef SWIGIMPORTED
-%module(directors="1") digital_hier
-#endif
-
- //%feature("autodoc", "1"); // generate python docstrings
-
-%include "gnuradio.i" // the common stuff
-
-%include "_digital_hier.i"
-
-#if SWIGGUILE
-%scheme %{
-(load-extension-global "libguile-gnuradio-digital_hier" "scm_init_gnuradio_digital_hier_module")
-%}
-
-%goops %{
- (use-modules (gnuradio gnuradio_core_runtime))
-%}
-#endif
diff --git a/gr-digital/swig/digital_swig.i b/gr-digital/swig/digital_swig.i
index ca50f9c50..2e3a3242e 100644
--- a/gr-digital/swig/digital_swig.i
+++ b/gr-digital/swig/digital_swig.i
@@ -38,9 +38,10 @@
#include "digital_kurtotic_equalizer_cc.h"
#include "digital_lms_dd_equalizer_cc.h"
#include "digital_mpsk_receiver_cc.h"
+#include "digital_cpmmod_bc.h"
+#include "digital_gmskmod_bc.h"
%}
-%include "digital_hier.i"
%include "digital_binary_slicer_fb.i"
%include "digital_clock_recovery_mm_cc.i"
%include "digital_clock_recovery_mm_ff.i"
@@ -55,6 +56,8 @@
%include "digital_kurtotic_equalizer_cc.i"
%include "digital_lms_dd_equalizer_cc.i"
%include "digital_mpsk_receiver_cc.i"
+%include "digital_cpmmod_bc.i"
+%include "digital_gmskmod_bc.i"
#if SWIGGUILE
%scheme %{