On Wed, Feb 06, 2008 at 01:58:16PM -0500, Steven Clark wrote: > > Your msg_source, which is a gr.message_source, is blocked, waiting for > > new messages to arrive. In order to allow the second block chain to > > exit, you need to send it a message that causes it to unblock. The > > flowgraph scheduler thread that is running this chain will then see > > the indication that it should exit, and do so. > > > > Ok, so with Johnathan's help I see that adding a gr.message(1) to the > input queue has a special EOF meaning, and allows things to exit > nicely. Is this stuff documented anywhere?
Nope, please feel free to submit a patch for the gr_message_source.h header documentation. > On a broader note, I find that I often have difficulty finding things > in / navigating the GNURadio source tree. I frequently see some class > or block at the python level, and want to look at its source. I have > no idea if it is defined in C or python, or where it is located. Is > there any way, other than through sheer stumbling around, to figure > out that: > blk2.mod_pkts is defined in gnuradio-core/src/python/gnuradio/blks2impl/pkt.py > gr.msg_queue is defined in gnuradio-core/src/lib/runtime/gr_msg_queue.cc > gr.message_source is defined in gnuradio-core/src/lib/io/gr_message_source.cc > etc.? > > This has been a pretty big barrier to entry into GNU Radio for me, and > probably for some others as well. If you're an emacs user, you could use "etags" and M-. That'll handle all the C++ and Python stuff. Having good tools is essential to success in the s/w world. $ man etags In emacs use "info" and search for tags. Here it is on the web: http://www.gnu.org/software/emacs/manual/html_node/emacs/Tags.html Then look at the "find tag" command http://www.gnu.org/software/emacs/manual/html_node/emacs/Find-Tag.html#Find-Tag The python stuff is all under gnuradio-core/src/python. Some of the subdivisions are implementation details that allows us to merge everything into particular python namespaces at installation time. It's a bit ugly, but there's only a couple of things you need to remember. Worst case use a recursive grep or find. >From a fresh checkout $ find . -type f \! -path '*.svn' -print | sort will get you a pretty clean set of filenames. Eric _______________________________________________ Discuss-gnuradio mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
