Skiphead block with reset

Hi all,

I was looking into the possibility of adding a reset ability (ala the
head block) to skiphead.

In my search to find out if it had already been done, I came up with
this commit message:

commit 9aabbe0601919c9fecd46e4e418e5c94183fca45
Author: Tom R. [email protected]
Date: Thu Jul 5 22:01:45 2012 -0400

core: adding ability to change and reset skiphead parameters.

But I couldn’t find that capability or commit in the current github
code.

Does anyone have a hint at where I could find that modification or,
barring that, any hints on how to accomplish it myself? I’m hoping it
will be as straightforward as pull the reset bits from the head block.

-Doug

Doug,

that commit is in master. Note that it’s old, and committed before the
3.7 API change, so the changes are moved to the corresponding new block
in gr-blocks.

M

Taking a quick look at a branch of that hash tag, the Reset function
simply
sets d_nitems = 0. There are 4 helper functions within the Skip Head
block
of old that are not in the current one; namely setting the number of
items
to skip, checking how many items are to be skipped, checking how many
items
have currently been skipped, and resetting the block. The code below is
from the hash tag given, and should be trivial to implement into the
current block (the variable names are even still the same).

void
gr_skiphead::set_nitems_to_skip(uint64_t nitems_to_skip)
{
d_nitems_to_skip = nitems_to_skip;
reset();
}

uint64_t
gr_skiphead::nitems_to_skip() const
{
return d_nitems_to_skip;
}

uint64_t
gr_skiphead::nitems_skiped() const
{
return d_nitems;
}

void
gr_skiphead::reset()
{
d_nitems = 0;
}

Michael B.

On Tue, Oct 28, 2014 at 10:59 AM, Martin B. [email protected]

Thanks for this, your git-fu is much stronger than mine!

I wonder why the mutator func for d_nitems didn’t make it into the
current version. At least for me, it’s really useful to have.

Anyway, looks like it won’t be too bad to graft in. Thanks again.

-Doug


From: discuss-gnuradio-bounces+danderson=removed_email_address@domain.invalid
[discuss-gnuradio-bounces+danderson=removed_email_address@domain.invalid] on behalf
of Michael B. [[email protected]]
Sent: Tuesday, October 28, 2014 12:12 PM
To: Martin B.
Cc: [email protected]
Subject: Re: [Discuss-gnuradio] skiphead block with reset

Taking a quick look at a branch of that hash tag, the Reset function
simply sets d_nitems = 0. There are 4 helper functions within the Skip
Head block of old that are not in the current one; namely setting the
number of items to skip, checking how many items are to be skipped,
checking how many items have currently been skipped, and resetting the
block. The code below is from the hash tag given, and should be trivial
to implement into the current block (the variable names are even still
the same).

void
gr_skiphead::set_nitems_to_skip(uint64_t nitems_to_skip)
{
d_nitems_to_skip = nitems_to_skip;
reset();
}

uint64_t
gr_skiphead::nitems_to_skip() const
{
return d_nitems_to_skip;
}

uint64_t
gr_skiphead::nitems_skiped() const
{
return d_nitems;
}

void
gr_skiphead::reset()
{
d_nitems = 0;
}

Michael B.

On Tue, Oct 28, 2014 at 10:59 AM, Martin B.
<[email protected]mailto:[email protected]> wrote:
Doug,

that commit is in master. Note that it’s old, and committed before the
3.7 API change, so the changes are moved to the corresponding new block
in gr-blocks.

M