Composite HID USB device

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Composite HID USB device

2,070 Views
TurboLag
Contributor I
    Hello,

I am attempting to add another HID interface to source code which currently implements a mouse on a JB16.  I have successfully sent the device, config, interface0, hid0, endpoint1, interface1, hid1, endpoint2, and string descriptors.  The host then resets my device, and the descriptors are requested, and replied to again.

After the config descriptor is sent the last time, the host does not request the report descriptors, and continuously sends keep-alives.

I have analyzed a mouse and I see that the host sends a setConfiguration, then requests the report decriptors.

Attached find a screen capture of the USB protocol analyzer of my device at enumeration.

Any guidance would be appreciated.  Thanks!
Labels (1)
0 Kudos
4 Replies

355 Views
TurboLag
Contributor I
Oddly enough, If I change number of interfaces in the config descriptor to 1, two copies of the mouse report descriptor are sent, but only one appears in device manager.  Input reports are also being properly sent through one endpoint.

Changing the number of interfaces back to 2, causes the host to disconnect the connection after requesting the config descriptor for the second time.
0 Kudos

355 Views
TurboLag
Contributor I
Yes, I started with working code that implements a mouse.  I would like to send a frame of 8 bytes of data (vendor specific) at a predefined interval.  This can be accomplished by implementing another HID interface, with an IN endpoint.

I am using an ellisys 110 USB protocol analyzer.
0 Kudos

355 Views
irob
Contributor V
Thanks for the info, Turbo.  Any chance your JB16 reference software isn't proprietary?  Can you share? :smileyhappy:
0 Kudos

355 Views
irob
Contributor V
Turbo, I'm not real clear what you're trying to implement.  You already have a USB Mouse working and you are adding another HID class?  What is the second device?

Also, what is that USB protocol analyzer you're using?
0 Kudos