4 Jan 2010   Emphasize this page is for OS X 10.4 only, also change gnuradio.org/trac to /redmine
To install GNU Radio on recent Mac hardware and operating systems, consult the Build Guide and Mac Install pages at the GNU Radio Wiki:
http://vps.gnuradio.org/redmine/wiki/gnuradio/BuildGuide,
MacInstall
These pages describe our installation of GNU
Radio 3.0 and 3.1 with the USRP hardware on Mac OS X 10.4 Tiger on PPC Macs.
Overview
Building gr-wxgui
Using gr-wxgui
Next steps
The gr-wxgui module adds a GUI to GNU Radio that you can use in
your Python programs. There are also some standalone demonstration
programs, including an oscilloscope and a spectrum analyzer.
The gr-wxgui module is built at the same time as the other GNU Radio
modules, as directed in the build
configuration.
To use gr-wxgui on the Mac you must run your Python program with the
pythonw command (note the final 'w'), not python.
The pythonw command calls an executable Python which is installed in a
Mac app wrapper. The app contains an Info.plist file that enables
Python to receive events from the Mac window manager.
On slower Macs (1 GHz Powerbook G4 and below) the performance can be
marginal. Sometimes the programs start up and display a blank window,
or display some data and then freeze up, showing the twirling
beachball icon that indicates the program is busy. Apparently
wxPython can't always keep up with the data produced by the GNU Radio
flow graph. Each GUI program provides different workarounds for this.
The demos are in the build directory in
gnuradio/gr-wxgui/python/src, and also in the installed
directory in gr/lib/python2.3/site-packages/gnuradio/wxgui.
To run the oscilloscope demo (screenshot):
The first argument 3 is frame_decim. Make this
number larger if you see the spinning beachball, that samples the traces
less frequently and loads wxPython less heavily. Here 3 is the
smallest value that works on my 1 GHz Powerbook G4.
The second argument 500 is v_scale, the vertical scale in
counts/division.
The third argument is t_scale, the time scale in
seconds/division; 25e-6 is 25 microseconds/division.
You can reduce the load on wxPython by choosing a smaller value for
t_scale, so fewer cycles of data appear on the display.
Omit an argument to accept the default: frame_decim 1,
v_scale autorange, t_scale 100 microseconds/division.
The default for frame_decim can be set in
gr/etc/gnuradio/conf.d/gr-wxgui.conf.
The preset default 1 does not work on my 1 GHz Powerbook G4.
GNU Radio versions before 3.1 provide the older scopesink.py
instead of scopesink2.py
To run the spectrum analyzer demo (screenshot):
Use ctrl-click to bring up a menu of controls.
The load on wxPython is set by the fft_rate parameter in the
code.
The default for fft_rate can be set in
gr/etc/gnuradio/conf.d/gr-wxgui.conf
The preset fft_rate default 15 works on my 1 GHz Powerbook G4.
To run the waterfall spectrum display demo
(screenshot):
Here is a slightly more elaborate signal/noise demo
(link)
Instructions for subsequent steps:
Jon Jacky, jon@u.washington.edu
Overview
Building gr-wxgui
Using gr-wxgui
$ pythonw scopesink2.py 3 500 25e-6
$ pythonw fftsink2.py
$ pythonw waterfallsink.py
Next steps