I have my java program working with my usb device under Linux. I am now
trying to get it working under Windows and Mac OS. I am trying to use
the javax-usb-libusb programs as modified by Rockhopper (see
jSyncManager project).
I have got as far as opening a pipe. I can find out that it is an input
pipe in interrupt mode.
In the Linux version, I then send:-
usbPipe.syncSubmit(buffer);
This doesn't work. On examining the source code in
WindowsPipeOsImp.java, you can see that this method is not defined.
I then tried defining a irp and sending :-
DefaultUsbIrp irp = new DefaultUsbIrp(buffer);
irp.setAcceptShortPacket(true);
usbPipe.syncSubmit(irp);
This gets me a bit further. As error message tells me that
"WindowsPipeOsImp.asyncSubmit: end point type not (yet) supported!"
However, interrupt type endpoint appears to 1 of the 2 types that is
supported. Any idea where I am going wrong?
My next tack was to try editing the source code to trace what was
happening. After much hassle, I have a structure that compiles but
gives a runtime error.
In a folder called javaxusbtest, I have:-
my program ComfortDriver.java,
the source files from javax-usb-windows\src\com\mcreations\usb\windows,
a folder called com which contains the class files after compilation,
a folder called net which contains the class files from jsr80_windows.jar
and the javax.usb.properties file.
On running, I get the message:-
Exception in thread "main" ava.lang.RuntimeException: Error: The
UsbServices implementation class
com.mcreations.usb.windows.WindowsUsbServices was not found
: com.mcreations.usb.WindowsUsbServices
at ComfortDriver.getVirtualRootHub(ComfoertDriver.java:251)
at ComfortDriver.main(ComfoertDriver.java:22)
the code at lines 248-254 are:-
try {
services = UsbHostManager.getUsbServices();
} catch ( UsbException uE ) {
throw new RuntimeException("Error : " + uE.getMessage());
} catch ( SecurityException sE ) {
throw new RuntimeException("Error : " + sE.getMessage());
}
I have traced this error message to the javax.usb.properties file where
the 1st active line says:
javax.usb.services = com.mcreations.usb.windows.WindowsUsbServices.
As far as I can see, I have the file WindowsUsbServices.class in the
directory
com\.mcreations\usb\windows
I have tried amending this line in the properties file but haven't been
able to find the correct file designation - the error message changes
when I change the properties file.
What am I doing wrong?
Is there anyone got a working Windows or Mac version working yet?
abg
--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.430 / Virus Database: 268.14.6/535 - Release Date: 15/11/06 15:47
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
javax-usb-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/javax-usb-devel