====== Overview ======
LibusbJava is a Java wrapper for [[http://libusb.info|libusb]] and is developed and maintained at the [[https://www.ost.ch/de/forschung-und-dienstleistungen/technik/systemtechnik/inf/ | INF Institut für Ingenieurinformatik]] of the [[https://www.ost.ch/en/|Eastern Switzerland University of Applied Sciences]].
[{{:libusbjavaoverview.png?150|Overview}}]
This projects provides the necessary shared libraries in C++ and Java classes to access libusb trough the Java Native Interface. The class ch.ntb.usb.LibusbJava loads the shared library and provides the native interface to access the underlying libusb. \\
The source code is organized as follows:
* LibusbJava_C -> the code for the shared library in C
* LibusbJava_Java -> the java source code together with eclipse plugin project
* LibusbJavaFeature -> the feature project eclipse plugin
LibusbJava is licensed under the Apache License 2.0.\\
For any feedback or suggestions please use the GitLab project page at [[https://gitlab.ost.ch/tech/inf/public/libusb-java]].
You can use an USB device with LibusbJava with few steps: create a context, search a device, open it, claim an interface. After this you are ready to transfer data to your device (see [[.:first_steps:start|First Steps]]).\\
==== News ====
transferred from github to our gitlab server
change of license to Apache License 2.0
full libusb support (interrupt and isochronous transfers added)
----
* [[https://gitlab.ost.ch/tech/inf/public/libusb-java| Code and Downloads]]
* [[http://api.libusb-java.ch/| API (1.2)]]
* Isochronous transfers work on Linux. On Windows, the libusb needs a patch to work with WinUSB, see [[https://github.com/libusb/libusb/issues/46]].