discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Problem loading Python block


From: Nemanja Savic
Subject: Re: [Discuss-gnuradio] Problem loading Python block
Date: Wed, 30 Jan 2013 13:23:19 +0100

Today I have tried again, but this time i used block as is designed by gr_modtool. It wont wen throught test, bu it reports:

AttributeError: 'module' object has no attribute 'sync_block'

It is becoming horror.


On Tue, Jan 29, 2013 at 4:51 PM, Nemanja Savic <address@hidden> wrote:
Thank you Martin, it works now. The problem is even with the new script I am not able to make bloc of gr.block class in python.


On Tue, Jan 29, 2013 at 2:24 PM, Martin Braun (CEL) <address@hidden> wrote:
Oh, you're using the compiled version.
Should be fixed.

Note that I'm not really doing much to gr-modtool as it'll be part of
GNU Radio in 3.6.4.

MB

On Tue, Jan 29, 2013 at 12:57:05PM +0100, Nemanja Savic wrote:
> Hi Martin,
>
>
> here is the error I got when trying to use new version of gr_modtool:
>
> address@hidden Desktop]$ gr_modtool.py help
> Using Python < 2.7 possibly buggy. Ahem. Please send all complaints to /dev/
> null.
> Traceback (most recent call last):
>   File "/usr/local/bin/gr_modtool.py", line 2665, in <module>
>     main()
>   File "/usr/local/bin/gr_modtool.py", line 2656, in main
>     modtool = cmd_dict[command]()
>   File "/usr/local/bin/gr_modtool.py", line 2629, in __init__
>     ModTool.__init__(self)
>   File "/usr/local/bin/gr_modtool.py", line 282, in __init__
>     self.parser = self.setup_parser()
>   File "/usr/local/bin/gr_modtool.py", line 290, in setup_parser
>     parser = OptionParser(usage=Templates['usage'], add_help_option=False)
> NameError: global name 'Templates' is not defined
>
>
>
>
> On Mon, Jan 28, 2013 at 10:14 PM, Nemanja Savic <address@hidden> wrote:
>
>
>     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) <address@hidden>
>     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 = "" 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 <address@hidden>
>         wrote:
>         >
>         >
>         >     I installed new version of gr_modtool script and it won't work.
>         The error
>         >     is following:
>         >
>         >     address@hidden 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 <
>         address@hidden> 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) <
>         >         address@hidden> 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
>         >             > address@hidden
>         >             > 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
>         >             address@hidden
>         >             https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>         >
>         >
>         >
>         >
>         >
>         >         --
>         >
>         >         Nemanja Savić
>         >
>         >
>         >
>         >
>         >     --
>         >     Nemanja Savić
>         >
>         >
>         >
>         >
>         > --
>         > Nemanja Savić
>         >
>
>         > _______________________________________________
>         > Discuss-gnuradio mailing list
>         > address@hidden
>         > 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
>         address@hidden
>         https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
>
>
>
>     --
>     Nemanja Savić
>
>
>
>
> --
> Nemanja Savić
>

--
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



--
Nemanja Savić



--
Nemanja Savić

reply via email to

[Prev in Thread] Current Thread [Next in Thread]