[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] Problem writing custom null sync block
From: |
Tom Rondeau |
Subject: |
Re: [Discuss-gnuradio] Problem writing custom null sync block |
Date: |
Fri, 22 Feb 2013 09:09:19 -0500 |
On Fri, Feb 22, 2013 at 8:42 AM, maiconkist <address@hidden> wrote:
> Hi list,
>
> I'm writing a custom null sync block called "file_writer". What I want to do
> is dump (to file or screen) what my null sync is receiving).
>
> The problem is that if I use the file_writer in a flow graph, after the
> "work" function is executed a few times it starts to receive the same input
> forever.
>
> I created a simple flow graph in gnuradio-companion that shows the FFT of
> the signal received in a USRP source.
> When I modify the generated python code and insert the file_writer right
> after a stream_to_vector block, the flow graph "hangs" and process the same
> data over and over again.
>
> Any suggestions of what is missing ?
>
> Here's the code of my simple block:
>
> ####
> class file_writer(gr.sync_block):
> ## CTOR
> #
> def __init__(self, filename, vec_size):
> gr.sync_block.__init__(
> self,
> "file name block",
> in_sig = [np.dtype((np.float32, vec_size))],
> out_sig = None
> )
>
> self._fd = open(filename, 'w')
> self._filename = filename
>
>
> def work(self, input_items, output_items):
> in0 = input_items[0]
>
> print "###### ", len(in0)
> print in0
>
> return len(output_items)
What is the length of output_items? Because you don't have an output
buffer attached to this block, I'd be concerned that len(output_items)
== 0, so you're telling the scheduler that you aren't consuming any
data. Maybe just replace that last line with 'return
len(input_items)'?
Tom