Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
software:libusbjava:first_steps:start [2015-03-31 11:21] – angelegt kalberersoftware:libusbjava:first_steps:start [2015-04-07 10:50] kalberer
Zeile 1: Zeile 1:
 ====== First Steps with LibusbJava ====== ====== First Steps with LibusbJava ======
 +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.
 +    - Create a new Context (initialises the libusb, returns a context)
 +    - Search your device, for example via Vendor- and Product-ID
 +    - (optionally) get information out of the USB Descriptors
 +    - Open your device
 +    - Claim the desired interface
 +    - write some data with a bulk transfer to your device
 +    - Release interface
 +    - Close the device
  
 +<code java>Context useCtx = null;                           
 +Device usbDev = null;
 +try {
 +        useCtx = new Context();                                                 /* 1 */
 +} catch (LibusbException e) {
 +        System.out.println("Init failed:");
 + e.printStackTrace();
 +}
 +
 +System.out.println("Search Device:");
 +try {
 + usbDev = Device.search(useCtx, 0x8235, 0x100);                           /* 2 */
 +
 +} catch (LibusbException e) {
 + System.out.println("Error occured: search");
 + e.printStackTrace();
 +}
 +
 +if(usbDev == null) return;
 +
 +try {
 + usbDev.open();                                                           /* 4 */
 + usbDev.claimInterface(0);                                              /* 5 */
 + byte[] data = {(byte)0x40, (byte)0x80, (byte)0x12, (byte)0x16};
 + int res = usbDev.bulkTransfer(2, data, data.length, 0);               /* 6 */
 + if(res == data.length){
 +         System.out.println("Bulk tranfer 1 successful.");
 + }
 + else{
 + System.out.println("Bulk transfer 1 failed.");
 + }
 + usbDev.reset();
 + res = 0;
 + res = usbDev.bulkTransfer(2, data, data.length, 0);                   /* 6 */
 + if(res == data.length){
 + System.out.println("Bulk tranfer 2 successful.");
 + }
 + else{
 + System.out.println("Bulk transfer 2 failed.");
 + }
 + usbDev.releaseInterface(0);                                            /* 7 */
 + usbDev.close();                                                          /* 8 */
 + System.out.println("Device closed.");
 +} catch (LibusbException e) {
 + System.out.println("Error occured: transfer");
 + e.printStackTrace();
 +}
 +</code>