[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] gr-error-correcting-codes/src/python Makefile.a...
From: |
Michael Dickens |
Subject: |
[Commit-gnuradio] gr-error-correcting-codes/src/python Makefile.a... |
Date: |
Mon, 03 Jul 2006 02:11:59 +0000 |
CVSROOT: /sources/gnuradio
Module name: gr-error-correcting-codes
Changes by: Michael Dickens <michaelld> 06/07/03 02:11:59
Added files:
src/python : Makefile.am qa_test_coding_1.py
qa_test_coding_2.py run_tests
Log message:
Initial checkin. Work in progress. More QA code coming.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gr-error-correcting-codes/src/python/Makefile.am?cvsroot=gnuradio&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/gr-error-correcting-codes/src/python/qa_test_coding_1.py?cvsroot=gnuradio&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/gr-error-correcting-codes/src/python/qa_test_coding_2.py?cvsroot=gnuradio&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/gr-error-correcting-codes/src/python/run_tests?cvsroot=gnuradio&rev=1.1
Patches:
Index: Makefile.am
===================================================================
RCS file: Makefile.am
diff -N Makefile.am
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ Makefile.am 3 Jul 2006 02:11:59 -0000 1.1
@@ -0,0 +1,34 @@
+#
+# Copyright 2004 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 2, 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., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+include $(top_srcdir)/Makefile.common
+
+EXTRA_DIST = run_tests.in
+
+TESTS = run_tests
+
+noinst_PYTHON = qa_test_coding_1.py qa_test_coding_2.py
+
+grpython_PYTHON =
+
+MOSTLYCLEANFILES = *.pyc *~
+
+CONFIG_CLEAN_FILES = *.in
Index: qa_test_coding_1.py
===================================================================
RCS file: qa_test_coding_1.py
diff -N qa_test_coding_1.py
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ qa_test_coding_1.py 3 Jul 2006 02:11:59 -0000 1.1
@@ -0,0 +1,95 @@
+#!/usr/bin/env python
+#
+# Copyright 2004,2005 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 2, 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., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+from gnuradio import gr
+from gnuradio import audio
+from gnuradio.eng_option import eng_option
+from optparse import OptionParser
+from und import error-correcting-codes
+
+class my_graph(gr.flow_graph):
+
+ def __init__(self):
+ gr.flow_graph.__init__(self)
+
+ parser = OptionParser(option_class=eng_option)
+ parser.add_option("-O", "--audio-output", type="string", default="",
+ help="pcm output device name. E.g., hw:0,0 or
/dev/dsp")
+ parser.add_option("-r", "--sample-rate", type="eng_float",
default=48000,
+ help="set sample rate to RATE (48000)")
+ (options, args) = parser.parse_args ()
+ if len(args) != 0:
+ parser.print_help()
+ raise SystemExit, 1
+
+ sample_rate = 44100 # int(options.sample_rate)
+ audio_option = "2" # options.audio_output
+ src = audio.source (sample_rate, audio_option)
+ src_out_chan = src.output_signature().max_streams()
+ dst = audio.sink (sample_rate, str(src_out_chan))
+ dst_in_chan = dst.input_signature().max_streams()
+ audio_el_size = src.output_signature().sizeof_stream_item(1)
+ frame_size = 1000
+ do_mux_outputs = 0
+ enc_code_in_chan = src_out_chan
+ code_generators = [05, 06] #, 03, 04] # , 0, 07]
+ enc_code_out_chan = len (code_generators) / enc_code_in_chan
+ do_termination = 1
+
+ if do_mux_outputs == 1:
+ enc_dec_chan = 1
+ else:
+ enc_dec_chan = enc_code_out_chan
+
+ ss_enc = error-correcting-codes.streams_encode_convolutional
(audio_el_size,
+ frame_size,
+ do_termination,
+ do_mux_outputs,
+ enc_code_in_chan,
+ enc_code_out_chan,
+ code_generators)
+# for now
+ ss2s = gr.streams_to_stream (1, enc_dec_chan);
+ ns = gr.null_sink (1);
+# end for now
+
+# ss_dec = error-correcting-codes.frames_to_streams (audio_el_size, 1,
1000)
+
+ for i in range (src_out_chan):
+ self.connect ((src, i), (ss_enc, i))
+# for now
+ for i in range (enc_dec_chan):
+ self.connect ((ss_enc, i), (ss2s, i))
+ self.connect (ss2s, ns)
+# end for now
+
+# for i in range (enc_dec_chan):
+# self.connect ((ss_enc, i), (ss_dec, i))
+
+# for i in range (dst_in_chan):
+# self.connect ((ss_dec, i), (dst, i))
+
+if __name__ == '__main__':
+ try:
+ my_graph().run()
+ except KeyboardInterrupt:
+ pass
Index: qa_test_coding_2.py
===================================================================
RCS file: qa_test_coding_2.py
diff -N qa_test_coding_2.py
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ qa_test_coding_2.py 3 Jul 2006 02:11:59 -0000 1.1
@@ -0,0 +1,90 @@
+#!/usr/bin/env python
+#
+# Copyright 2004,2005 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 2, 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., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+from gnuradio import gr
+from gnuradio import audio
+from gnuradio.eng_option import eng_option
+from optparse import OptionParser
+from und import error-correcting-codes
+
+class my_graph(gr.flow_graph):
+
+ def __init__(self):
+ gr.flow_graph.__init__(self)
+
+ parser = OptionParser(option_class=eng_option)
+ parser.add_option("-O", "--audio-output", type="string", default="",
+ help="pcm output device name. E.g., hw:0,0 or
/dev/dsp")
+ parser.add_option("-r", "--sample-rate", type="eng_float",
default=48000,
+ help="set sample rate to RATE (48000)")
+ (options, args) = parser.parse_args ()
+ if len(args) != 0:
+ parser.print_help()
+ raise SystemExit, 1
+
+ sample_rate = 44100 # int(options.sample_rate)
+ audio_option = "2" # options.audio_output
+ src = audio.source (sample_rate, audio_option)
+ enc_chan_in = 2
+ src_out_chan = src.output_signature().max_streams()
+ dst = audio.sink (sample_rate, str(enc_chan_in))
+ dst_in_chan = dst.input_signature().max_streams()
+ audio_el_size = dst.input_signature().sizeof_stream_item(0)
+ frame_size = 10
+ enc_code_in_chan = enc_chan_in
+ code_generators = [05, 06] #, 03, 04] #, 0, 07]
+ enc_code_out_chan = len (code_generators) / enc_code_in_chan
+ do_termination = 1
+
+ ss_enc = error-correcting-codes.streams_encode_convolutional
(frame_size,
+ enc_code_in_chan,
+ enc_code_out_chan,
+ code_generators,
+ do_termination)
+
+ for i in range (src_out_chan):
+ p2up = gr.packed_to_unpacked_bb (1, 1)
+ self.connect ((src, i), p2up, (ss_enc, i))
+
+ tau_bits = 0 # 0 -> decode all first
+ ss_dec = error-correcting-codes.dec_blk_conv_soft_full (audio_el_size,
+ frame_size,
+ do_termination,
+ do_mux_outputs,
+ enc_code_in_chan,
+ enc_code_out_chan,
+ code_generators)
+ up2bf0 = gr.chunks_to_symbols_bf ([1.0, -1.0])
+ self.connect ((ss_enc, 0), p2up0, up2bf0, (ss_dec, 0))
+ if enc_dec_chan > 1:
+ p2up1 = gr.packed_to_unpacked_bb (1, 1)
+ up2bf1 = gr.chunks_to_symbols_bf ([1.0, -1.0])
+ self.connect ((ss_enc, 1), p2up1, up2bf1, (ss_dec, 1))
+
+ for i in range (dst_in_chan):
+ self.connect ((ss_dec, i), (dst, i))
+
+if __name__ == '__main__':
+ try:
+ my_graph().run()
+ except KeyboardInterrupt:
+ pass
Index: run_tests
===================================================================
RCS file: run_tests
diff -N run_tests
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ run_tests 3 Jul 2006 02:11:59 -0000 1.1
@@ -0,0 +1,50 @@
+#!/bin/sh
+
+# All this strange PYTHONPATH manipulation is required to run our
+# tests using our just built shared library and swig-generated python
+# code prior to installation.
+
+# build tree == src tree unless you're doing a VPATH build.
+# If you don't know what a VPATH build is, you're not doing one. Relax...
+
+prefix=/Users/mlk/GNURadio/local/Darwin8-ppc7450
+exec_prefix=${prefix}
+
+# Where to look in the build tree for our shared library
+libbld=/Users/mlk/GNURadio/gr-build/gr-error-correcting-codes/src/python/../.././src
+# Where to look in the src tree for swig generated python code
+libsrc=/Users/mlk/GNURadio/gr-build/gr-error-correcting-codes/src/python/../../src
+# Where to look in the src tree for hand written python code
+py=/Users/mlk/GNURadio/gr-build/gr-error-correcting-codes/src/python/../../src
+
+# Where to look for installed GNU Radio python modules
+# FIXME this is wrong on a distcheck. We really need to ask gnuradio-core
+# where it put its python files.
+installed_pythondir=${prefix}/lib/python2.4/site-packages
+installed_pyexecdir=${exec_prefix}/lib/python2.4/site-packages
+
+PYTHONPATH="$libbld:$libbld/.libs:$libsrc:$py:$installed_pythondir:$installed_pyexecdir:$PYTHONPATH"
+#PYTHONPATH="$libbld:$libbld/.libs:$libsrc:$py:$installed_pythondir:$installed_pyexecdir"
+
+export PYTHONPATH
+
+#
+# This is the simple part...
+# Run everything that matches qa_*.py and return the final result.
+#
+
+ok=yes
+for file in ./qa_*.py
+do
+ if ! $file
+ then
+ ok=no
+ fi
+done
+
+if [ $ok = yes ]
+then
+ exit 0
+else
+ exit 1
+fi
- [Commit-gnuradio] gr-error-correcting-codes/src/python Makefile.a...,
Michael Dickens <=