summaryrefslogtreecommitdiff
path: root/README.organization
diff options
context:
space:
mode:
Diffstat (limited to 'README.organization')
-rw-r--r--README.organization239
1 files changed, 0 insertions, 239 deletions
diff --git a/README.organization b/README.organization
deleted file mode 100644
index 138d90189..000000000
--- a/README.organization
+++ /dev/null
@@ -1,239 +0,0 @@
-[This file is currently not baked and does not claim to represent
-consensus.]
-
-* Introduction
-
-This file describes the current organization of the GNU Radio source
-tree. It is intended to be both descriptive and normative.
-
-* Unresolved issues in organization
-
-The big issues are:
-
-1) Should we separate by "code needed to implement protocol/modulation
-foo", or related blocks. to (that are therefore not so likely to be
-used together).
-
-2) How do m-blocks impact organization? If m-blocks are in a separate
-module, which seems reasonable, then do we have most modules depend on
-m-blocks rather than just core, or do we have two versions of blocks -
-the classic continuous block and the m-block wrapped block? If
-m-blocks become the main path, what will be less awkward?
-
-3) Because some (ADROIT at BBN) have proposed to implement MACs in
-click instead of GNU Radio, should we have a clean separation of
-MAC/PHY within GNU Radio, to facilitate using MACs implemented in
-various places?
-
-4) Examples abound, and many are in gnuradio-examples. It might be
-better to put examples near the code they use, and to separate useful
-programs (like USRP benchmarks) from true examples. Examples should
-probably be installed in $prefix/share/examples/gnuradio.
-
-* Plan (normative) [[NOT BAKED!!! NO CONSENSUS!!!]]
-
-Create a new module gr-packet, to hold blocks generally relevant to
-sending blocks of data. Create subdirectories within gr-packet for
-specific protocols (e.g. 802.11, GNU Radio's GMSK "protocol").
-
-Convert tunnel.py to be OS-independent and a general source/sink
-block, decoupling modulation from OS plumbing.
-
-* Pointers to code to be integrated
-
-The immediate question is how to integrate the 802.11 implementation
-done by BBN (and assigned to FSF), available at:
-
- http://acert.ir.bbn.com/viewvc/adroitgrdevel/adroitgrdevel/gr-bbn/
-
-This contains blocks at various places in the stack, and gdt believs
-that putting them in an 802.11 module will lead to less reuse and less
-of a tendency to generalize.
-
-* Organization of the GNU Radio source tree (mostly descriptive)
-
-The GNU Radio source tree is rooted at the directory containing this
-file; see README for how to get it if you're using a release or
-tarball.
-
-Within this directory, there are a number of subdirectories, most of
-which can be enabled or disabled independently. See README for how to
-do that; this document is concerned with describing what each module
-does enough to help someone who is familiar enough with GNU Radio to
-write new code to choose where to put it. The list is not exhaustive.
-The description of some modules also lists things that don't belong,
-tagged with ?M.
-
-** gnuradio-core [foundational code for the rest of GNU Radio]
-
-(gen_interpolator_taps is not installed. Why? How is it used?)
-
-doc: glue to use with doxygen
-
-?M doc/other/tv-channel-frequencies: (TV specific)
-
-?M src/lib/g72x:
- G.711 family codec
-
-src/lib/filter:
- implementation and coefficient generation
-src/lib/general:
- foundational blocks not specific to any technology:
- type conversion, {de,}vectorization, add, sub
- rms power, throttle, sources, sinks, squelch base class
-
- general blocks:
- agc, pll, sync, costas loop, power squelch, quadrature demod
-
- ?M framer/correlator
- ?M packet source/sink
-
-src/lib/io:
- basic file io, message io
- oscope (trigger support)
- i2c bus
- ?M microtune eval board (like USRP; should probably have own module)
- ?M SDR1000
-
-src/lib/omnithread:
- portable threading library (for when POSIX isn't portable enough)
-
-src/lib/reed-solomon:
- reed-solomon implementation. Unclear how/whether it's wrapped into
- blocks.
-
-src/lib/runtime:
- blocks (basic, hier) and associated buffering
- flowgraphs
- timers
- doubly-mapped circular buffers
-
-src/lib/swig:
- code to wrap the rest in python
- ?M atsc.i (cruft? moved?)
-
-src/python:
- build utilities
-
-src/python/bin:
- ?M microtune.py: microtune control program (installed and EXTRA_DIST!)
-
-src/python/gnuradio:
- audio base class
- engineering notation support
- test harness support
- test code (not installed)
- basic block/flow_graph
-
-src/tests:
- test code
- ?M test_atsc.cc (# in Makefile.am, but still present)
-
-src/utils:
- octave and Scheme scripts (not installed)
-
-** usrp
-
-This contains code to deal with the USRP, but not GNU Radio support.
-
-?M fusb
- The "fusb" abstraction is arguably useful for all interface devices
- that use USB, not just the USRP.
-
-** gr-usrp
-
-Code to use the USRP with GNU Radio.
-
-?M Arguably the Gnu Radio/USRP benchmarks belong here, but are in -examples
-
-** gr-audio-alsa
-** gr-audio-jack
-** gr-audio-oss
-** gr-audio-osx
-** gr-audio-portaudio
-** gr-audio-windows
- [All of these support audio for some particular audio backend.
-
-** gr-atsc
- ATSC (HDTV) transmitter and receiver.
- All blocks seem to be specific to ATSC.
- ?M Perhaps some blocks should be abstracted out for reuse with other
- than ATSC parameters.
-
-** gr-comedi
- This module is missing a README that explains what it does.
- http://www.comedi.org/
-
-** gr-gsm-fr-vocoder
- GSM 06.10 full rate vocoder, and gsm library
- (Note that the presence of this argues for moving the G.711 code discussed above.)
-
-** gr-pager
- POCSAG and FLEX
- (gdt suspects there are blocks in here that could be generalized.)
-
-** gr-radio-astronomy
- seems to use only standard blocks from python
-
-** gr-trellis
- This module provides trellis code support, and appears generic.
-
-** gr-video-sdl
- This appears to be like the audio modules, but for video and
- specifically for SDL. Unlike audio which has a base class, there
- does not appear to be an abstract video class in gnuradio-core.
-
-** gr-wxgui
- Support for using wxwidgets from python.
- ?M (Linux-specific??) code to use the Griffin Powermate (and hook it to a GUI)
- glue to connect FFT and scope to gui
-
-** pmt
- polymorphic types (building block)
-
-** mblock
- Message block implementation.
- Note that mblock being a module means that signal processing blocks
- that are mblock-aware must depend on this module and thus probably
- cannot be in gnuradio-core. Thus, m-block wrappers for the blocks
- in gnuradio-core must be elsewhere and it is maybe a good idea to
- move them to someplace like gnuradio-common where the streaming and
- m-block versions can be together.
-
-** ezdop
- Code to deal with the ezdop direction-finding hardware.
-
-** gr-ezdop
- Glue code to use the ezdop from GNU Radio.
-
-** gr-rdf
- (Currently empty) code to perform direction finding.
-
-** gnuradio-examples
-
- It's arguable that all of these are misplaced, and that examples
- belong with the code that they use.
-
- Bona fide examples (code not intended to be useful except for reading):
- c++/dial_tone (how to do things only in C++)
- python/audio
-
- Test programs:
- python/channel-coding
- python/digital-voice
- python/multi-antenna (?)
-
- Programs in between test and useful:
- python/digital
- ?M tunnel.py: glue to get packets to Linux, conflates modulation
- and packet handling
- python/multi_usrp
- python/networking/measurement_slave (goes with what?)
-
- ?M Programs intended to be useful
- python/apps/hf_{explorer,radio}
-
- ?M Kitchen sink:
- python/usrp
- benchmarks, test, basic fm/wfm/tv receivers, spectrum sensing,
- fft, oscope