Commit graph

71 commits

Author SHA1 Message Date
Michael Dickens
c286032a2a usb: tweak types for consistency between LIBUSB API calls and internal UHD usage of returned values. 2016-08-01 18:49:53 -07:00
Michael Dickens
a5909ec14b usb: add virtual destructors where needed; make virtual destructors out-of-line from class definition to reduce number of vtables emitted (according to clang). 2016-08-01 18:49:53 -07:00
Michael Dickens
3a2d11e53a usb: fix interfaces to be type 'int' and endpoints to be type 'unsigned char' to match the libusb API. 2016-08-01 18:49:53 -07:00
DaulPavid
35c6d74297 Corrected the UHD behavior in the event of a USB disconnect 2016-02-12 13:32:38 -08:00
Nicholas Corgan
bc9dd05988 C API cleanup, feature additions
* Cleaned up usage of handles vs. handle pointers
* Store global string for last error thrown
* Removed uhd::device_addr_t handle, added std::vector<std::string> handle
2015-08-12 12:19:20 -07:00
michael-west
95108f6f6e UHD: Change libusb_error_name() to libusb_strerror() to improve error output 2015-08-12 12:02:59 -07:00
Michael Dickens
bb700f8125 b200: fix libusb exceptions to work with that expected by b200 impl exception handling which uses uhd::usb_error (not uhd::runtime_error). 2015-08-11 14:31:25 -07:00
michael-west
0f2346554d UHD: libusb_strerror compatibility with older versions of libusb 2015-08-06 18:07:24 -07:00
Ashish Chaudhari
f4e7debd1f libusb: Fixed Windows build issue
- Introduced in b08352f267. ERROR is a
  macro included through some windows specific header. Replaced with
  STATUS_ERROR.
2015-08-06 15:16:54 -05:00
michael-west
b08352f267 Fix for BUG 869: UHD: Unhandled exceptions during destruction of multi_usrp object cause application to terminate
- Prevented libusb_zero_copy_single from submitting transfers after libusb reports an error
- Made error messages in libusb_zero_copy and udp_zero_copy more descriptive
2015-08-05 13:07:16 -07:00
Balint Seeber
4ed2b26d51 b200: Change init sequence to catch bad USB states
- Fixes USB hang issues on OS X
- Uses usb_errors
2015-08-03 10:11:44 -07:00
Nicholas Corgan
1200721b69 Warning fixes
* CMake now not applying C++ flags to C files
* GCC 4.4: anti-aliasing rules
* MSVC: narrowing, differences in subclass function parameters
* Clang: uninitialized variables
2015-03-27 09:35:29 -07:00
Ben Hilburn
178ac3f1c9 Merging USRP X300 and X310 support!! 2014-02-04 11:04:07 -08:00
Michael West
39d69b3a88 BUG #183: Addressed comments from code review. 2013-11-19 11:16:44 -08:00
Moritz Fischer
7961fc2388 BUG #183: Fixed typo
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
2013-11-11 10:52:50 +01:00
Michael West
597e7965a7 BUG #183: B200 High CPU Usage: Created a single thread to handle libusb events and expanded packet size to 16k 2013-11-08 15:30:03 -08:00
Josh Blum
6553047fca usb: squashed thread related changes 2013-07-19 12:38:08 -07:00
Josh Blum
f6dd15477d usb: useful error messages on failed submit 2013-07-16 12:30:04 -07:00
Josh Blum
d39020b236 usb: check for and use libusb_handle_events_timeout_completed 2013-03-11 11:30:37 -07:00
Josh Blum
83063ea8b1 usb: use int for completed to match libusb example code 2013-03-11 10:40:39 -07:00
Josh Blum
d18fc6f0f1 usb: added recv buffer flushing to libusb zero copy 2012-08-04 14:22:09 -04:00
Josh Blum
253be8f0da uhd: squashed transport work 2012-04-23 13:45:23 -07:00
Josh Blum
b7ff81c9a8 dsp rework: work on usb wrapper for smaller packets, large luts 2012-02-02 15:15:54 -08:00
Josh Blum
c35462adaf usb: added interface args to usb abstractions 2011-09-19 16:14:12 -07:00
Josh Blum
833da5c1ee usb: reimplement ~libusb_zero_copy_impl to avoid segfaults and indefinite timeouts 2011-09-02 14:08:01 -07:00
Josh Blum
acf92e8356 usb: removed handler thread, do work in get buffer calls 2011-09-02 11:54:57 -07:00
Josh Blum
7e1b2a0e3c uhd: added tasks to simplify thread spawning use cases 2011-07-13 17:25:40 -07:00
Josh Blum
927e795da3 uhd: replaced boolean for thread loop w/ boost::this_thread::interruption_requested 2011-06-16 11:50:05 -07:00
Josh Blum
5dfc458188 b100: added b100 host (squashed) 2011-06-14 17:56:54 -07:00
Josh Blum
ea5ce50a46 uhd: replace managed buffer shared pointer w/ intrusive pointer to reduce overhead 2011-05-14 20:28:20 -07:00
Josh Blum
c8dca30d72 uhd: replaced many conditional prints with UHD_LOG usage 2011-05-04 15:27:11 -07:00
Josh Blum
627075e60e uhd: move thread loop condition flag to before barrier (prevents race condition) 2011-04-22 17:02:07 -07:00
Josh Blum
d07870f698 usb: mark libusb callbacks with LIBUSB_CALL to ensure correct calling convention 2011-04-05 20:37:29 -07:00
Josh Blum
1c5076ea68 uhd: implemented boost barriers on all code that creates threads
The barrier ensures that the thread must spawn before the caller exits.

Some of the code already used a mutex to accomplish this,
however cygwin chokes when a mutex is locked twice by the same thread.
Mutex implementations were replaced with the barrier implementation.
Also the barrier implementation is far cleaner.
2011-03-31 15:00:56 -07:00
Josh Blum
fb2059949e usb: fix callback cast in libusb zero copy under msvc 2011-03-21 10:34:16 -07:00
Josh Blum
fc6280dffd Merge branch 'usb-cancel' into next
Conflicts:
	host/lib/transport/libusb1_zero_copy.cpp
2011-03-17 14:32:12 -07:00
Nick Foster
9d752805de USB zero copy impl: proper cleanup for canceled transfers -- wait for cancel before freeing 2011-03-16 10:31:52 -07:00
Josh Blum
09149bbf7d usrp1: safe destruction for usrp1 device 2011-03-10 14:37:34 -08:00
Josh Blum
16f08844d7 uhd: renamed the assert header to assert has
only the assert has implementation is in this header

uhd assert throw moved to the exception header

updated code base includes to match
2011-02-24 14:54:24 -08:00
Josh Blum
2af3e5c49d uhd: tweaks for windows msvc compiler warnings and errors 2011-02-16 17:19:54 -08:00
Josh Blum
9bc6fbe685 uhd: reusable buffers for libusb zero copy implementation
tweaks on udp implementation to simplify
2011-02-15 10:34:37 -08:00
Josh Blum
1be2590962 uhd: tweaks to bounded buffer
Added push with haste.
Call with haste first in the wait methods to avoid time compare/wait when not needed.
Added new calls to the libusb and udp zero copy impls
tests pass
2011-02-10 13:58:38 -08:00
Josh Blum
ef351624ee uhd: replace asio buffer in make safe w/ memory and length, makes things simpler 2011-02-07 12:32:12 -08:00
Josh Blum
ba2523fca4 uhd: removed instances of shared_from_this() in transports
Its known to be slow and using sptrs of large objects.
This should be a slight performance improvement
for libusb and usrp_e100_mmap implementation.
2011-02-05 12:44:23 -08:00
Josh Blum
5d10aa397f uhd: change bounded_buffer implementation and code using it
The bounded buffer now uses the detail idiom to hide implementation to inline better.
The whole sptr/make idiom was removed from bounded buffer to just construct directly.
The code using bounded buffer was changed for the new api:
replaces access operators and calls to the factory function.
2011-02-05 12:37:20 -08:00
Josh Blum
e13cf1a128 usb: restored disable_interruption on get_lut_with_wait (gets called externally) 2011-01-21 16:27:14 -08:00
Josh Blum
07710a5f68 usb: use thread interruption in usb zero copy on deconstruction 2011-01-17 14:01:35 -08:00
Josh Blum
a076dc12aa uhd: update copyright dates 2011-01-05 20:49:45 -08:00
Josh Blum
ed6a2941f8 uhd: created buffer pool to allocate aligned memory, and implemented in transports 2011-01-03 01:43:48 -08:00
Josh Blum
0fc641042e usb: moved event handler thread into the zero copy interface 2010-10-05 15:47:58 -07:00