discuss-gnuradio
[Top][All Lists]
Advanced

[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




reply via email to

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