I don't think I'm writing the work function... def work(self, input_items, output_items): item_index = 1 #which output item gets the tag? offset = self.nitems_written(0) + item_index key = pmt.pmt_string_to_symbol("example_key") value = pmt.pmt_string_to_symbol("example_value")
self.add_item_tag(0, offset, key, value) #call work function self.work(self.gr_vector_source_x_0, self.gr_file_sink_0) Error: AttributeError: 'gr_top_block_sptr' object has no attribute 'nitems_written' On Fri, Jul 13, 2012 at 3:25 PM, Josh Blum <j...@ettus.com> wrote: > > > On 07/13/2012 12:08 PM, Anisha Gorur wrote: > > Thanks for the examples, I will definitely be looking into them! > > As for links, This one: http://gnuradio.org/cgit/jblum.git/log/?h=nextis > > broken, it comes from one of the blocks coding guide here: > > > http://gnuradio.org/redmine/projects/gnuradio/wiki/BlocksCodingGuide/diff/2which > > i found really helpful. > > > > There was a lot of work in various branches off of gnuradio which I had > merged into next. That branch is gone, and that work has been combined > into the GrExtras project. The link and relevant coding guide was > moved/updated: https://github.com/guruofquality/grextras/wiki > > > I also had one more quick question, I'm getting this error: > > 'gr_top_block_sptr' object has no attribute 'add_item_tag', though I > > thought add_item_tag was inherited from gr_block. > > Thanks again! > > > > Not sure, you might send a code snippet. It looks like you are calling a > method of the top block, and not from the block's work function? > > -josh > > > On Fri, Jul 13, 2012 at 2:40 PM, Josh Blum <j...@ettus.com> wrote: > > > >> > >> > >> On 07/13/2012 10:08 AM, Anisha Gorur wrote: > >>> Thanks! > >>> Do you by any chance have links to specific code examples that could > help > >>> out? I've been trying to look at old examples you have posted to others > >> on > >>> this forum, however, some of the links from github seem to be broken. > >>> > >> > >> Well, I dont have an example from python, but its just the same thing > >> without semicolons. So this should be very helpful: > >> http://gnuradio.org/cgit/gnuradio.git/tree/gr-uhd/examples/c++/ > >> > >> Let me know if the links are bad on one of my wiki pages. > >> At least I can fix those :-) > >> > >> -josh > >> > >>> On Fri, Jul 13, 2012 at 12:52 PM, Josh Blum <j...@ettus.com> wrote: > >>> > >>>> > >>>> > >>>> On 07/13/2012 08:51 AM, Anisha Gorur wrote: > >>>>> Hello all, > >>>>> I've been trying to work with stream tags in python, mainly using the > >>>>> grextras blocks coding guide > >>>>> here:https://github.com/guruofquality/grextras/wiki/Blo... > >>>>> < > >>>> > >> > https://github.com/guruofquality/grextras/wiki/Blocks-Coding-Guide#wiki-the-work-function > >>>>> . > >>>>> > >>>>> I've set up a very simple flow graph, just a vector source, throttle > >> and > >>>>> file sink, and I would like to place a tag on the first element of > the > >>>>> vector that contains time metadata. I'm using this code: > >>>>> > >>>>> def work(self, input_items, output_items): > >>>>> item_index = ? #which output item gets the tag? > >>>> > >>>> set item_index to x so the tag gets associated with > outputs_items[0][x] > >>>> > >>>>> offset = self.nitems_written(0) + item_index > >>>>> key = pmt.pmt_string_to_symbol("example_key") > >>>>> value = pmt.pmt_string_to_symbol("example_value") > >>>>> > >>>>> #write at tag to output port 0 with given absolute item offset > >>>>> self.add_item_tag(0, offset, key, value) > >>>>> > >>>>> I think the problem has something to do with not implementing the > >>>>> correct modules. My question is, what are the appropriate modules to > >>>>> import to read and write stream tags in python? > >>>>> > >>>> > >>>> You might want to look more that that coding guide, at lot of the > >>>> snippets are just work functions, but many contain full class > >>>> definitions with import statements. For example: > >>>> > >>>> from gnuradio import gr > >>>> import gnuradio.extras > >>>> > >>>> class my_sync_block(gr.block): > >>>> > >>>> def __init__(self, args): > >>>> gr.block.__init__(self, name="my block", in_sig=[numpy.int32], > >>>> out_sig=[numpy.int32]) > >>>> > >>>> def work(self, input_items, output_items): > >>>> #work stuff... > >>>> return len(output_items[0]) > >>>> > >>>> -josh > >>>> > >>>> _______________________________________________ > >>>> Discuss-gnuradio mailing list > >>>> Discuss-gnuradio@gnu.org > >>>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > >>>> > >>> > >>> > >>> > >> > >> > > > > > > -- Anisha Gorur Class of 2012 Electrical Engineering
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio