On Tue, Jan 29, 2013 at 7:00 AM, Nemanja Savic <vlasi...@gmail.com> wrote:

> Guys,
>
> i am not able to load gr.basic_block and make signal processing block in
> Python. Simplu, there is no binding within gnuradio/gr for that class.
> It works perfectly for gr.hier)block2 class.
> What might be the problem?
>
> Thanks
>

I'm not sure what you mean by "load gr.basic_block." Do you mean inherit
from?

For signal processing endpoints, you want to use either gr_block,
gr_sync_block, gr_sync_decimator or gr_sync_interpolator.

Tom




> On Tue, Jan 29, 2013 at 12:57 PM, Nemanja Savic <vlasi...@gmail.com>wrote:
>
>> Hi Martin,
>>
>> here is the error I got when trying to use new version of gr_modtool:
>>
>> [savi_ne@ts-070046nl 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 <vlasi...@gmail.com>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) <
>>> 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ć
>>>
>>
>>
>>
>> --
>> Nemanja Savić
>>
>
>
>
> --
> Nemanja Savić
>
> _______________________________________________
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to