Call get_tags_in_range in sink block

Hello List,

I call the ‘get_tags_in_range’ function in ‘work’ in my sink block and
get the following output:
thread[thread-per-block[10]: <gr_block my_block_name (14)>]:
gr_block_detail::n_output_items
all code after get_tags_in_range is never executed and the block is
never scheduled again. (Without the ‘get_tags_in_rage’ call it is
executed multiple times)

My quick fix to this problem is to change my_block to a standard block
and just print some dummy output to the out port. This output is passed
to a null_sink.
This way it works just fine. But imho this is an ugly fix.

This is the exact call of get_tags_in_range
std::vector <gr_tag_t> v;
get_tags_in_range(v,0,nitems_written(0),nitems_written(0)+1);

my flowgraph looks something like this:
source–>tagging_block–>sink

and fixed:
source–>tagging_block–>tag_reading_block–>null_sink

all streams are byte vectors.

my system:
OS: Xubuntu 12.04 x64
Intel Core i3-2330M
VGA: Intel Corporation 2nd Generation Core Processor Family Integrated
Graphics Controller (rev 09)
4gb RAM

Johannes

On 08/06/2012 03:44 AM, Johannes D. wrote:

My quick fix to this problem is to change my_block to a standard block
and just print some dummy output to the out port. This output is passed
to a null_sink.
This way it works just fine. But imho this is an ugly fix.

This is the exact call of get_tags_in_range
std::vector <gr_tag_t> v;
get_tags_in_range(v,0,nitems_written(0),nitems_written(0)+1);

Looks like the wrong count to use, check the coding guide, its items
read:
http://gnuradio.org/redmine/projects/gnuradio/wiki/BlocksCodingGuide#Reading-stream-tags

-josh

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs