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