diff options
author | liu nick <flying5yue@sina.com> | 2016-10-16 11:23:23 +0800 |
---|---|---|
committer | Cristian Maglie <c.maglie@bug.st> | 2017-03-16 19:38:01 +0200 |
commit | 611df3c4ccc8ac1c1004fb5f70b9004906752da6 (patch) | |
tree | 14423f8cfd61497495f925b2209af8e5235b4bd3 /cores/arduino/USBCore.cpp | |
parent | 3b0765979d6ed1b689e65381e264c34b071a01b4 (diff) |
use IAD Descriptor for device descriptor per the definition in "USB 2.0 ECN Interface Association Descriptor" and "USB Interface Association Descriptor Device Class Code and Use Model"
Diffstat (limited to 'cores/arduino/USBCore.cpp')
-rw-r--r-- | cores/arduino/USBCore.cpp | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/cores/arduino/USBCore.cpp b/cores/arduino/USBCore.cpp index e85c613..5a4a083 100644 --- a/cores/arduino/USBCore.cpp +++ b/cores/arduino/USBCore.cpp @@ -34,8 +34,7 @@ volatile u8 RxLEDPulse; /**< Milliseconds remaining for data Rx LED pulse */ extern const u16 STRING_LANGUAGE[] PROGMEM; extern const u8 STRING_PRODUCT[] PROGMEM; extern const u8 STRING_MANUFACTURER[] PROGMEM; -extern const DeviceDescriptor USB_DeviceDescriptor PROGMEM; -extern const DeviceDescriptor USB_DeviceDescriptorB PROGMEM; +extern const DeviceDescriptor USB_DeviceDescriptorIAD PROGMEM; extern bool _updatedLUFAbootloader; const u16 STRING_LANGUAGE[2] = { @@ -71,10 +70,7 @@ const u8 STRING_MANUFACTURER[] PROGMEM = USB_MANUFACTURER; #define DEVICE_CLASS 0x02 // DEVICE DESCRIPTOR -const DeviceDescriptor USB_DeviceDescriptor = - D_DEVICE(0x00,0x00,0x00,64,USB_VID,USB_PID,0x100,IMANUFACTURER,IPRODUCT,ISERIAL,1); - -const DeviceDescriptor USB_DeviceDescriptorB = +const DeviceDescriptor USB_DeviceDescriptorIAD = D_DEVICE(0xEF,0x02,0x01,64,USB_VID,USB_PID,0x100,IMANUFACTURER,IPRODUCT,ISERIAL,1); //================================================================== @@ -519,9 +515,7 @@ bool SendDescriptor(USBSetup& setup) const u8* desc_addr = 0; if (USB_DEVICE_DESCRIPTOR_TYPE == t) { - if (setup.wLength == 8) - _cdcComposite = 1; - desc_addr = _cdcComposite ? (const u8*)&USB_DeviceDescriptorB : (const u8*)&USB_DeviceDescriptor; + desc_addr = (const u8*)&USB_DeviceDescriptorIAD; } else if (USB_STRING_DESCRIPTOR_TYPE == t) { |