discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Scopes, etc


From: Eric Blossom
Subject: Re: [Discuss-gnuradio] Scopes, etc
Date: Fri, 12 Mar 2004 00:25:27 -0800
User-agent: Mutt/1.4.1i

On Fri, Mar 12, 2004 at 01:02:45AM -0600, David Carr wrote:
> 
> I was looking through the examples to get an idea of how things work and 
> I decided to create 'file_scope' based on the audio_scope example.  It 
> reads in data from a file source and displays a scope and the magnitude 
> of the fft.  The SimpleScopeSink was hard to read because there was no 
> triggering so I created GrTriggeringScopeSink based on my modified 
> GrSimpleScope.h to have + slope triggering at a configurable level.  
> GrTriggeringScopeSink is a drop-in replacement for GrSimpleScope.  I 
> couldn't decipher what was going on with the other scope modules so 
> hopefully I didn't duplicate existing functionality.  Perhaps someone 
> could explain how X,F,C,etc OscopeSink are used? 

There is some deprecated GUI code in the tree that uses Qt.  It will
be gone very soon.  In fact, in my tree it IS already gone.  Part of
the move to Python is cleanly splitting the signal processing from
the GUI work.  We want the signal processing to be able to take
advantage of SMP machines.

Where you want to look is gnuradio/src/gnu/python.  Take a look at
fft_sink.py and scope_sink.py.  If you just type them at the command
prompt, they'll demo themselves for you.  Check out the README in the
directory first.

  $ ./fft_sink.py
  $ ./scope_sink.py

Don't sweat the details on how they're implemented right away.  Just
look at how they're used.  They do need some cleanup.  Maybe some
wxPython hacker would like to assist.  I think that turning off the
auto-scaling feature would speed them up tremendously.

With the python o'scope, the scope trigger is implemented behind the
scene with GrOscopeSinkF or GrOscopeSinkC (F takes 1 or more float
streams; C take 1 or more complex streams, X is a common base class).
These in turn are built on gr_OscopeGuts which contains the actually
triggering code and the interface to python land.  Each time it's
triggered, it sends a record of data to python land through a pipe.
The C++ code runs in a separate thread from the Python GUI stuff.

If you've got doxygen installed on your system, your build will have
created HTML documentation showing the class hierarchies, etc.  Point
your browser at file:///<your_path_here>/gnuradio/doc/html/index.html


> If anyone is interested, you can find the file_scope and TriggeringScope 
> code on my website under the GNU Radio section.  Suitable raw data for 
> the file scope can also be downloaded from the data section.

Thanks!

> David Carr

> Note: currently my file_scope example uses GrTriggeringScope.  I 
> recommend you try them together, but if you don't want to just change 
> the references to GrTriggeringScope back to GrSimpleScope and you should 
> be set.  Also if you don't want to play with Makefiles to build 
> file_scope just backup your audio_scope.cc and then overwrite it with 
> file_scope.cc.  Then just do a 'make audio_scope; ./audio_scope'

Eric




reply via email to

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