[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: USB communication
From: |
David Winter |
Subject: |
Re: USB communication |
Date: |
Sun, 04 Oct 2020 19:06:10 +0200 |
User-agent: |
Microsoft-MacOutlook/16.38.20061401 |
Hey,
in case you were referring to the "Universal Serial Bus":
The short answer: As far as I know, there is no _direct_ way of using "USB
communication in gnuradio".
The long answer: Using "USB communication" might not be what you think it is,
and there are
good reasons why GNURadio might not want to implement a "generic usb interface
block" of some sort:
The USB protocol is rather complicated, and goes far beyond just serially
moving data down single pipe, like what
you'd get with simpler interfaces like UART. USB supports many different
transfer modes, each with
different latency, throughput and reliability guarantees on possibly many
"pipes" in parallel. Oh, and interface
configurations can change at runtime. Trying to support all this in a block
would probably result in a huge mess.
See the excellent "USB in a NutShell" [0] for more information on the USB
protocol.
Additionally, supporting application protocols directly in GNURadio would be
yet another mess, because
who knows what information an SDR and its driver on your host are actually
exchanging - keep in mind that
your host has to communicate some kind of control information with your device.
If you're lucky, that's
just a separate endpoint, but it could also be embedded in your sample stream
...
That's why we leave USB communications to the vendor of an SDR (e.g. libuhd),
and then just
build a block that interfaces with that driver lib. Obviously you could also
use libusb to interface with
a USB device in an OOT module block, but that's the closest that you'll get to
USB in GNURadio.
[0] https://www.beyondlogic.org/usbnutshell/usb1.shtml
----------------------------------------------------------
Datum: Sonntag, 4. Oktober 2020 um 17:12
An: <discuss-gnuradio@gnu.org>
Betreff: USB communication
Simple question: How do I use USB communication in gnuradio?
I can’t find any blocks that implement USB. I can’t find any reference to USB.
I can’t find any discussion about USB on forums.
There must be a way to implement one of the most common means of communication
in the computer world.
What am I missing?
Thanks.