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