Mercurial > hg > ucis.core
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); |