Hi,

been lurking on this list for a few years now, I believe.

Just spent a frustrating few hours in the list archives and
googling the net to decide what to do.

I'm about to write some code that will need to access
a USB HID device. I mainly work on Mac and it seems
that this will not be a big undertaking no matter how I
do it. I can do it in C with the Mac OS IOKit but since
essentially what I'm doing is not in anyway Mac specific
it would make sense to write it to a cross platform USB API.
And since Java is cross platform and I prefer to work
with Java anyway, a Java USB API is what I would like to have.
This is the very reason I've been lurking this list.

My today's research produced pretty much similiar results as
the once I've conducted in the past one or two years:

there is no working cross platform USB API, not for C, not for Java,
at least not one that has a future. A cross platform C API
would be fine as it would be trivial to access that using JNA
or JNI.

Here is my summary of the situation:

Project: jUSB
Language: Java
Status: Dead, last commits from 2002
Supports: Linux

Project: libusb 0.1
Language: C
Supports: Linux,  MacOS X, Windows(libusb-win32 project)
Status: complete, but no development in sight
Notes: no isochronous endpoint / asynchronous I/O

Project: libusb 1.0
Language: C
Supports: Linux
Status: complete, developed activly?
Notes: API not compatible with 0.1, but a wrapper exist

Project: OpenUSB
Language: C
Supports: Linux/BSD/Darwin (Mac OS X?) no Windows
Status: Recent development
Notes: Very little info, backed by SUN?

Project: jsr80 / javax.usb
Language: Java
Supports: Linux
Status: progressing slooowly for years
Notes: The official USB API, some promise of Windows port

Project: libusb4j
Language: Java
Supports: what ever libusb supports
Notes: uses libusb 0.1 API so at the moment a sort of dead end

Now why I'm writing on this mailing list? Since this javax.usb
is *the* official USB API this seems the most logical place to
discuss this. No point discussing this an a dead project's
mailing list and OpenUSB does not even have one!

The purpose of all this rant? I'm going to put in some serious
hours to implement what I need. As consequence I'm going
to learn (or fail!) how to 'do' USB on Mac and hence I
might as well contribute something to the Java USB API
project, but I would not like to back the wrong horse.
So I would like to contribute to a project that has a future
ie will become the dominant standard and that will
contribute something back to me (I'm not keen on
writing Linux/Windows support but I would like to have them).

But at the moment I do not know which horse to back.

I'm instinctively drawn to jsr80/javax.usb since it
is the 'official' API but I've been badly disappointed
*over the years* at the slow pace anything but Linux port.

Like I said, I could maybe contribute (parts of) a Mac port but
I would like to see a Windows port too.

libusb 0.1 seems to be the best API at the moment
for me since it works for the major three platforms
that I'm interested in but it looks like a dead end
and investing on it seem wrong.

OpenUSB shows some promise but not much info
is available on it. Some claim it is backed by Sun!

It makes my head spin to think how many *different*
efforts there have been to implement across platforms
something that JSR80 specifies in little more
than a dozen pages. What a waste. I guess cross platform is in
nobody's interest, everyone is just interested in *their* platform.


br Kusti


 


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
javax-usb-devel mailing list
javax-usb-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/javax-usb-devel

Reply via email to