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

Next revision
Previous revision
Last revisionBoth sides next revision
first_steps:start [2015/05/27 16:13] – created akalbererfirst_steps:start [2016/07/12 10:36] akalberer
Line 10: Line 10:
     - Release interface     - Release interface
     - Close the device     - Close the device
 +
 +<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>
  
 <code java>Context useCtx = null;                            <code java>Context useCtx = null;                           
 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 37:
 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 48:
  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 55:
  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.txt · Last modified: 2016/07/12 10:37 by akalberer