Flow graph with feedback by using udp source/sink

Hi list,

I build a flow graph with both transmitter and receiver, and the forward
path works fine. Then I want to let receiver block to feedback some data
to the transmitter block, and I learn that GNU Radio does not allow the
flow graph has loops. Now I’m trying to walkaround the limitation by
using udp_sink and udp_source, but I haven’t make it work.

I find that if I connect udp_source to a file_sink, the output file does
contain correct data and receiver works well. But if I connect
udp_source directly to the block in transmit path, the receiver cannot
receive any data. I guess it is due to the chicken-egg problem. Will it
help if udp_source outputs some initial value when the connecting port
has no data? What is the right way to make feedback work?


alick
Fedora 16 (Verne) user
https://fedoraproject.org/wiki/User:Alick

On 05/09/2012 08:26 AM, Alick Z. wrote:

Hi list,

I build a flow graph with both transmitter and receiver, and the forward
path works fine. Then I want to let receiver block to feedback some data
to the transmitter block, and I learn that GNU Radio does not allow the
flow graph has loops. Now I’m trying to walkaround the limitation by
using udp_sink and udp_source, but I haven’t make it work.

FWIW, I have implemented a message passing for gnuradio that you can use
as a feedback mechanism. Its not mainline code.

Instructions:
http://gnuradio.org/redmine/projects/gnuradio/wiki/BlocksCodingGuide#Messages

Implementation is on the next branch:
git://gnuradio.org/jblum.git

-Josh

Sorry I forgot to CC my last email to the list. Below is Josh’s reply
with my walkaround (quoted).