comparison USBLib/Communication/LibUsbDotNet.cs @ 38:a9c4fed19e99

USBLib: fixes in USBIO driver and LibUsbDotNet compatibility code
author Ivo Smits <Ivo@UCIS.nl>
date Thu, 25 Apr 2013 23:31:52 +0200
parents 6fcedb1030bf
children 3424fa5a12c9
comparison
equal deleted inserted replaced
37:2e3f57f326b3 38:a9c4fed19e99
108 List<UsbConfigInfo> rtnConfigs = new List<UsbConfigInfo>(); 108 List<UsbConfigInfo> rtnConfigs = new List<UsbConfigInfo>();
109 byte[] cfgBuffer = new byte[UsbConstants.MAX_CONFIG_SIZE]; 109 byte[] cfgBuffer = new byte[UsbConstants.MAX_CONFIG_SIZE];
110 int iConfigs = Info.Descriptor.ConfigurationCount; 110 int iConfigs = Info.Descriptor.ConfigurationCount;
111 for (int iConfig = 0; iConfig < iConfigs; iConfig++) { 111 for (int iConfig = 0; iConfig < iConfigs; iConfig++) {
112 int iBytesTransmitted; 112 int iBytesTransmitted;
113 if (!GetDescriptor((byte)UsbDescriptorType.Configuration, 0, 0, cfgBuffer, cfgBuffer.Length, out iBytesTransmitted)) 113 if (!GetDescriptor((byte)UsbDescriptorType.Configuration, (byte)iConfig, 0, cfgBuffer, cfgBuffer.Length, out iBytesTransmitted))
114 throw new Exception("Could not read configuration descriptor"); 114 throw new Exception("Could not read configuration descriptor");
115 if (iBytesTransmitted < UsbConfigDescriptor.Size || cfgBuffer[1] != (byte)UsbDescriptorType.Configuration) 115 if (iBytesTransmitted < UsbConfigDescriptor.Size || cfgBuffer[1] != (byte)UsbDescriptorType.Configuration)
116 throw new Exception("GetDeviceConfigs: USB config descriptor is invalid."); 116 throw new Exception("GetDeviceConfigs: USB config descriptor is invalid.");
117 UsbConfigDescriptor configDescriptor = new UsbConfigDescriptor(); 117 UsbConfigDescriptor configDescriptor = new UsbConfigDescriptor();
118 Helper.BytesToObject(cfgBuffer, 0, Math.Min(UsbConfigDescriptor.Size, cfgBuffer[0]), configDescriptor); 118 Helper.BytesToObject(cfgBuffer, 0, Math.Min(UsbConfigDescriptor.Size, cfgBuffer[0]), configDescriptor);