discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Random number of output items


From: Activecat
Subject: Re: [Discuss-gnuradio] Random number of output items
Date: Tue, 20 May 2014 09:32:58 +0800

On Tue, May 20, 2014 at 2:17 AM, Francois Gervais <address@hidden> wrote:
Hi,

I'm making a block which takes bit from a bit slicer and output packets as input comes in. My block will output bytes so it can emulate a usb adapter that receives the RF signal and output a packet stream through an FTDI. That way I can use the stack that comes with the adapter without owning one. I'll use a FIFO file so other than not issuing the serail configuration the stack should be used pretty much as is.

However, I'm not sure what I should do about the the number of outputs. Let say I'm waiting for the preamble, I won't output anything. When I get the preamble and the sync I'll send a sync byte of my own. From here every 8 inputs I'll output a byte. So basically my block will output 0 or 1 output.

Can someone help me a little with the use of forecast and noutput_items in my case? Also do I need to use the consume_each function?

If your block emulates a USB adapter, defines it as a source block, then you don't need to touch forecast().
If your block takes input from another block, then it is not source block.
I don't really understand your requirements.

The number of outputs (referred as noutput_items) is determined by the scheduler, not yourself.
Says, when you have X bytes to send out,
    if X > noutput_items:  Send out noutput_items number of output, and return noutput_items
    if X < noutput_items:  Send out X number of output, and return X
    if X == noutput_items: (either one of above)

When you send out a sync byte, add that to the output count.

When you are waiting for the preamble, you may want to send out a series of zeros, rather than just producing no output. 
Producing no output may cause the downstream blocks to become unresponsive.

reply via email to

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