⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 runusbcontrollertest.java

📁 JAVA 访问USB JAVA 访问USB JAVA 访问USB JAVA 访问USB JAVA 访问USB JAVA 访问USB
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * RunUSBControllerTest.java * * Created on 23. Juli 2003, 17:31 */import usb.core.*;import usb.windows.*;import java.io.IOException;import usb.test.ControllerUSBListener;/** * * @author  mike */public class RunUSBControllerTest {         private static final int OBSERVATION_TIME = 1    ;        /** Creates a new instance of RunUSBControllerTest */    public RunUSBControllerTest() {    }        /**     * @param args the command line arguments     */    public static void main(String[] args) {       System.out.println(">>> RunUSBControllerTest: Observation Time = "+ OBSERVATION_TIME +"s <<<");        try{                      Host host = HostFactory.getHost();           if(host == null) throw new Exception("USB is not available!");                      // add the ControllerUSBListener to the host           host.addUSBListener(new ControllerUSBListener());        // printUSBStack(host.getBusses()) ;                              long	start = System.currentTimeMillis ();        long    end = (OBSERVATION_TIME * 1000) + start;        while(System.currentTimeMillis() <= end) continue;         System.out.println(">>> USB Device Stack at the End: <<<");         printUSBStack(host.getBusses()) ;                 }catch (SecurityException e) {	    System.err.println ("USB permissions problem:");	    System.err.println (e.getMessage ());	    System.exit (1);	}catch(USBException e){          System.err.println (e.getMessage ());          e.printStackTrace ();        }catch(Exception e){          e.printStackTrace ();        }    }               /**    * prints all devices on this bus inclusive the root hub    */   private static void printUSBStack(Bus[] busses) {        try{          DeviceImpl dev;          for(int k=0; k < busses.length ; k++){             System.out.println("\n\nBus[ " + ((USB)busses[k]).getBusNum() + " ]  ");               for(int i = 0; i < 5; i++){                  dev = (DeviceImpl)busses[k].getDevice(i);                System.out.print(" [ " + i + " ] :  ");                if(dev != null){                       if(dev.getAddress() == 0)        System.out.println(" [ROOT]          numOfPort:" + dev.getNumPorts()+"  Address:" + dev.getAddress());                       else {                           if(dev.getNumPorts() > 0)   System.out.println(" [EXTERNAL HUB]  numOfPort:" + dev.getNumPorts()+"  Address:" + dev.getAddress());                           else System.out.println(" [USB DEVICE]    on Port "+dev.getHubPortNum() +  "  Address           : " + dev.getAddress());                           System.out.println("                                      uniqueID          : " + dev.getUniqueDeviceID());                           System.out.println("                                      driverKeyName     : " + dev.getDriverKeyName());                           System.out.println("                                      friendlyDeviceName: " + dev.getFriendlyDeviceName());                           if (dev instanceof Device) System.out.print("                                      Object Type       : Device");                           if (dev instanceof DeviceImpl) System.out.print(", DeviceImpl");                           if (dev instanceof JUSB) System.out.println(", JUSB");                           if (dev instanceof NonJUSB) System.out.println(", NonJUSB");                                                     if(dev instanceof NonJUSB)printDeviceDescriptor(dev);          System.out.println();                           //printConfigurationDescriptor(dev);   System.out.println();                           //printInterfaceDescriptors(dev);      System.out.println();                           //printEndpointDescriptors(dev);       System.out.println();                                                                                    if(dev instanceof JUSB){                             JUSB jdev = (JUSB)dev;                             //DeviceDescriptor dd = jdev.getDeviceDescriptor();                             //String product = dd.getProduct(0);                            //for(byte bRequest = 0; bRequest < 15; bRequest++){                             //byte bRequest = 0x06;                             try{                                  // Get Device Descriptor though a Setup Request according to USB spec.  9.4.3                                 // byte [] buf = jdev.readControl((byte)0x80,(byte)bRequest,(short) 0x0100,(short) 0x0000,(short) 0x0012);                                 //  jdev.printByteArray(buf, "Read Control: ServicePacket Get Device Descriptor: Byte (Hex):", 16, 18);                                   byte buf [];                                   buf = ControlMessage.getStandardDescriptor (jdev, Descriptor.TYPE_DEVICE, (byte) 0, 0, 18);                                   Descriptor descriptorJUSB = new DeviceDescriptor (jdev, buf);                                   printDeviceDescriptorJUSB(jdev);          System.out.println();                                                                    /* int langid[];                                   langid = ControlMessage.getLanguages(jdev);                                   for(int m = 0; m < langid.length; m++){                                      System.out.println("Language ID: " + langid[m] + "  Hex: " + Integer.toHexString(langid[m]));                                   }                                  */                                                                    //buf = ControlMessage.getStatus(jdev, ControlMessage.RECIPIENT_DEVICE | ControlMessage.TYPE_STANDARD, 0, 0, 2);                                                                       buf = ControlMessage.getStatus(jdev, ControlMessage.RECIPIENT_ENDPOINT | ControlMessage.TYPE_STANDARD, 0, 0, 2);                                   System.out.println("Status : [1]: " +buf[1] + " [0]: " + buf[0]);                                  //buf = ControlMessage.getStatus(jdev, ControlMessage.RECIPIENT_INTERFACE | ControlMessage.TYPE_STANDARD, 0, 0, 2);                                   //printConfigurationDescriptor2(jdev.getConfiguration(0));                                  // printConfigurationDescriptor2(jdev.getConfiguration());                                    //buf = ControlMessage.getStandardDescriptor(jdev, Descriptor.TYPE_CONFIGURATION,(byte)0,0,0);                                   //Configuration configJUSB = new Configuration (jdev, buf);                                  //printConfigurationDescriptor2(configJUSB);                                   printEndpointDescriptors(jdev);                                                                     try{                                                                            buf = jdev.readIntr(0x81, 8);                                       printBuffer(buf);                                     buf = jdev.readIntr(0x82, 32);                                       printBuffer(buf);                                     buf = jdev.readIntr(0x81, 8);                                       printBuffer(buf);                                                                      }catch(USBException e){                                        System.out.println("readIntr ERROR !!!! " + e.getMessage());                                   }                                                                                                                                                                                                            }catch(IOException e){                               System.out.println(e.getMessage() + " ERROR !!!!!!!!!!!!!!!");                             }                                                        //}                                                             }                       }                    }                   else System.out.println(" [NULL] ");                              }          }        }catch(Exception e){	    e.printStackTrace ();        }     }      public static void printSetupPacket(byte [] sp){

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -