Recently Ran the USBHID_DESC program on my Arduino Uno with a USB hub attached to my joystick. I wanted to be able to program my joystick to integrate with my project. Circuits@Home developed the code and have 2 articles dealing with understanding the report. But they are very sparse with details and only have a single example to go off of. Many of the fields that I got returned are not described at all in the tutorial. Further more, attempting to dig through the official documentation from USB.org itself has been extremely overwhelming. I don't really know how to start. Can anyone help me interpret the data fields for this controller?
This is the data that I recieved from the serial monitor:
Start 0000: 05 01 09 04 A1 01 09 01 A1 00 09 30 09 31 09 32
0010: 09 BB 15 80 25 7F 46 FF 00 66 00 00 66 00 00 75
0020: 08 95 04 81 02 C0 09 39 15 01 25 08 35 00 46 3B
0030: 01 65 14 75 04 95 01 81 02 05 09 19 01 29 04 15
0040: 00 25 01 75 01 95 04 81 02 95 08 81 01 05 08 09
0050: 43 15 00 26 FF 00 35 00 46 FF 00 75 08 95 04 91
0060: 82 55 00 65 00 55 00 65 00 55 00 C0
Usage Page Gen Desktop Ctrls(01)
Usage Game Pad
Collection Application
Usage Pointer
Collection Physical
Usage X
Usage Y
Usage Z
Usage Undef
Logical Min(80)
Logical Max(7F)
Physical Max(FF00)
Unit(0000)
Unit(0000)
Report Size(08)
Report Count(04)
Input(00000010)
End Collection
Usage Hat Switch
Logical Min(01)
Logical Max(08)
Physical Min(00)
Physical Max(3B01)
Unit(14)
Report Size(04)
Report Count(01)
Input(00000010)
Usage Page Button(09)
Usage Min(01)
Usage Max(04)
Logical Min(00)
Logical Max(01)
Report Size(01)
Report Count(04)
Input(00000010)
Report Count(08)
Input(00000001)
Usage Page LEDs(08)
Usage Slow Blk On Time
Logical Min(00)
Logical Max(FF00)
Physical Min(00)
Physical Max(FF00)
Report Size(08)
Report Count(04)
Output(10000010)
Unit Exp(00)
Unit(00)
Unit Exp(00)
Unit(00)
Unit Exp(00)
End Collection Game Pad Pointer X Y Z Undef(00)(00)(7F)(00)
Hat Switch(00)
Btn0001
(00) Btn0002
(00) Btn0003
(00) Btn0004
(00)
(00)(00)(00)(00)(00)(00)(00)(00)
Slow Blk On Time