LibusbJava

libusb for Java

User Tools

Site Tools


first_steps:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
first_steps:start [2015/05/27 16:14] akalbererfirst_steps:start [2016/07/12 10:37] (current) akalberer
Line 1: Line 1:
-====== First Steps with Libusb-Java ====== +====== First Steps with LibusbJava ====== 
-The following short example will show you how to use Libusb-Java in your Java-Project.+ 
 +<box 35% red right | **Important note for Windows**> 
 +  * getDeviceList() of libusb and Device.search() of LibusbJava return the first device with the corresponding VID, PID. In Windows a composite device is represented by multiple devices with the same VID, PID, so you will have to search for the one you want to use (see [[http://libusb.6.n5.nabble.com/libusb-How-to-access-composite-devices-properly-on-Windows-td5714029.html#a5714031|libusb Mailing List]]). 
 +</box> 
 + 
 +The following short example will show you how to use LibusbJava in your Java-Project.
 The following code describes the required steps to do a bulk transfer to your device. The following code describes the required steps to do a bulk transfer to your device.
     - Create a new Context (initialises the libusb, returns a context)     - Create a new Context (initialises the libusb, returns a context)
Line 14: Line 19:
 Device usbDev = null; Device usbDev = null;
 try { try {
-        useCtx = new Context();                                                 /* 1 */+        useCtx = new Context();                                                  /* 1 */
 } catch (LibusbException e) { } catch (LibusbException e) {
         System.out.println("Init failed:");         System.out.println("Init failed:");
Line 33: Line 38:
 try { try {
  usbDev.open();                                                           /* 4 */  usbDev.open();                                                           /* 4 */
- usbDev.claimInterface(0);                                              /* 5 */+ usbDev.claimInterface(0);                                                /* 5 */
  byte[] data = {(byte)0x40, (byte)0x80, (byte)0x12, (byte)0x16};  byte[] data = {(byte)0x40, (byte)0x80, (byte)0x12, (byte)0x16};
- int res = usbDev.bulkTransfer(2, data, data.length, 0);               /* 6 */+ int res = usbDev.bulkTransfer(2, data, data.length, 0);                  /* 6 */
  if(res == data.length){  if(res == data.length){
          System.out.println("Bulk tranfer 1 successful.");          System.out.println("Bulk tranfer 1 successful.");
Line 44: Line 49:
  usbDev.reset();  usbDev.reset();
  res = 0;  res = 0;
- res = usbDev.bulkTransfer(2, data, data.length, 0);                   /* 6 */+ res = usbDev.bulkTransfer(2, data, data.length, 0);                      /* 6 */
  if(res == data.length){  if(res == data.length){
  System.out.println("Bulk tranfer 2 successful.");  System.out.println("Bulk tranfer 2 successful.");
Line 51: Line 56:
  System.out.println("Bulk transfer 2 failed.");  System.out.println("Bulk transfer 2 failed.");
  }  }
- usbDev.releaseInterface(0);                                            /* 7 */+ usbDev.releaseInterface(0);                                              /* 7 */
  usbDev.close();                                                          /* 8 */  usbDev.close();                                                          /* 8 */
  System.out.println("Device closed.");  System.out.println("Device closed.");
first_steps/start.1432736046.txt.gz · Last modified: 2016/02/25 13:33 (external edit)