discuss-gnuradio
[Top][All Lists]
Advanced

[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



reply via email to

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