Hi List,
I'm writing a new module starting from the source code of
unpacked_to_packed_ss. Instead of taking the LSB from of the source, I
need to take the MSB. So, I change few lines, use the environment
provided by "how to write a new module", put in my source code, change
Makefile.am and write a new python test script (which is attached with
this mail).
My code compile clean, but the python test fails with a strange a (for
me) incomprehensible error:
======================================================================
ERROR: test_001 (__main__.qa_u_msb2p)
----------------------------------------------------------------------
Traceback (most recent call last):
File "./qa_u_msb2_p.py", line 46, in test_001
u2p = dspcola.unpacked_msb_to_packed_ss (1, gr.GR_MSB_FIRST)
File "/home/rocker/Tesi/My/SVN/dspcola/src/lib/dspcola.py", line 137,
in unpacked_msb_to_packed_ss
return _dspcola.unpacked_msb_to_packed_ss(*args)
TypeError: in method 'unpacked_msb_to_packed_ss', argument 2 of type
'gr_endianness_t'
Attached there is my python test and the Makefile.am I put in src/lib/
of the source tree.
Regards,
--
Davide Anastasia
web: http://www.davideanastasia.com/
email: [EMAIL PROTECTED]
#!/usr/bin/env python
#
# 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., 51 Franklin Street,
# Boston, MA 02110-1301, USA.
#
from gnuradio import gr, eng_notation
from gnuradio import audio
from gnuradio import usrp
from gnuradio import gr_unittest # Original
from gnuradio.eng_option import eng_option
from optparse import OptionParser
import sys
import dspcola # Original
class qa_u_msb2p (gr_unittest.TestCase):
def setUp (self):
self.fg = gr.flow_graph ()
def tearDown (self):
self.fg = None
def test_001 (self):
src_data = (-3, 4, -5, 2, 3, -1, 3, 2, -3, 4, -5, 2, 3, -1, 3, 2)
expected_result = (-9380) # or 42148
src = gr.vector_source_s(src_data)
u2p = dspcola.unpacked_msb_to_packed_ss (1, gr.GR_MSB_FIRST)
# u2p = gr.unpacked_to_packed_ss (1, gr.GR_MSB_FIRST)
dst = gr.vector_sink_s()
self.fg.connect (src, u2p)
self.fg.connect (u2p, dst)
self.fg.run ()
result_data = dst.data()
self.assertShortTuplesAlmostEqual(expected_result, result_data, 1)
if __name__ == '__main__':
gr_unittest.main ()
#
# Copyright 2004,2005,2006 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., 51 Franklin Street,
# Boston, MA 02110-1301, USA.
#
include $(top_srcdir)/Makefile.common
# Install this stuff so that it ends up as the gnuradio.howto module
# This usually ends up at:
# ${prefix}/lib/python${python_version}/site-packages/gnuradio
ourpythondir = $(grpythondir)
ourlibdir = $(grpyexecdir)
INCLUDES = $(STD_DEFINES_AND_INCLUDES) $(PYTHON_CPPFLAGS)
SWIGPYTHONARGS = $(SWIGPYTHONFLAGS) $(SWIGGRFLAGS)
ALL_IFILES = \
$(LOCAL_IFILES) \
$(NON_LOCAL_IFILES)
NON_LOCAL_IFILES = \
$(GNURADIO_CORE_INCLUDEDIR)/swig/gnuradio.i
LOCAL_IFILES = \
$(top_srcdir)/src/lib/howto.i
# These files are built by SWIG. The first is the C++ glue.
# The second is the python wrapper that loads the _howto shared library
# and knows how to call our extensions.
BUILT_SOURCES = \
howto.cc \
howto.py
# This gets howto.py installed in the right place
ourpython_PYTHON = \
howto.py
ourlib_LTLIBRARIES = _howto.la
# These are the source files that go into the shared library
_howto_la_SOURCES = \
howto.cc \
howto_square_ff.cc \
howto_square2_ff.cc
# magic flags
_howto_la_LDFLAGS = $(NO_UNDEFINED) -module -avoid-version
# link the library against some comon swig runtime code and the
# c++ standard library
_howto_la_LIBADD = \
$(PYTHON_LDFLAGS) \
-lstdc++
howto.cc howto.py: $(LOCAL_IFILES) $(ALL_IFILES)
$(SWIG) $(SWIGPYTHONARGS) -module howto -o howto.cc $(LOCAL_IFILES)
# These headers get installed in ${prefix}/include/gnuradio
grinclude_HEADERS = \
howto_square_ff.h \
howto_square2_ff.h
# These swig headers get installed in ${prefix}/include/gnuradio/swig
swiginclude_HEADERS = \
$(LOCAL_IFILES)
MOSTLYCLEANFILES = $(BUILT_SOURCES) *.pyc
# Don't distribute output of swig
dist-hook:
@for file in $(BUILT_SOURCES); do echo $(RM) $(distdir)/$$file; done
@for file in $(BUILT_SOURCES); do $(RM) $(distdir)/$$file; done
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio