Since there’s been a lot of talk about GUIs and graphical programming,
I’ll describe some of the work I’ve been doing. I’m using a graphical
modeling tool called Ptolemy to allow design of gnuradio systems.
Here is the basic approach:
Automatically scan gnuradio source tree and build XML
representations of blocks, including things like constructor parameter
lists. These are in Ptolemy’s MoML format so Ptolemy can import them.
I have written a python program to generate these files.
Use Ptolemy to draw block diagrams and connections. Ptolemy allows
block parameters to be configured by inspecting the XML I just
Then have Ptolemy convert the block diagram into a gnuradio python
program. Ptolemy is written in Java, so I have written Java classes
to do this.
Ptolemy launches this program and communicates with it using pipes.
This allows you to create other pieces of Ptolemy simulations that
source or sink data to GR.
Here’s a screenshot to give you an idea:
It shows a top-level model where GNU Radio components look like black
boxes to a Ptolemy simulation. Then it shows the GNU Radio flowgraph
that is inisde. And finally, it shows an example of configuring a
block parameter, such as the modulator sensitivity.
Information on Ptolemy can be found here:
Questions or comments are always welcome.