Digital_ofdm_cyclic_prefixer::work

Hi all,

please can someone tell me why that work method ( like others in the
digital_odfm_xx ) does not call consume_each (n) or consume ( i,n ) ?

many thanks,
Stefano

Hi,

it looks like the block inherits from gr_tagged_stream_block which will
will call a blocks work function with the exact number of samples for
one PDU with a known size in general_work and will call consume for you
afterwards.

http://gnuradio.org/doc/doxygen/classgr__tagged__stream__block.html#ac8934fdb1cb2816f2eed20287314614d

Yours
Martin

Am 29.06.2013 08:15, schrieb Stefano:

On Sat, Jun 29, 2013 at 01:10:31PM +0200, Stefano wrote:

it looks like the block inherits from gr_tagged_stream_block which
will will call a blocks work function with the exact number of
samples for one PDU with a known size in general_work and will
call consume for you afterwards.

For the record: No work() function should ever call consume,
regardless of its type (currently, that would be either gr_sync_block,
gr_sync_decimator, gr_sync_interpolator and gr_tagged_stream_block).

Only call consume() or consume_each() from general_work().

There’s one exception: gr_tagged_stream_blocks may fall back to gr_block
behaviour. The cyclic prefixer you mention is such a case, because it is
a modification of an existing block, and provides gr_block style
behaviour for backward compatibility. See:
http://gnuradio.org/doc/doxygen/page_tagged_stream_blocks.html

MB


Karlsruhe Institute of Technology (KIT)
Communications Engineering Lab (CEL)

Dipl.-Ing. Martin B.
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

Thanks Martin, very helpful; forgotten to take a look at the block type.
Stefano

Il 29/06/2013 10:24, Martin L. ha scritto: