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
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to