[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Discuss-gnuradio] fusb and select(2)
From: |
ldoolitt |
Subject: |
[Discuss-gnuradio] fusb and select(2) |
Date: |
Sat, 14 Oct 2006 19:23:18 -0700 |
User-agent: |
Mutt/1.5.13 (2006-08-11) |
Friends -
As a die-hard old-school unix programmer, I want to be able to grab data
from a USRP-like device, under control of a main loop based on
select(2). The comments in the source code of fusb are not encouraging.
Quoting from gnuradio-3.0/usrp/host/lib/fusb_linux.cc:
// Totally evil and fragile extraction of file descriptor from
// guts of libusb. They don't install usbi.h, which is what we'd need
// to do this nicely.
//
// FIXME if everything breaks someday in the future, look here...
static int
fd_from_usb_dev_handle (usb_dev_handle *udh)
{
return *((int *) udh);
}
.. and of course this function is not exported via the public class
interface. Worse, what I want is to know when I can read from an
endpoint, not the raw device. And when I go to read from an endpoint
marked as having something, it still doesn't have a nonblocking read,
that will return as many bytes as are available.
I don't think my desires are unreasonable. Has anyone else tried
to multitask[*] with USB I/O? I'll hack up fusb if I have to.
- Larry
[*] Not counting threads. Quoting Alan Cox: "Computers are state
machines. Threads are for people who can't program state machines."
- [Discuss-gnuradio] fusb and select(2),
ldoolitt <=