[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] Re: Combining gr.trellis and mod_pkt
From: |
Eric Blossom |
Subject: |
Re: [Discuss-gnuradio] Re: Combining gr.trellis and mod_pkt |
Date: |
Wed, 6 Feb 2008 13:32:01 -0800 |
User-agent: |
Mutt/1.5.17 (2007-11-01) |
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