Commit Graph

8 Commits

Author SHA1 Message Date
Thomas Tsou 593b69ca07 usrp: Cleanup of usrp_basic
Version specific libusb calls are pushed out of usrp_basic into
usrp_prims where they belong. This leads to a single usrp_basic
file. A new function in usrp_prims, usrp_deinit(), handles
shutdown specific to version 1.0.
2009-11-02 17:29:14 -05:00
Johnathan Corgan 5e6717ddd1 Cleanup in preparation for merge
Fix trailing whitespace
Use standard include guards
Add more missing config.h includes
Fixup emacs mode strings
Update copyright notices
2009-10-01 13:51:03 -07:00
Johnathan Corgan 53ed3fef34 Consolidate conditional headers into libusb_types.h, use automake 2009-09-29 18:29:44 -07:00
ttsou c4765fef34 Added autotools header generation and build time version checking 2009-09-16 17:08:51 -04:00
ttsou d5fbb2813b first shot at re-adding libusb-0.12 support 2009-09-15 18:06:27 -04:00
ttsou 2099b73475 Fix for simultaneous tx-rx using libusb_contexts 2009-09-15 18:06:27 -04:00
Johnathan Corgan b9d1da74eb Applied libusb-1.0 patch set from Thomas Tsou <ttsou@vt.edu>:
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.
2009-09-15 18:06:27 -04:00
jcorgan 707f3cef77 Merged r11377:11390 from jcorgan/usrp-headers in to trunk.
* 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
2009-07-09 02:55:51 +00:00