Extend USB_GetDeviceConfigDescriptor() routine to require the configuration number...
[pub/USBasp.git] / LUFA / Drivers / USB / HighLevel / ConfigDescriptor.c
index bbe258b..47982b8 100644 (file)
@@ -31,7 +31,7 @@
 #include "ConfigDescriptor.h"\r
 \r
 #if defined(USB_CAN_BE_HOST)\r
-uint8_t USB_GetDeviceConfigDescriptor(uint16_t* const ConfigSizePtr, void* BufferPtr)\r
+uint8_t USB_GetDeviceConfigDescriptor(uint8_t ConfigNumber, uint16_t* const ConfigSizePtr, void* BufferPtr)\r
 {\r
        uint8_t ErrorCode;\r
 \r
@@ -39,7 +39,7 @@ uint8_t USB_GetDeviceConfigDescriptor(uint16_t* const ConfigSizePtr, void* Buffe
                {\r
                        .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_DEVICE),\r
                        .bRequest      = REQ_GetDescriptor,\r
-                       .wValue        = (DTYPE_Configuration << 8),\r
+                       .wValue        = ((DTYPE_Configuration << 8) | (ConfigNumber - 1)),\r
                        .wIndex        = 0,\r
                        .wLength       = sizeof(USB_Descriptor_Configuration_Header_t),\r
                };\r