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)
–
View this message in context:
http://gnuradio.4.n7.nabble.com/Problem-writing-custom-null-sync-block-tp39796.html
Sent from the GnuRadio mailing list archive at Nabble.com.
On Fri, Feb 22, 2013 at 8:42 AM, maiconkist [email protected]
wrote:
the signal received in a USRP source.
## CTOR
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
On Fri, Feb 22, 2013 at 09:09:19AM -0500, Tom R. wrote:
)
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)’?
It’s probably ‘len(in0)’, as len(input_items) would return the number of
input ports. ‘len(output_items[0])’ would probably also work.
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
Hi,
you’re right. Using “return len(in0)” solve my problem.
Thanks
–
View this message in context:
http://gnuradio.4.n7.nabble.com/Problem-writing-custom-null-sync-block-tp39796p39805.html
Sent from the GnuRadio mailing list archive at Nabble.com.