discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] Incompatible trunk check-in pending (for gr.hier_bloc


From: Johnathan Corgan
Subject: [Discuss-gnuradio] Incompatible trunk check-in pending (for gr.hier_block2 users only)
Date: Mon, 27 Aug 2007 00:35:56 -0700
User-agent: Thunderbird 1.5.0.13 (X11/20070824)

For those who are experimenting with or testing the (unreleased,
undocumented) new hierarchical flowgraph code, I am about to check in an
incompatible change. (Most people can ignore this message.)

As a final API change to the code for its official introduction in
release 3.1, the interface has been simplified by removing the need for
a 'gr.runtime' object.  Instead, one will call start(), stop(), wait(),
or run(), directly on the gr.top_block object.

So, instead of:

tb = gr.top_block("foo")
tb.connect(...)
rt = gr.runtime(tb)
rt.run()

...you have the simpler code:

tb = gr.top_block("foo")
tb.connect(...)
tb.run()

Once the incompatible check in occurs, you'll need to edit your scripts
to eliminate the call to gr.runtime and call run(), etc., on your
top_block object.

It's not an accident that gr.top_block has come to look exactly like
gr.flow_graph in the existing code.  The original plan was to introduce
a new way of building hierarchical flow graphs that had the same API as
the new mblock code. As a matter of practicality, however, maintaining
the same semantics as gr.flow_graph now will allow conversion to the new
code in most cases with a search and replace from gr.flow_graph to
gr.top_block.

For everyone else who might be wondering, the new hierarchical flow
graph code will allow you to build arbitrarily nested flow graphs to
help manage complexity in a design.  In other words, you'll be able to
build, from within Python (or C++ in release 3.2), hierarchical blocks
with arbitrary numbers of inputs and outputs, that have their own flow
graph of blocks within them.  Elsewhere, you can treat that entire
flowgraph as a single block in the next "level" up in your definition.

This will be explained in much greater detail as part of the 3.1 release
process.

-- 
Johnathan Corgan
Corgan Enterprises LLC
http://corganenterprises.com




reply via email to

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