J2Kbr / TitanTwo

Titan Two - Device firmware bug report.
http://www.consoletuner.com
26 stars 3 forks source link

Add support for Hotas4 #163

Closed J2Kbr closed 5 years ago

J2Kbr commented 5 years ago
[USB DESCRIPTOR]
12           bLength: 18
01           bDescriptorType: 1 - DEVICE
10 01        bcdUSB: 1.10
00           bDeviceClass: 0 (00)
00           bDeviceSubClass: 0 (00)
00           bDeviceProtocol: 0 (00)
40           bMaxPacketSize0: 64
4F 04        idVendor: 044F
7B B6        idProduct: B67B
00 01        bcdDevice: 1.00
01           iManufacturer: 1
02           iProduct: 2
00           iSerialNumber: 0
01           bNumConfigurations: 1

09           bLength: 9
02           bDescriptorType: 2 - CONFIGURATION
29 00        wTotalLength: 41
01           bNumInterfaces: 1
01           bConfigurationValue: 1
00           iConfiguration: 0
80           bmAttributes: 128 (Bus Powered)
32           MaxPower: 100mA

09             bLength: 9
04             bDescriptorType: 4 - INTERFACE
00             bInterfaceNumber: 0
00             bAlternateSetting: 0
02             bNumEndpoints: 2
03             bInterfaceClass: 3 (03)
00             bInterfaceSubClass: 0 (00)
00             bInterfaceProtocol: 0 (00)
00             iInterface: 0

09               bLength: 9
21               bDescriptorType: 33 - HID
11 01            bcdHID: 1.11
00               bCountryCode: 0
01               bNumDescriptors: 1
22               bDescriptorType: 34
A0 00            wDescriptorLength: 160

07               bLength: 7
05               bDescriptorType: 5 - ENDPOINT
84               bEndpointAddress: 4 IN
03               bmAttributes: 3 (Interrupt, None, Data)
40 00            wMaxPacketSize: 64
05               bInterval: 5

07               bLength: 7
05               bDescriptorType: 5 - ENDPOINT
03               bEndpointAddress: 3 OUT
03               bmAttributes: 3 (Interrupt, None, Data)
40 00            wMaxPacketSize: 64
05               bInterval: 5

[STRING 1 DESCRIPTOR]
Thrustmaster

[STRING 2 DESCRIPTOR]
T.Flight Hotas

[INTERFACE 0 HID DESCRIPTOR]
05 01        (GLOBAL) USAGE_PAGE         0x0001 Generic Desktop Page 
09 05        (LOCAL)  USAGE              0x00010005 Game Pad (CA=Application Collection) 
A1 01        (MAIN)   COLLECTION         0x01 Application (Usage=0x00010005: Page=Generic Desktop Page, Usage=Game Pad, Type=CA)
85 01          (GLOBAL) REPORT_ID          0x01 (1) 
09 30          (LOCAL)  USAGE              0x00010030 X (DV=Dynamic Value) 
09 31          (LOCAL)  USAGE              0x00010031 Y (DV=Dynamic Value) 
09 32          (LOCAL)  USAGE              0x00010032 Z (DV=Dynamic Value) 
09 35          (LOCAL)  USAGE              0x00010035 Rz (DV=Dynamic Value) 
15 00          (GLOBAL) LOGICAL_MINIMUM    0x00 (0)
26 FF00        (GLOBAL) LOGICAL_MAXIMUM    0x00FF (255) 
75 08          (GLOBAL) REPORT_SIZE        0x08 (8) Number of bits per field 
95 04          (GLOBAL) REPORT_COUNT       0x04 (4) Number of fields 
81 02          (MAIN)   INPUT              0x00000002 (4 fields x 8 bits) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap 
09 39          (LOCAL)  USAGE              0x00010039 Hat switch (DV=Dynamic Value) 
15 00          (GLOBAL) LOGICAL_MINIMUM    0x00 (0)
25 07          (GLOBAL) LOGICAL_MAXIMUM    0x07 (7) 
35 00          (GLOBAL) PHYSICAL_MINIMUM   0x00 (0)
46 3B01        (GLOBAL) PHYSICAL_MAXIMUM   0x013B (315) 
65 14          (GLOBAL) UNIT               0x00000014 Rotation in degrees [1° units] (4=System=English Rotation, 1=Rotation=Degrees) 
75 04          (GLOBAL) REPORT_SIZE        0x04 (4) Number of bits per field 
95 01          (GLOBAL) REPORT_COUNT       0x01 (1) Number of fields 
81 42          (MAIN)   INPUT              0x00000042 (1 field x 4 bits) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 1=Null 0=NonVolatile 0=Bitmap 
65 00          (GLOBAL) UNIT               0x00000000 No unit (0=None) 
05 09          (GLOBAL) USAGE_PAGE         0x0009 Button Page 
19 01          (LOCAL)  USAGE_MINIMUM      0x00090001 Button 1 Primary/trigger (MULTI=Selector, On/Off, Momentary, or One Shot) 
29 0E          (LOCAL)  USAGE_MAXIMUM      0x0009000E Button 14 (MULTI=Selector, On/Off, Momentary, or One Shot) 
15 00          (GLOBAL) LOGICAL_MINIMUM    0x00 (0)
25 01          (GLOBAL) LOGICAL_MAXIMUM    0x01 (1) 
75 01          (GLOBAL) REPORT_SIZE        0x01 (1) Number of bits per field 
95 0E          (GLOBAL) REPORT_COUNT       0x0E (14) Number of fields 
81 02          (MAIN)   INPUT              0x00000002 (14 fields x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap 
06 00FF        (GLOBAL) USAGE_PAGE         0xFF00 Vendor-defined 
09 20          (LOCAL)  USAGE              0xFF000020  
75 06          (GLOBAL) REPORT_SIZE        0x06 (6) Number of bits per field 
95 01          (GLOBAL) REPORT_COUNT       0x01 (1) Number of fields 
81 02          (MAIN)   INPUT              0x00000002 (1 field x 6 bits) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap 
05 01          (GLOBAL) USAGE_PAGE         0x0001 Generic Desktop Page 
09 33          (LOCAL)  USAGE              0x00010033 Rx (DV=Dynamic Value) 
09 34          (LOCAL)  USAGE              0x00010034 Ry (DV=Dynamic Value) 
15 00          (GLOBAL) LOGICAL_MINIMUM    0x00 (0)
26 FF00        (GLOBAL) LOGICAL_MAXIMUM    0x00FF (255) 
75 08          (GLOBAL) REPORT_SIZE        0x08 (8) Number of bits per field 
95 02          (GLOBAL) REPORT_COUNT       0x02 (2) Number of fields 
81 02          (MAIN)   INPUT              0x00000002 (2 fields x 8 bits) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap 
06 00FF        (GLOBAL) USAGE_PAGE         0xFF00 Vendor-defined 
09 21          (LOCAL)  USAGE              0xFF000021  
95 36          (GLOBAL) REPORT_COUNT       0x36 (54) Number of fields 
81 02          (MAIN)   INPUT              0x00000002 (54 fields x 8 bits) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap 
85 05          (GLOBAL) REPORT_ID          0x05 (5) 
09 22          (LOCAL)  USAGE              0xFF000022  
95 1F          (GLOBAL) REPORT_COUNT       0x1F (31) Number of fields 
91 02          (MAIN)   OUTPUT             0x00000002 (31 fields x 8 bits) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap 
85 03          (GLOBAL) REPORT_ID          0x03 (3) 
0A 2127        (LOCAL)  USAGE              0xFF002721  
95 2F          (GLOBAL) REPORT_COUNT       0x2F (47) Number of fields 
B1 02          (MAIN)   FEATURE            0x00000002 (47 fields x 8 bits) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap 
C0           (MAIN)   END_COLLECTION     Application

06 F0FF      (GLOBAL) USAGE_PAGE         0xFFF0 Vendor-defined 
09 40        (LOCAL)  USAGE              0xFFF00040  
A1 01        (MAIN)   COLLECTION         0x01 Application (Usage=0xFFF00040: Page=Vendor-defined, Usage=, Type=)
85 F0          (GLOBAL) REPORT_ID          0xF0 (240) 
09 47          (LOCAL)  USAGE              0xFFF00047  
95 3F          (GLOBAL) REPORT_COUNT       0x3F (63) Number of fields 
B1 02          (MAIN)   FEATURE            0x00000002 (63 fields x 8 bits) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap 
85 F1          (GLOBAL) REPORT_ID          0xF1 (241) 
09 48          (LOCAL)  USAGE              0xFFF00048  
95 3F          (GLOBAL) REPORT_COUNT       0x3F (63) Number of fields
B1 02          (MAIN)   FEATURE            0x00000002 (63 fields x 8 bits) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap 
85 F2          (GLOBAL) REPORT_ID          0xF2 (242) 
09 49          (LOCAL)  USAGE              0xFFF00049  
95 0F          (GLOBAL) REPORT_COUNT       0x0F (15) Number of fields 
B1 02          (MAIN)   FEATURE            0x00000002 (15 fields x 8 bits) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap 
85 F3          (GLOBAL) REPORT_ID          0xF3 (243) 
0A 0147        (LOCAL)  USAGE              0xFFF04701  
95 07          (GLOBAL) REPORT_COUNT       0x07 (7) Number of fields 
B1 02          (MAIN)   FEATURE            0x00000002 (7 fields x 8 bits) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap 
C0           (MAIN)   END_COLLECTION     Application
J2Kbr commented 5 years ago

Support for Thrustmaster T.Flight Hotas 4 added on firmware version 0.98B-68