From 17dcf1b09d385f0a9cb14cba5cfcc4981780b3a2 Mon Sep 17 00:00:00 2001 From: schlaepfer Date: Fri, 24 Nov 2006 13:05:08 +0000 Subject: [PATCH] - LibusbWin renamed to LibusbJava git-svn-id: https://svn.code.sf.net/p/libusbjava/code/trunk@208 94ad28fe-ef68-46b1-9651-e7ae4fcf1c4c --- java/src/ch/ntb/usb/Device.java | 62 +++++++++---------- .../usb/{LibusbWin.java => LibusbJava.java} | 10 ++- .../src/ch/ntb/usb/Usb_Config_Descriptor.java | 2 +- .../ch/ntb/usb/Usb_Interface_Descriptor.java | 2 +- java/src/ch/ntb/usb/Utils.java | 12 ++-- java/src/ch/ntb/usb/usbView/UsbTreeModel.java | 24 +++---- java/src/ch/ntb/usb/usbView/UsbView.java | 18 +++--- java/test/ch/ntb/usb/test/DeviceTest.java | 6 +- 8 files changed, 70 insertions(+), 66 deletions(-) rename java/src/ch/ntb/usb/{LibusbWin.java => LibusbJava.java} (95%) diff --git a/java/src/ch/ntb/usb/Device.java b/java/src/ch/ntb/usb/Device.java index b940742..afe6c15 100644 --- a/java/src/ch/ntb/usb/Device.java +++ b/java/src/ch/ntb/usb/Device.java @@ -48,18 +48,18 @@ public class Device { } private void initUSB() { - LibusbWin.usb_init(); + LibusbJava.usb_init(); initUSBDone = true; } private Usb_Bus initBus() throws USBException { - LibusbWin.usb_find_busses(); - LibusbWin.usb_find_devices(); + LibusbJava.usb_find_busses(); + LibusbJava.usb_find_devices(); - Usb_Bus bus = LibusbWin.usb_get_busses(); + Usb_Bus bus = LibusbJava.usb_get_busses(); if (bus == null) { throw new USBException("LibusbWin.usb_get_busses(): " - + LibusbWin.usb_strerror()); + + LibusbJava.usb_strerror()); } return bus; @@ -183,10 +183,10 @@ public class Device { dev = initDevice(); if (dev != null) { - int res = LibusbWin.usb_open(dev); + int res = LibusbJava.usb_open(dev); if (res <= 0) { throw new USBException("LibusbWin.usb_open: " - + LibusbWin.usb_strerror()); + + LibusbJava.usb_strerror()); } usbDevHandle = res; } @@ -221,10 +221,10 @@ public class Device { throw new USBException("invalid device handle"); } release_interface(usbDevHandle, dev_interface); - if (LibusbWin.usb_close(usbDevHandle) < 0) { + if (LibusbJava.usb_close(usbDevHandle) < 0) { usbDevHandle = 0; throw new USBException("LibusbWin.usb_close: " - + LibusbWin.usb_strerror()); + + LibusbJava.usb_strerror()); } usbDevHandle = 0; maxPacketSize = -1; @@ -242,10 +242,10 @@ public class Device { if (usbDevHandle <= 0) { throw new USBException("invalid device handle"); } - if (LibusbWin.usb_reset(usbDevHandle) < 0) { + if (LibusbJava.usb_reset(usbDevHandle) < 0) { usbDevHandle = 0; throw new USBException("LibusbWin.usb_reset: " - + LibusbWin.usb_strerror()); + + LibusbJava.usb_strerror()); } usbDevHandle = 0; logger.info("device reset"); @@ -280,7 +280,7 @@ public class Device { if (length <= 0) { throw new USBException("size must be > 0"); } - int lenWritten = LibusbWin.usb_bulk_write(usbDevHandle, out_ep_address, + int lenWritten = LibusbJava.usb_bulk_write(usbDevHandle, out_ep_address, data, length, timeout); if (lenWritten < 0) { if (lenWritten == TIMEOUT_ERROR_CODE) { @@ -293,10 +293,10 @@ public class Device { false); } throw new USBTimeoutException("LibusbWin.usb_bulk_write: " - + LibusbWin.usb_strerror()); + + LibusbJava.usb_strerror()); } throw new USBException("LibusbWin.usb_bulk_write: " - + LibusbWin.usb_strerror()); + + LibusbJava.usb_strerror()); } logger.info("length written: " + lenWritten); @@ -341,7 +341,7 @@ public class Device { if (size <= 0) { throw new USBException("size must be > 0"); } - int lenRead = LibusbWin.usb_bulk_read(usbDevHandle, in_ep_address, + int lenRead = LibusbJava.usb_bulk_read(usbDevHandle, in_ep_address, data, size, timeout); if (lenRead < 0) { if (lenRead == TIMEOUT_ERROR_CODE) { @@ -353,10 +353,10 @@ public class Device { return readBulk(in_ep_address, data, size, timeout, false); } throw new USBTimeoutException("LibusbWin.usb_bulk_read: " - + LibusbWin.usb_strerror()); + + LibusbJava.usb_strerror()); } throw new USBException("LibusbWin.usb_bulk_read: " - + LibusbWin.usb_strerror()); + + LibusbJava.usb_strerror()); } logger.info("length read: " + lenRead); @@ -401,7 +401,7 @@ public class Device { if (length <= 0) { throw new USBException("size must be > 0"); } - int lenWritten = LibusbWin.usb_interrupt_write(usbDevHandle, + int lenWritten = LibusbJava.usb_interrupt_write(usbDevHandle, out_ep_address, data, length, timeout); if (lenWritten < 0) { if (lenWritten == TIMEOUT_ERROR_CODE) { @@ -414,10 +414,10 @@ public class Device { timeout, false); } throw new USBTimeoutException("LibusbWin.usb_bulk_write: " - + LibusbWin.usb_strerror()); + + LibusbJava.usb_strerror()); } throw new USBException("LibusbWin.usb_bulk_write: " - + LibusbWin.usb_strerror()); + + LibusbJava.usb_strerror()); } logger.info("length written: " + lenWritten); @@ -462,7 +462,7 @@ public class Device { if (size <= 0) { throw new USBException("size must be > 0"); } - int lenRead = LibusbWin.usb_interrupt_read(usbDevHandle, in_ep_address, + int lenRead = LibusbJava.usb_interrupt_read(usbDevHandle, in_ep_address, data, size, timeout); if (lenRead < 0) { if (lenRead == TIMEOUT_ERROR_CODE) { @@ -475,10 +475,10 @@ public class Device { false); } throw new USBTimeoutException("LibusbWin.usb_bulk_read: " - + LibusbWin.usb_strerror()); + + LibusbJava.usb_strerror()); } throw new USBException("LibusbWin.usb_bulk_read: " - + LibusbWin.usb_strerror()); + + LibusbJava.usb_strerror()); } logger.info("length read: " + lenRead); @@ -511,18 +511,18 @@ public class Device { */ private void claim_interface(int usb_dev_handle, int configuration, int interface_, int altinterface) throws USBException { - if (LibusbWin.usb_set_configuration(usb_dev_handle, configuration) < 0) { + if (LibusbJava.usb_set_configuration(usb_dev_handle, configuration) < 0) { throw new USBException("LibusbWin.usb_set_configuration: " - + LibusbWin.usb_strerror()); + + LibusbJava.usb_strerror()); } - if (LibusbWin.usb_claim_interface(usb_dev_handle, interface_) < 0) { + if (LibusbJava.usb_claim_interface(usb_dev_handle, interface_) < 0) { throw new USBException("LibusbWin.usb_claim_interface: " - + LibusbWin.usb_strerror()); + + LibusbJava.usb_strerror()); } if (altinterface >= 0) { - if (LibusbWin.usb_set_altinterface(usb_dev_handle, altinterface) < 0) { + if (LibusbJava.usb_set_altinterface(usb_dev_handle, altinterface) < 0) { throw new USBException("LibusbWin.usb_set_altinterface: " - + LibusbWin.usb_strerror()); + + LibusbJava.usb_strerror()); } } logger.info("interface claimed"); @@ -540,10 +540,10 @@ public class Device { */ private void release_interface(int dev_handle, int interface_) throws USBException { - if (LibusbWin.usb_release_interface(dev_handle, interface_) < 0) { + if (LibusbJava.usb_release_interface(dev_handle, interface_) < 0) { usbDevHandle = 0; throw new USBException("LibusbWin.usb_release_interface: " - + LibusbWin.usb_strerror()); + + LibusbJava.usb_strerror()); } logger.info("interface released"); } diff --git a/java/src/ch/ntb/usb/LibusbWin.java b/java/src/ch/ntb/usb/LibusbJava.java similarity index 95% rename from java/src/ch/ntb/usb/LibusbWin.java rename to java/src/ch/ntb/usb/LibusbJava.java index 7bfac42..404dedf 100644 --- a/java/src/ch/ntb/usb/LibusbWin.java +++ b/java/src/ch/ntb/usb/LibusbJava.java @@ -23,10 +23,9 @@ package ch.ntb.usb; * and adapted where neccessary.
* * @author schlaepfer - * @version DLL: 00.02.00 * */ -public class LibusbWin { +public class LibusbJava { /** * Sets the debugging level of libusb.
@@ -327,6 +326,11 @@ public class LibusbWin { /** **************************************************************** */ static { - System.load(System.getenv("SystemRoot") + "/system32/LibusbWin.dll"); + String os = System.getProperty("os.name"); + if (os.contains("Windows")) { + System.loadLibrary("LibusbJava"); + } else { + System.loadLibrary("usbJava"); + } } } \ No newline at end of file diff --git a/java/src/ch/ntb/usb/Usb_Config_Descriptor.java b/java/src/ch/ntb/usb/Usb_Config_Descriptor.java index bcb5998..a6e14cf 100644 --- a/java/src/ch/ntb/usb/Usb_Config_Descriptor.java +++ b/java/src/ch/ntb/usb/Usb_Config_Descriptor.java @@ -39,7 +39,7 @@ public class Usb_Config_Descriptor extends Usb_Descriptor { public byte bNumInterfaces; /** - * Value to use as an argument to select this configuration ({@link LibusbWin#usb_set_configuration(int, int)}). + * Value to use as an argument to select this configuration ({@link LibusbJava#usb_set_configuration(int, int)}). */ public byte bConfigurationValue; diff --git a/java/src/ch/ntb/usb/Usb_Interface_Descriptor.java b/java/src/ch/ntb/usb/Usb_Interface_Descriptor.java index b98ca04..729cecb 100644 --- a/java/src/ch/ntb/usb/Usb_Interface_Descriptor.java +++ b/java/src/ch/ntb/usb/Usb_Interface_Descriptor.java @@ -31,7 +31,7 @@ public class Usb_Interface_Descriptor extends Usb_Descriptor { public byte bInterfaceNumber; /** - * Value used to select alternate setting ({@link LibusbWin#usb_set_altinterface(int, int)}). + * Value used to select alternate setting ({@link LibusbJava#usb_set_altinterface(int, int)}). */ public byte bAlternateSetting; diff --git a/java/src/ch/ntb/usb/Utils.java b/java/src/ch/ntb/usb/Utils.java index 646a170..d1db236 100644 --- a/java/src/ch/ntb/usb/Utils.java +++ b/java/src/ch/ntb/usb/Utils.java @@ -8,7 +8,7 @@ package ch.ntb.usb; public class Utils { - public static void logUsb(Usb_Bus bus) { + public static void logBus(Usb_Bus bus) { Usb_Bus usb_Bus = bus; while (usb_Bus != null) { System.out.println(usb_Bus.toString()); @@ -17,24 +17,24 @@ public class Utils { System.out.println("\t" + dev.toString()); // Usb_Device_Descriptor Usb_Device_Descriptor defDesc = dev.descriptor; - System.out.println("\t" + defDesc.toString()); + System.out.println("\t\t" + defDesc.toString()); // Usb_Config_Descriptor Usb_Config_Descriptor[] confDesc = dev.config; for (int i = 0; i < confDesc.length; i++) { - System.out.println("\t" + confDesc[i].toString()); + System.out.println("\t\t" + confDesc[i].toString()); Usb_Interface[] int_ = confDesc[i].interface_; if (int_ != null) { for (int j = 0; j < int_.length; j++) { - System.out.println("\t" + int_[j].toString()); + System.out.println("\t\t\t" + int_[j].toString()); Usb_Interface_Descriptor[] intDesc = int_[j].altsetting; if (intDesc != null) { for (int k = 0; k < intDesc.length; k++) { - System.out.println("\t" + System.out.println("\t\t\t\t" + intDesc[k].toString()); Usb_Endpoint_Descriptor[] epDesc = intDesc[k].endpoint; if (epDesc != null) { for (int e = 0; e < epDesc.length; e++) { - System.out.println("\t" + System.out.println("\t\t\t\t\t" + epDesc[e].toString()); } } diff --git a/java/src/ch/ntb/usb/usbView/UsbTreeModel.java b/java/src/ch/ntb/usb/usbView/UsbTreeModel.java index cde3ccf..dd3c0a7 100644 --- a/java/src/ch/ntb/usb/usbView/UsbTreeModel.java +++ b/java/src/ch/ntb/usb/usbView/UsbTreeModel.java @@ -17,7 +17,7 @@ import javax.swing.event.TreeSelectionListener; import javax.swing.tree.TreeModel; import javax.swing.tree.TreePath; -import ch.ntb.usb.LibusbWin; +import ch.ntb.usb.LibusbJava; import ch.ntb.usb.Usb_Bus; import ch.ntb.usb.Usb_Config_Descriptor; import ch.ntb.usb.Usb_Device; @@ -226,14 +226,14 @@ public class UsbTreeModel implements TreeModel, TreeSelectionListener { && ((dev.descriptor.iManufacturer > 0) || (dev.descriptor.iProduct > 0) || (dev.descriptor.iSerialNumber > 0))) { if (tmpDevDesc.equals(devDesc)) { - int handle = LibusbWin.usb_open(dev); + int handle = LibusbJava.usb_open(dev); sb.append("\nString descriptors\n"); if (handle <= 0) { sb.append("\terror opening the device\n"); break; } if (dev.descriptor.iManufacturer > 0) { - String manufacturer = LibusbWin + String manufacturer = LibusbJava .usb_get_string_simple(handle, devDesc.iManufacturer); if (manufacturer == null) @@ -242,7 +242,7 @@ public class UsbTreeModel implements TreeModel, TreeSelectionListener { + "\n"); } if (dev.descriptor.iProduct > 0) { - String product = LibusbWin + String product = LibusbJava .usb_get_string_simple(handle, devDesc.iProduct); if (product == null) @@ -250,7 +250,7 @@ public class UsbTreeModel implements TreeModel, TreeSelectionListener { sb.append("\tiProduct: " + product + "\n"); } if (dev.descriptor.iSerialNumber > 0) { - String serialNumber = LibusbWin + String serialNumber = LibusbJava .usb_get_string_simple(handle, devDesc.iSerialNumber); if (serialNumber == null) @@ -258,7 +258,7 @@ public class UsbTreeModel implements TreeModel, TreeSelectionListener { sb.append("\tiSerialNumber: " + serialNumber + "\n"); } - LibusbWin.usb_close(handle); + LibusbJava.usb_close(handle); } } dev = dev.next; @@ -296,13 +296,13 @@ public class UsbTreeModel implements TreeModel, TreeSelectionListener { for (int i = 0; i < tmpConfDesc.length; i++) { if ((tmpConfDesc.equals(confDesc)) && (confDesc.iConfiguration > 0)) { - int handle = LibusbWin.usb_open(dev); + int handle = LibusbJava.usb_open(dev); sb.append("\nString descriptors\n"); if (handle <= 0) { sb.append("\terror opening the device\n"); break; } - String configuration = LibusbWin + String configuration = LibusbJava .usb_get_string_simple(handle, confDesc.iConfiguration); if (configuration == null) @@ -310,7 +310,7 @@ public class UsbTreeModel implements TreeModel, TreeSelectionListener { sb.append("\tiConfiguration: " + configuration + "\n"); - LibusbWin.usb_close(handle); + LibusbJava.usb_close(handle); } } @@ -366,21 +366,21 @@ public class UsbTreeModel implements TreeModel, TreeSelectionListener { for (int k = 0; k < ints.length; k++) { if (tmpIntDescs[i].equals(intDesc) && (intDesc.iInterface > 0)) { - int handle = LibusbWin.usb_open(dev); + int handle = LibusbJava.usb_open(dev); sb.append("\nString descriptors\n"); if (handle <= 0) { sb .append("\terror opening the device\n"); break; } - String interface_ = LibusbWin + String interface_ = LibusbJava .usb_get_string_simple(handle, intDesc.iInterface); if (interface_ == null) interface_ = "unable to fetch interface string"; sb.append("\tiInterface: " + interface_ + "\n"); - LibusbWin.usb_close(handle); + LibusbJava.usb_close(handle); } } } diff --git a/java/src/ch/ntb/usb/usbView/UsbView.java b/java/src/ch/ntb/usb/usbView/UsbView.java index dc9d2ff..a341947 100644 --- a/java/src/ch/ntb/usb/usbView/UsbView.java +++ b/java/src/ch/ntb/usb/usbView/UsbView.java @@ -21,7 +21,7 @@ import javax.swing.JTextArea; import javax.swing.JTree; import javax.swing.KeyStroke; -import ch.ntb.usb.LibusbWin; +import ch.ntb.usb.LibusbJava; import ch.ntb.usb.Usb_Bus; public class UsbView extends JFrame { @@ -144,11 +144,11 @@ public class UsbView extends JFrame { .addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { // open bus - LibusbWin.usb_init(); - LibusbWin.usb_find_busses(); - LibusbWin.usb_find_devices(); + LibusbJava.usb_init(); + LibusbJava.usb_find_busses(); + LibusbJava.usb_find_devices(); - Usb_Bus bus = LibusbWin.usb_get_busses(); + Usb_Bus bus = LibusbJava.usb_get_busses(); if (bus != null) { treeModel.fireTreeStructureChanged(bus); } @@ -166,11 +166,11 @@ public class UsbView extends JFrame { private JTree getUsbTree() { if (usbTree == null) { // open bus - LibusbWin.usb_init(); - LibusbWin.usb_find_busses(); - LibusbWin.usb_find_devices(); + LibusbJava.usb_init(); + LibusbJava.usb_find_busses(); + LibusbJava.usb_find_devices(); - Usb_Bus bus = LibusbWin.usb_get_busses(); + Usb_Bus bus = LibusbJava.usb_get_busses(); treeModel = new UsbTreeModel(bus, jPropertiesArea); usbTree = new JTree(treeModel); diff --git a/java/test/ch/ntb/usb/test/DeviceTest.java b/java/test/ch/ntb/usb/test/DeviceTest.java index 4a1e9d3..129cfa1 100644 --- a/java/test/ch/ntb/usb/test/DeviceTest.java +++ b/java/test/ch/ntb/usb/test/DeviceTest.java @@ -20,7 +20,7 @@ import org.junit.BeforeClass; import org.junit.Test; import ch.ntb.usb.Device; -import ch.ntb.usb.LibusbWin; +import ch.ntb.usb.LibusbJava; import ch.ntb.usb.USB; import ch.ntb.usb.USBException; import ch.ntb.usb.Usb_Config_Descriptor; @@ -52,7 +52,7 @@ public class DeviceTest { devInfoProp.load(propInputStream); String devInfoClazzName = devInfoProp.getProperty(deviceInfoKey); if (devInfoClazzName == null) { - throw new IllegalArgumentException("property " + deviceInfoKey + throw new Exception("property " + deviceInfoKey + " not found in file " + testdevicePropertiesFile); } Class devInfoClazz = Class.forName(devInfoClazzName); @@ -62,7 +62,7 @@ public class DeviceTest { testData = new byte[devinfo.getMaxDataSize()]; readData = new byte[testData.length]; // initialise the device - LibusbWin.usb_set_debug(255); + LibusbJava.usb_set_debug(255); dev = USB.getDevice(devinfo.getIdVendor(), devinfo.getIdProduct()); }