Perhaps a reader can offer some advice?
The config descriptor sets two interfaces. In order there's the Interface Descr#0 + HID Descr#0 + Endpoint1 set, then Interface Descr#1 + HID Descr#1 + Endpoint2 set. I have two ReportDescriptors, which testing to date showed necessary. The first ReportDescriptor contains data from a working device. The second ReportDescriptor has a couple of commands for testing only.
Windows shows HID#0 as the expected HID-Compliant Device/USB Input Device pair, and this works perfectly. HID#1 shows as a USB Input Device that's unable to start. I suspect that the enumeration process is not getting the details for interface#1.
In the HID_Reset() function, there's a pInformation->Current_Interface setting (same struct passes USBwIndex0, USBwIndex1 values). Debugging (with a printf ) shows that interface#1 is never set.
I'm at a loss where to look next. Suggestions anyone?
SD