This patch set updates the usrp to support libusb-1.0. Asynchronous I/O
through libusb is added with fusb_libusb1.*, which is heavily based on
fusb_linux.*. In short, URB's and ioctl calls are replaced with
libusb_transfer structs and native calls. Transfer reaping is handled by
libusb and associated callbacks. I get 32Mb/s on all of my machines using
test_usrp_standard_rx or tx. Due to the API rewrite in 1.0 from 0.12, there
are alot of changes, many are simply name changes.
Known Issues:
Transmit and receive both work, but not at same time
(e.g. usrp_benchmark_usb.py). libusb does not create any internal threads,
so for a single session fusb_libusb1 works in the same manner as
fusb_linux with the callback called at controlled times. With multiple
libusb sessions the callback may occur at any time and threading issues
come into play causing behavior to become undefined. The use of separate
libusb_contexts _might_ solve this issue; I have not had the time to look
into it.
* Public USRP(1) header files are now in their own source directory
and install into $(includedir)/usrp. This was done to avoid name
clashes in the top-level include directory.
Only users who are developing directly to libusrp in C++ are
affected; the GNU Radio C++ and Python APIs are unchanged.
The simple change required by this update is to change:
#include <usrp_*.h>
to #include
<usrp/usrp_*.h>
...in your source code.
* Removed usrp-inband code from tree (put into limbo directory.)
This code has become unmaintained and has started to suffer
from bitrot. A checkpoint tag has been made for anyone still
needing to use it:
http://gnuradio.org/svn/gnuradio/tags/checkpoints/trunk-20090708-pre-usrp-reorg
The plan during the 3.2->3.3 development cycle is to replace the
functions done by the in-band code with extensions to the existing
gr-usrp blocks using the new message passing architecture.
The USRP hardware FPGA code that provided the inband interface
has not been removed; however, it too has become unmaintained and
will likely be rewritten/replaced during the 3.3 timeframe.
The trunk passes distcheck.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@11394 221aa14e-8319-0410-a670-987f0aec2ac5
Adds --enable-python option to configure (defaults to yes).
Using --disable-python or --enable-python=no will cause only
C++ API targets to be created and installed.
Several new shared libraries are now created. Where in the past,
the C++ objects of the actual gnuradio blocks that were in a component
were hidden inside their corresponding Python extension modules, these
are now split out into a libgnuradio-foo.so library, and the _foo.so
Python module is linked to that. This has been the way several top-
level components have operated for some time, such as gr-audio-alsa
and gr-usrp and gr-usrp2. This changeset applies that pattern to all
components.
C++ API users can use pkg-config to discover the cflags and libs
parameters needed to include and link against these libraries.
These components have not been tested:
gr-comedi
gr-audio-osx
gr-audio-windows
Passes distcheck.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@11150 221aa14e-8319-0410-a670-987f0aec2ac5
distcheck.
Part 1 of Debian/Ubuntu binary packaging update for 3.2 release.
Creates all C++ API binary and dev packages, with their associated
runtime dependencies.
* Runtime shared-library packages:
-libgruel
-libgnuradio-omnithread
-libpmt
-libmblock
-libgnuradio-core
-libgnuradio-alsa
-libgnuradio-qtgui
-libusrp
-libusrp2
-libgnuradio-usrp
-libgnuradio-usrp2
* C++ development headers and pkg-config files for the above:
-libgruel-dev
-libgnuradio-omnithread-dev
-libpmt-dev
-libmblock-dev
-libgnuradio-core-dev
-libgnuradio-alsa-dev
-libgnuradio-qtgui-dev
-libusrp-dev
-libusrp2-dev
NOTE: For consistency, libqtgui.so has been renamed to libgnuradio-qtgui.so,
and libgr-usrp2.so has been renamed to libgnuradio-usrp2.so.
A 'gnuradio-dev' virtual package will be created that will depend upon the
above -dev packages, so installing that one package will pull in all that is needed
to do pure C++ development in GNU Radio.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@10981 221aa14e-8319-0410-a670-987f0aec2ac5
usrp basic overwrites the registers on init and can be harmful to an app that uses both RX and TX.
set_gpio will be called when the frequency is set so tuning after initialization is required.
Also, the custom xcvr set register methods were replaced will calls to common_*
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@10853 221aa14e-8319-0410-a670-987f0aec2ac5
Several new trunk components still need debs created.
Impact on non-packaging code:
* Renamed libgr_audio_alsa.so to libgnuradio-audio-alsa.so
* Renamed libusrp_inband.so to libusrp-inband.so
* Added PYTHON_CHECK_MODULE to build system to simplify Python dependency verification
Packaging code updates:
* Updated build-depends and package dependencies to be current with trunk
* Added package for libgruel and libgruel-dev
* Renamed library packages to use simplified names, removing the 0 or 0c2a suffix. This may not follow Debian policy, but we can revisit this if we ever go into official Debian or Ubuntu.
* Remove gr-comedi from packaging
* Restructured sections to eliminate 'contrib'. Since we're not official Debian, we don't need to deal with the sdcc-nf issue.
* Consolidated usrp firmware packages into corresponding main packages (same as previous).
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@9918 221aa14e-8319-0410-a670-987f0aec2ac5
contains the SMP aware scheduler. This changeset
introduces a dependency on boost 1.35 or later.
See source:gnuradio/trunk/README.building-boost for additional info.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@9336 221aa14e-8319-0410-a670-987f0aec2ac5
1) Modified top-level run_tests.sh script:
a) to execute code for setting or changing the library search path in
Darwin (DYLD_LIBRARY_PATH) or Windows (PATH) on those host OSs
only, not on other host OSs.
b) Added local (to the component making check) library paths to those
same search paths, since libtool doesn't do it (unlike in Linux).
2) In all AM Makefiles -except those dealing with USRP firmware-,
changes INCLUDES to AM_CPPFLAGS since the former is deprecated.
3) Changed AM_CPPFLAGS to FW_INCLUDES for commands .c.rel in USRP
firmware.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@7769 221aa14e-8319-0410-a670-987f0aec2ac5
earlier) for USRP legacy fast-usb code from r7358 branch into trunk:
Fixed DEBUG commands in all files.
Fixed flow control between originating and spawned threads.
Fixed WritePipeAsync buffer write size.
Added in debugging comments to fusb code, to better track async flow.
NOT YET updated for MacOS X 10.5-specific IOKit code, but everything
seems to work just fine as is.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@7417 221aa14e-8319-0410-a670-987f0aec2ac5
contains the modifications required to cross-compile GNU Radio for
the Cell processor. For directions, see CrossCompilingForCell
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@6852 221aa14e-8319-0410-a670-987f0aec2ac5
Created new top-level component, gr-utils, to hold commonly used utility
scripts (originally in gnuradio-examples). These now install into the
system path, allowing their use from wherever.
Reorganization of gnuradio-examples component:
* Commonly used utility scripts moved from python/usrp into gr-utils.
* Examples now install into $(prefix)/share/gnuradio/examples/...
* Channel coding examples moved into gr-trellis/src/examples, now install
from there, only if gr-atsc itself is going to built and installed.
* ATSC example scripts now install into example hierarchy
* Cruft has been moved into 'limbo' in repository, do not get installed
Trunk passes 'make distcheck'.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@6279 221aa14e-8319-0410-a670-987f0aec2ac5
* host/lib/legacy/usrp_bytesex.h: Fix typo in portability code.
Add #warning that it is non-portable.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@5465 221aa14e-8319-0410-a670-987f0aec2ac5
includes:
* working stand-alone mblock code
* work-in-progress on usrp inband signaling
usrp now depends on mblock, and guile is a dependency.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@5221 221aa14e-8319-0410-a670-987f0aec2ac5
This moves usrp related .py files from the top-level of site-packages
into site-packages/usrpm.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@4728 221aa14e-8319-0410-a670-987f0aec2ac5
branches/developers/jcorgan/ticket-10
As of this merge the trunk and the above branch are identical.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@3182 221aa14e-8319-0410-a670-987f0aec2ac5