[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] C++ block that generate extra data

From: Martin Braun
Subject: Re: [Discuss-gnuradio] C++ block that generate extra data
Date: Thu, 29 Sep 2011 16:20:36 +0200
User-agent: Mutt/1.5.20 (2009-06-14)

On Thu, Sep 29, 2011 at 04:14:04PM +0200, Mattia Rizzi wrote:
> Hello,
> i have a block that takes 3 bytes of data in and output 4bytes of data (3:4).
> It’s possible to generate, sometimes, extra output?
> I mean, sometimes it take 3 bytes and output 5 bytes. It’s possible? How i 
> tell
> to the scheduler?

That's possible if you create a gr_block and use the general_work()
function (so don't derive from a sync_interpolator).
The general_work() function lets you manually set how many bytes were
consumed and how many were written to the output buffer. But you *must*
check the output buffer's large enough.

However, you sacrifice some performance and possibly some functionality
of GNU Radio (e.g., IIRC, I don't think you could propagate stream tags
automatically through this kind of block).

Perhaps re-thinking your signal flow is more optimal.

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

KIT -- University of the State of Baden-Württemberg and
National Laboratory of the Helmholtz Association

Attachment: pgpfqZe2FDDfS.pgp
Description: PGP signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]