We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi,
I am using the Keil LPC HID device example, modyfied for 64-byte transfers and now and want to expand the interface to include multiple report ID's. Using the original Keil example, the default report ID zero was used and the report ID was embedded in the setup packet, leaving 64 bytes for data. Now I have omitted the default report ID and begin my descriptor with report ID 1 and so on, but the report ID is now also a part of the data transfer, which is 65 bytes; the first byte contains the report ID and the remaining 64 bytes the data. How can this be?
Excerpt:
const U8 HID_ReportDescriptor[] = { HID_UsagePageVendor( 0x00 ), HID_Usage ( 0x01 ), HID_Collection ( HID_Application ), HID_LogicalMin ( 0 ), /* value range: 0 - 0xFF */ HID_LogicalMaxS (0x00FF ), HID_ReportSize ( 8 ), /* 8 bits */ HID_ReportID (1), HID_ReportCount ( HID_INPUT_REPORT_BYTES ), HID_Usage ( 0x01 ), HID_Input ( HID_Data | HID_Variable | HID_Absolute ), HID_ReportCount ( HID_OUTPUT_REPORT_BYTES ), HID_Usage ( 0x01 ), HID_Output ( HID_Data | HID_Variable | HID_Absolute ), HID_EndCollection, };
Thanks in advance!