改成得胜使用的hid描述

This commit is contained in:
Virgil_lai
2023-12-12 09:14:49 +08:00
parent 791c142c94
commit a336bec81b
2 changed files with 32 additions and 23 deletions

View File

@@ -393,10 +393,10 @@ void XUA_Buffer_Ep(register chanend c_aud_out,
#endif
#ifdef PAWPAW_INOUTHID
XUD_SetReady_In(ep_hid, g_hidData_in, PAWPAW_CFG_HID_IN_BUFSIZE);// 上行
XUD_SetReady_In(ep_hid, g_hidData_in, 5);// 上行
XUD_SetReady_Out(ep_hid_out,g_hidData_out);// 下行
#endif //#ifdef PAWPAW_INOUTHID
#endif //#ifdef d
while(1)
{
XUD_Result_t result;
@@ -946,11 +946,14 @@ void XUA_Buffer_Ep(register chanend c_aud_out,
#ifdef PAWPAW_INOUTHID
case XUD_SetData_Select(c_hid, ep_hid, result):
{
// debug_printf("HID IN\n");
hid_Buffer_exchange(BUF_XMOS_PC,g_hidData_in);
// printf("HID IN\n");
if( hid_Buffer_exchange(BUF_XMOS_PC,g_hidData_in)){
}
XUD_SetReady_In(ep_hid, g_hidData_in, 5);
XUD_SetReady_In(ep_hid, g_hidData_in, PAWPAW_CFG_HID_IN_BUFSIZE);
}
break;

View File

@@ -453,24 +453,20 @@ static unsigned char hidReportDescriptorPtr[] = {
#ifdef PAWPAW_INOUTHID
#define hidReportDescriptorLength (sizeof(hidReportDescriptorPtr))
static unsigned char hidReportDescriptorPtr[] = {
0x05, 0x0c, // HID_USAGE_PAGE (Vendor Defined)
0x09, 0x01, // USAGE (Undefined)
0xa1, 0x01, // COLLECTION (Application)
// Report ID if any
0x09, 0x02, // USAGE (Undefined)
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x26, 0xff, 0x00, // LOGICAL_MAXIMUM (255)
0x75, 0x08, // REPORT_SIZE (8)
0x95, PAWPAW_CFG_HID_IN_BUFSIZE, // REPORT_COUNT (report_size)
0x81, 0x02, // INPUT (Data,Var,Abs)
// Output
0x09, 0x03, // USAGE (Undefined)
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x26, 0xff, 0x00, // LOGICAL_MAXIMUM (255)
0x75, 0x08, // REPORT_SIZE (8)
0x95, PAWPAW_CFG_HID_OUT_BUFSIZE, // REPORT_COUNT (report_size)
0x91, 0x02, // OUTPUT (Data,Var,Abs)
0xc0 // END_COLLECTION
0x05, 0x01, // USAGE_PAGE (Generic Desktop) //dwj cp 长沙西鲸
0x09, 0x00, // USAGE (0)
0xa1, 0x01, // COLLECTION (Application)
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x25, 0xff, // LOGICAL_MAXIMUM (255)
0x19, 0x01, // USAGE_MINIMUM (1)
0x29, 0x05, // USAGE_MAXIMUM (8) -dwj
0x95, 0x05, // REPORT_COUNT (8) -dwj
0x75, 0x08, // REPORT_SIZE (8)
0x81, 0x02, // INPUT (Data,Var,Abs)
0x19, 0x01, // USAGE_MINIMUM (1)
0x29, 0x05, // USAGE_MAXIMUM (8) -dwj
0x91, 0x02, // OUTPUT (Data,Var,Abs)
0xc0 // END_COLLECTION
};
#endif //#ifdef PAWPAW_INOUTHID
@@ -902,6 +898,16 @@ void XUA_Endpoint0_loop(XUD_Result_t result, USB_SetupPacket_t sp, chanend c_ep0
result = HidInterfaceClassRequests(ep0_out, ep0_in, &sp);
}
#endif
#ifdef PAWPAW_INOUTHID
if (interfaceNum == INTERFACE_NUMBER_HID)
{
debug_printf("INTERFACE_NUMBER_HID");
extern XUD_Result_t HidInterfaceClassRequests_PAWPAW(XUD_ep c_ep0_out, XUD_ep c_ep0_in, USB_SetupPacket_t sp);
HidInterfaceClassRequests_PAWPAW(ep0_out, ep0_in, sp);
}
#endif//#ifdef PAWPAW_INOUTHID
/* Check for: - Audio CONTROL interface request - always 0, note we check for DFU first
* - Audio STREAMING interface request (In or Out)
* - Audio endpoint request (Audio 1.0 Sampling freq requests are sent to the endpoint)