summaryrefslogtreecommitdiff
path: root/gnuradio-core/src/python/gnuradio/modulation_utils2.py
diff options
context:
space:
mode:
authorTom Rondeau <trondeau@vt.edu>2011-04-08 15:37:53 -0400
committerTom Rondeau <trondeau@vt.edu>2011-04-08 15:37:53 -0400
commit73a22b09349a1645d74701941e82215f390d71bb (patch)
tree96df6fcce3ee4472ee1cf0021611100878adb196 /gnuradio-core/src/python/gnuradio/modulation_utils2.py
parent20678e6dc1c2812a6b9abc3a8bf47f368a602f0d (diff)
parent21b64f070a3eb38ab044529a6ddd9cd6b6d0a2cb (diff)
Merge branch 'constell_obj' into 8psk
Diffstat (limited to 'gnuradio-core/src/python/gnuradio/modulation_utils2.py')
-rw-r--r--gnuradio-core/src/python/gnuradio/modulation_utils2.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/gnuradio-core/src/python/gnuradio/modulation_utils2.py b/gnuradio-core/src/python/gnuradio/modulation_utils2.py
index c5dba3e791..f30055f4ac 100644
--- a/gnuradio-core/src/python/gnuradio/modulation_utils2.py
+++ b/gnuradio-core/src/python/gnuradio/modulation_utils2.py
@@ -47,6 +47,15 @@ def type_1_demods():
def add_type_1_demod(name, demod_class):
_type_1_demodulators[name] = demod_class
+# Also record the constellation making functions of the modulations
+_type_1_constellations = {}
+
+def type_1_constellations():
+ return _type_1_constellations
+
+def add_type_1_constellation(name, constellation):
+ _type_1_constellations[name] = constellation
+
def extract_kwargs_from_options(function, excluded_args, options):
"""
@@ -79,3 +88,14 @@ def extract_kwargs_from_options(function, excluded_args, options):
if getattr(options, kw) is not None:
d[kw] = getattr(options, kw)
return d
+
+def extract_kwargs_from_options_for_class(cls, options):
+ """
+ Given command line options, create dictionary suitable for passing to __init__
+ """
+ d = extract_kwargs_from_options(
+ cls.__init__, ('self',), options)
+ for base in cls.__bases__:
+ if hasattr(base, 'extract_kwargs_from_options'):
+ d.update(base.extract_kwargs_from_options(options))
+ return d