Hi all,

In my first post from today, where I reported error in gr_modtool, I was
using script downloaded from github this morning (just to clarifu how old
scriot I used).
Basically I am trying to make my own packet deframer block, and they are
more or less designed like that. This block was designed just to see how
messages work. In GRC when I connect them in that way it works, but in test
script above it doesn't work.
Basically the problem comes from making similar block like packet deframer,
but I am not able to import gr.block, or gr.basic_block in python (and
gr.hier_block2 works perfectly)

Cheers


On Mon, Jan 28, 2013 at 5:05 PM, Martin Braun (CEL) <martin.br...@kit.edu>wrote:

> - Try the latest gr_modtool from github
> - What you're doing seems weird--why are you connecting message blocks?
>   These are meant as a hackish solution to access samples from outside
>   the flow graph. Perhaps you want the new PDU to stream blocks?
>
> MB
>
> On Mon, Jan 28, 2013 at 04:42:04PM +0100, Nemanja Savic wrote:
> > Since I don't know why gr_modtool doesn't work for me, I took the older
> working
> > version and made very simple hier block in order to understand messages
> flow in
> > gnuradio.
> >
> > The block code is following:
> >
> >
> >     from gnuradio import gr
> >
> >     class msg_proba(gr.hier_block2):
> >         def __init__(self, ):
> >             gr.hier_block2.__init__(self, "msg_proba",
> >                     gr.io_signature(1, 1, gr.sizeof_char),  # Input
> signature
> >                     gr.io_signature(1, 1, gr.sizeof_char)) # Output
> signature
> >
> >             gr_message_sink_0_msgq_out = gr_message_source_0_msgq_in =
> >     gr.msg_queue(4)
> >
> >             self.gr_message_source_0 =
> gr.message_source(gr.sizeof_char*1,
> >     gr_message_source_0_msgq_in)
> >             self.gr_message_sink_0 = gr.message_sink(gr.sizeof_char*1,
> >     gr_message_sink_0_msgq_out, False)
> >
> >             self.connect(self, self.gr_message_sink_0)
> >             self.connect(self.gr_message_source_0, self)
> >
> >
> >
> > and the test code is following:
> >
> >
> >
> >     from gnuradio import gr, gr_unittest
> >     import test
> >     import msg_proba
> >
> >     class qa_msg_proba (gr_unittest.TestCase):
> >
> >         def setUp (self):
> >             self.tb = gr.top_block ()
> >
> >         def tearDown (self):
> >             self.tb = None
> >
> >         def test_001_msg_proba (self):
> >
> >             self.src_data = ()
> >             self.expected_result = ()
> >
> >             for i in range(51):
> >               self.src_data = self.src_data + (1,)
> >               self.expected_result = self.expected_result+(1,)
> >
> >             self.src = gr.vector_source_b(self.src_data, False, 1)
> >             self.dst = gr.vector_sink_b ()
> >
> >             self.msg_pr = msg_proba.msg_proba()
> >
> >             self.tb.connect(self.src, self.msg_pr, self.dst)
> >
> >             self.tb.run ()
> >             # check data
> >             result_data = dst.data ()
> >             self.assertEqual (expected_result, result_data)
> >
> >     if __name__ == '__main__':
> >         gr_unittest.main ()
> >
> >
> > When I run test, it doesn't finish. No errors, just stays active without
> giving
> > any results.
> >
> > Can somebody provide some explanation?
> >
> >
> >
> >
> > On Mon, Jan 28, 2013 at 10:28 AM, Nemanja Savic <vlasi...@gmail.com>
> wrote:
> >
> >
> >     I installed new version of gr_modtool script and it won't work. The
> error
> >     is following:
> >
> >     [savi_ne@ts-070046nl gr-test]$ gr_modtool.py add -N rx_tx_message
> -t hier
> >     -l python
> >     Using Python < 2.7 possibly buggy. Ahem. Please send all complaints
> to /dev
> >     /null.
> >     Operating in directory .
> >     GNU Radio module name identified: test
> >     Language: Python
> >     Block/code identifier: rx_tx_message
> >     Enter valid argument list, including default arguments:
> >     Add Python QA code? [Y/n] n
> >     Traversing python...
> >     Adding file 'rx_tx_message.py'...
> >
> >
> >     Traceback (most recent call last):
> >
> >       File "/usr/local/bin/gr_modtool.py", line 3369, in <module>
> >         main()
> >       File "/usr/local/bin/gr_modtool.py", line 3362, in main
> >         modtool.run()
> >       File "/usr/local/bin/gr_modtool.py", line 1339, in run
> >         self._run_python()
> >       File "/usr/local/bin/gr_modtool.py", line 1479, in _run_python
> >         self._write_tpl('block_python', 'python', fname_py)
> >       File "/usr/local/bin/gr_modtool.py", line 1324, in _write_tpl
> >         open(os.path.join(path, fname), 'w').write(get_template(tpl,
> >     **self._info))
> >       File "/usr/local/bin/gr_modtool.py", line 870, in get_template
> >         return str(GRMTemplate(Templates[tpl_id], searchList=kwargs))
> >       File "/usr/local/bin/gr_modtool.py", line 865, in __init__
> >         Cheetah.Template.Template.__init__(self, src,
> searchList=searchList)
> >       File "/usr/lib64/python2.6/site-packages/Cheetah/Template.py",
> line 1257,
> >     in __init__
> >         self._compile(source, file, compilerSettings=compilerSettings)
> >       File "/usr/lib64/python2.6/site-packages/Cheetah/Template.py",
> line 1551,
> >     in _compile
> >         keepRefToGeneratedCode=True)
> >       File "/usr/lib64/python2.6/site-packages/Cheetah/Template.py",
> line 795,
> >     in compile
> >         raise parseError
> >     Cheetah.Parser.ParseError:
> >
> >     Error in the Python code which Cheetah generated for this template:
> >
> ===========================================================================
> >     =====
> >
> >     expected an indented block (DynamicallyCompiledCheetahTemplate.py,
> line
> >     122)
> >
> >     Line|Python Code
> >     ----|-------------------------------------------------------------
> >     120 |            deciminterp = ''
> >     121 |        else: # generated from line 42, col 1
> >     122 |        write(u'''from gnuradio import gr
> >                     ^
> >     123 |class ''')
> >     124 |        _v = VFFSL(SL,"blockname",True) # u'${blockname}' on
> line 46,
> >     col 7
> >     125 |        if _v is not None: write(_filter(_v,
> rawExpr=u'${blockname}'))
> >     # from line 46, col 7.
> >
> >
> ===========================================================================
> >     =====
> >
> >     Here is the corresponding Cheetah code.
> >     ** I had to guess the line & column numbers, so they are probably
> >     incorrect:
> >
> >     Line 42, column 1
> >
> >     Line|Cheetah Code
> >     ----|-------------------------------------------------------------
> >     39  |#else if $blocktype == 'decimator'
> >     40  |#set $deciminterp = ', <+decimation+>'
> >     41  |#set $deciminterp = ''
> >     42  |#else
> >          ^
> >     43  |#end if
> >     44  |from gnuradio import gr
> >     45  |
> >
> >
> >     Any suggestions how to ovecome this except using older version which
> worked
> >     perfectly?
> >
> >
> >
> >     On Fri, Jan 25, 2013 at 9:22 PM, Nemanja Savic <vlasi...@gmail.com>
> wrote:
> >
> >
> >         Thank you Martin, I will try that on Monday.
> >
> >         I suppose that I have older version of gr_modtool, cause there
> is no
> >         option -l for selecting language.
> >
> >         My weekend would be maybe perfect If you or anybody else can
> explain to
> >         me why my code won't work, cause I  have more or less copied
> block
> >         structure from grextras.
> >
> >
> >         Nice weekend
> >
> >         Nemanja
> >
> >
> >
> >         On Fri, Jan 25, 2013 at 5:18 PM, Martin Braun (CEL) <
> >         martin.br...@kit.edu> wrote:
> >
> >             For a hier block in Python, do
> >
> >             $ gr_modtool.py add -t hier -l python
> >
> >             You need 3.6.3 to do that.
> >
> >             Also, you'll need a new version of modtool (it usually lags
> a bit
> >             behind
> >             changes in GNU Radio).
> >
> >             MB
> >
> >
> >
> >             On Fri, Jan 25, 2013 at 05:05:56PM +0100, Nemanja Savic
> wrote:
> >             > Hi all,
> >             >
> >             >
> >             > today i was trying to make hierarchical signal processing
> block
> >             in Python. I
> >             > started with gr_modtool script, and configured it for
> hierpython
> >             block type.
> >             >
> >             >
> >             > My idea was to design block similar to packet framer, so
> inside
> >             of the new
> >             > block, I connected binary slicer and Framer sink. I have
> also
> >             declared message
> >             > queue.
> >             >
> >             >
> >             > Outside of main block, I designed another block which
> should
> >             collect messages
> >             > sent by framer from the main block.
> >             >
> >             >
> >             > When I wanted to run this block, I got following error:
> >             >
> >             >
> >             >
> >             > Traceback (most recent call last):
> >             >   File "/home/savi_ne/work/gnuradio/GRC/top_block.py",
> line 439,
> >             in <module>
> >             >     tb = top_block()
> >             >   File "/home/savi_ne/work/gnuradio/GRC/top_block.py",
> line 183,
> >             in __init__
> >             >     self.test_packet_proba_0 = test.packet_proba()
> >             > AttributeError: 'module' object has no attribute
> 'packet_proba'
> >             >
> >             >
> >             >
> >             > Next I found that maybe I have to put following line in
> >             __init__.py file:
> >             >
> >             > from packet_proba import *
> >             >
> >             >
> >             > After that I got similar error:
> >             >
> >             > Traceback (most recent call last):
> >             >   File "/home/savi_ne/work/gnuradio/GRC/top_block.py",
> line 18,
> >             in <module>
> >             >     import test
> >             >   File "/usr/local/lib64/python2.6/site-packages/test/
> >             __init__.py", line 49, in
> >             > <module>
> >             >     from packet_proba import *
> >             >   File "/usr/local/lib64/python2.6/site-packages/test/
> >             packet_proba.py", line
> >             > 51, in <module>
> >             >     class proba(gr.basic_block):
> >             > AttributeError: 'module' object has no attribute
> 'basic_block'
> >             >
> >             >
> >             > I have also tried with gr.block instead of gr.basic_block,
> but
> >             with identical
> >             > results.
> >             >
> >             >
> >             > Can anybody tell what's missing?
> >             >
> >             >
> >             > Thanks
> >             >
> >             >
> >             > --
> >             > Nemanja Savić
> >             >
> >
> >
> >             > _______________________________________________
> >             > Discuss-gnuradio mailing list
> >             > Discuss-gnuradio@gnu.org
> >             > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> >
> >
> >             --
> >             Karlsruhe Institute of Technology (KIT)
> >             Communications Engineering Lab (CEL)
> >
> >             Dipl.-Ing. Martin Braun
> >             Research Associate
> >
> >             Kaiserstraße 12
> >             Building 05.01
> >             76131 Karlsruhe
> >
> >             Phone: +49 721 608-43790
> >             Fax: +49 721 608-46071
> >             www.cel.kit.edu
> >
> >             KIT -- University of the State of Baden-Württemberg and
> >             National Laboratory of the Helmholtz Association
> >
> >             _______________________________________________
> >             Discuss-gnuradio mailing list
> >             Discuss-gnuradio@gnu.org
> >             https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> >
> >
> >
> >
> >
> >         --
> >
> >         Nemanja Savić
> >
> >
> >
> >
> >     --
> >     Nemanja Savić
> >
> >
> >
> >
> > --
> > Nemanja Savić
> >
>
> > _______________________________________________
> > Discuss-gnuradio mailing list
> > Discuss-gnuradio@gnu.org
> > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
> --
> Karlsruhe Institute of Technology (KIT)
> Communications Engineering Lab (CEL)
>
> Dipl.-Ing. Martin Braun
> Research Associate
>
> Kaiserstraße 12
> Building 05.01
> 76131 Karlsruhe
>
> Phone: +49 721 608-43790
> Fax: +49 721 608-46071
> www.cel.kit.edu
>
> KIT -- University of the State of Baden-Württemberg and
> National Laboratory of the Helmholtz Association
>
> _______________________________________________
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>


-- 
Nemanja Savić
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to