forked from PAWPAW-Mirror/lib_xua
Added USB HID descriptor (mainly for compliance..)
This commit is contained in:
@@ -1882,6 +1882,22 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2=
|
|||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef HID_CONTROLS
|
||||||
|
unsigned char hidDescriptor[] =
|
||||||
|
{
|
||||||
|
9, /* 0 bLength : Size of descriptor in Bytes */
|
||||||
|
0x21, /* 1 bDescriptorType (HID) */
|
||||||
|
0x10, /* 2 bcdHID */
|
||||||
|
0x01, /* 3 bcdHID */
|
||||||
|
0, /* 4 bCountryCode */
|
||||||
|
1, /* 5 bNumDescriptors */
|
||||||
|
0x22, /* 6 bDescriptorType[0] (Report) */
|
||||||
|
sizeof(hidReportDescriptor) & 0xff,/* 7 wDescriptorLength[0] */
|
||||||
|
sizeof(hidReportDescriptor) >> 8, /* 8 wDescriptorLength[0] */
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* Configuration Descriptor for Null device */
|
/* Configuration Descriptor for Null device */
|
||||||
unsigned char cfgDesc_Null[] =
|
unsigned char cfgDesc_Null[] =
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -372,7 +372,6 @@ void Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl,
|
|||||||
|
|
||||||
switch(sp.bRequest)
|
switch(sp.bRequest)
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifdef HID_CONTROLS
|
#ifdef HID_CONTROLS
|
||||||
case USB_GET_DESCRIPTOR:
|
case USB_GET_DESCRIPTOR:
|
||||||
|
|
||||||
@@ -381,8 +380,14 @@ void Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl,
|
|||||||
{
|
{
|
||||||
/* High byte of wValue is descriptor type */
|
/* High byte of wValue is descriptor type */
|
||||||
unsigned descriptorType = sp.wValue & 0xff00;
|
unsigned descriptorType = sp.wValue & 0xff00;
|
||||||
|
|
||||||
switch (descriptorType)
|
switch (descriptorType)
|
||||||
{
|
{
|
||||||
|
case HID_HID:
|
||||||
|
/* Return HID Descriptor */
|
||||||
|
result = XUD_DoGetRequest(ep0_out, ep0_in, hidDescriptor,
|
||||||
|
sizeof(hidDescriptor), sp.wLength);
|
||||||
|
break;
|
||||||
case HID_REPORT:
|
case HID_REPORT:
|
||||||
/* Return HID report descriptor */
|
/* Return HID report descriptor */
|
||||||
result = XUD_DoGetRequest(ep0_out, ep0_in, hidReportDescriptor,
|
result = XUD_DoGetRequest(ep0_out, ep0_in, hidReportDescriptor,
|
||||||
|
|||||||
Reference in New Issue
Block a user