discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Directory structure explained!


From: Eric Blossom
Subject: Re: [Discuss-gnuradio] Directory structure explained!
Date: Thu, 31 Jul 2003 23:08:42 -0700
User-agent: Mutt/1.4i

On Fri, Aug 01, 2003 at 04:21:18AM +1000, Rob Judd wrote:
> Hi,
> 
> I've been wondering why I found gnuradio so incomprehensible to work on,

Lack of documentation?

> and just discovered the reason. Find attached the structure of
> directories as it stands, after one minor attempt to build under cygwin.

Saving you some time, the biggest obstacle to building under cygwin is
going to be our use of shmget and friends at the end of 
gnuradio/src/pspectra/lib/VrBuffer.c : allocateBuffer.

It won't be hard to refactor, but you'll need to work out the magic
required to work on that proprietary OS.  (I suggest you work from the
CVS head.  Patches you generate will be much easier for me to apply.)

> Is there some way this can be reduced/combined without losing separation
> between functional components, or at least can the nesting level be
> brought down somewhat?


Yes, there are some things that we'd love to move around soon, and
some things that we'd like to merge and/or remove.

FWIW, moving stuff in CVS is a bit of a bear.  It ends up being an add
followed by a delete, with the side effect that the easy access to all
of the previous revisions is lost.  They're still in there, just
associated with the deleted file.


Below are a few annotations:

Unless you're out looking for trouble, I'd stay away from the
"needs-work" directories.  They contain lots of code fragments, most
of which don't work, and have suffered major bit rot over the years.
Some of them can serve as a base of ideas, but most don't match the
current infrastructure.  Not a good place for seeing current idioms.


> gnuradio-0.8

>       config          # standard directory of autotools magic (ignore)

>       cppunit         # sub-project:  unit testing framework (ignore)

>       doc             # directory that docs are built in if you've
                        # got doxygen installed
>               other

>       libs            # I don't have one of these... (cygwin artifact?)

>       src             # where all the code lives

>               data_files          # old data files (ignore)

>               gnu                 # all the new code lives in here

>                       atsc        # main programs and tests for digital TV

>                       codecon     # (bad) examples from codecon conference

>                       examples    # reasonable place to look for examples,
                                    # though not all have been updated to 
current
                                    # idioms or preferred classes.

                                    # To see examples of the latest and greatest
                                    # thinking and idioms, I suggest the atsc 
and dtv
                                    # directories.


>                       gen_interpolator_taps    # very cool old fortran code
                                                 #  used to generate optimal
                                                 #  taps for polyphase 
interpolator
                                                 #  (ignore)

>                       lib         # src for guts of GNU Radio library

>                               dtv       # digital TV stuff

>                               gr        # lots of interesting stuff. Most 
> filtering
                                          # and general purpose signal 
processing
                                          # routines are here.  The Gr<foo> 
classes
                                          # are usable in your flow graph.

>                               grgui     # lots of stuff related to soon to 
> deprecated
                                          #   Qt GUI

>                               grio      # signal processing primitives related
                                          #  to i/o.  E.g., A/D, D/A, files...

>                               reed-solomon
                                          # Phil Karn's Reed-Solomon 
encoder/decoder
                                          #  used for forward error correction
                                          #  with ATSC and anything else that 
needs RS

>                       tests             # main test programs
                                          #   these invoke qa_* test suites
                                          #   found in various directories

>               pspectra     # legacy code from MIT SpectrumWare.
                             # At this point we're mostly only using a few
                             # of the very bottom level classes.

>                       amps # highly incomplete amps decoder (ignore)

>                       doc

>                       lib     # src for pSpectra library (partially used)

>                               audio   # ignore

>                               perf    # obsolete performance measurement 
> stuff (ignore)

>                               vr
>                               vrgui
>                               vrio
>                               vrp

>                       pam             # obsolete test program

>               utils                   # misc utilities for octave, etc.


I hope this helps remove some of the mystery.

Eric




reply via email to

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