Skip to content

Instantly share code, notes, and snippets.

@naterh
Created May 9, 2017 06:40
Show Gist options
  • Save naterh/bf5590331a28aa56f1a5b558d2f807bc to your computer and use it in GitHub Desktop.
Save naterh/bf5590331a28aa56f1a5b558d2f807bc to your computer and use it in GitHub Desktop.
SP3 SAM0 dev on I2C0 - Sensor Hub
SAM0 dev on SP3 I2C0
Report Descriptor for MSHW0030 - Sensor Hub
05 20 09 01 a1 01 85 01 05 20 09 73 a1 00 0a 09 03 15 00 25 02 75 08 95 01 a1 02 0a 30 08 0a 31 08 0a 32 08 b1 00 c0 0a 0e 03 15 00 27 ff ff ff ff 75 20 95 01 55 00 b1 02 0a 52 14 15 00 26 ff ff 75 10 95 01 55 0d b1 02 0a 16 03 15 00 25 05 75 08 95 01 a1 02 0a 40 08 0a 41 08 0a 42 08 0a 43 08 0a 44 08 0a 45 08 b1 00 c0 0a 19 03 15 00 25 05 75 08 95 01 a1 02 0a 50 08 0a 51 08 0a 52 08 0a 53 08 0a 54 08 0a 55 08 b1 00 c0 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 b1 00 c0 0a 04 03 15 00 25 ff 75 08 95 01 55 00 b1 02 05 20 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 81 00 c0 0a 02 02 15 00 25 05 75 10 95 01 a1 02 0a 10 08 0a 11 08 0a 12 08 0a 13 08 0a 14 08 0a 15 08 81 00 c0 0a 41 05 17 00 00 00 00 27 ff ff ff ff 75 20 95 01 81 02 0a 53 04 16 01 80 26 ff 7f 75 10 95 01 55 0d 81 02 0a 54 04 16 01 80 26 ff 7f 75 10 95 01 55 0d 81 02 0a 55 04 16 01 80 26 ff 7f 75 10 95 01 55 0d 81 02 0a 51 04 15 00 25 01 75 08 95 01 81 02 c0 85 02 05 20 09 76 a1 00 0a 09 03 15 00 25 02 75 08 95 01 a1 02 0a 30 08 0a 31 08 0a 32 08 b1 00 c0 0a 0e 03 15 00 27 ff ff ff ff 75 20 95 01 55 00 b1 02 0a 56 14 15 00 26 ff ff 75 10 95 01 55 0f b1 02 0a 16 03 15 00 25 05 75 08 95 01 a1 02 0a 40 08 0a 41 08 0a 42 08 0a 43 08 0a 44 08 0a 45 08 b1 00 c0 0a 19 03 15 00 25 05 75 08 95 01 a1 02 0a 50 08 0a 51 08 0a 52 08 0a 53 08 0a 54 08 0a 55 08 b1 00 c0 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 b1 00 c0 0a 04 03 15 00 25 ff 75 08 95 01 55 00 b1 02 05 20 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 81 00 c0 0a 02 02 15 00 25 05 75 10 95 01 a1 02 0a 10 08 0a 11 08 0a 12 08 0a 13 08 0a 14 08 0a 15 08 81 00 c0 0a 41 05 17 00 00 00 00 27 ff ff ff ff 75 20 95 01 81 02 0a 57 04 16 01 80 26 ff 7f 75 10 95 01 55 0f 81 02 0a 58 04 16 01 80 26 ff 7f 75 10 95 01 55 0f 81 02 0a 59 04 16 01 80 26 ff 7f 75 10 95 01 55 0f 81 02 c0 85 03 05 20 09 83 a1 00 0a 09 03 15 00 25 02 75 08 95 01 a1 02 0a 30 08 0a 31 08 0a 32 08 b1 00 c0 0a 0e 03 15 00 27 ff ff ff ff 75 20 95 01 55 00 b1 02 0a 71 14 15 00 26 ff ff 75 10 95 01 55 0f b1 02 0a 16 03 15 00 25 05 75 08 95 01 a1 02 0a 40 08 0a 41 08 0a 42 08 0a 43 08 0a 44 08 0a 45 08 b1 00 c0 0a 19 03 15 00 25 05 75 08 95 01 a1 02 0a 50 08 0a 51 08 0a 52 08 0a 53 08 0a 54 08 0a 55 08 b1 00 c0 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 b1 00 c0 0a 04 03 15 00 25 ff 75 08 95 01 55 00 b1 02 05 20 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 81 00 c0 0a 41 05 17 00 00 00 00 27 ff ff ff ff 75 20 95 01 81 02 0a 75 04 16 00 00 26 10 0e 75 10 95 01 55 0f 81 02 0a 02 02 15 00 25 05 75 08 95 01 a1 02 0a 10 08 0a 11 08 0a 12 08 0a 13 08 0a 14 08 0a 15 08 81 00 c0 c0 85 04 05 20 09 41 a1 00 0a 09 03 15 00 25 02 75 08 95 01 a1 02 0a 30 08 0a 31 08 0a 32 08 b1 00 c0 0a 0e 03 15 00 27 ff ff ff ff 75 20 95 01 55 00 b1 02 0a 18 03 16 01 80 26 ff 7f 75 10 95 08 55 00 b1 02 0a d1 e4 15 00 26 10 27 75 10 95 01 55 0e b1 02 0a 16 03 15 00 25 05 75 08 95 01 a1 02 0a 40 08 0a 41 08 0a 42 08 0a 43 08 0a 44 08 0a 45 08 b1 00 c0 0a 19 03 15 00 25 05 75 08 95 01 a1 02 0a 50 08 0a 51 08 0a 52 08 0a 53 08 0a 54 08 0a 55 08 b1 00 c0 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 b1 00 c0 0a 04 03 15 00 25 ff 75 08 95 01 55 00 b1 02 05 20 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 81 00 c0 0a 41 05 17 00 00 00 00 27 ff ff ff ff 75 20 95 01 81 02 0a d1 04 17 01 00 00 80 27 ff ff ff 7f 75 20 95 01 55 00 81 02 0a 02 02 15 00 25 05 75 08 95 01 a1 02 0a 10 08 0a 11 08 0a 12 08 0a 13 08 0a 14 08 0a 15 08 81 00 c0 c0 85 05 05 20 09 8a a1 00 0a 09 03 15 00 25 02 75 08 95 01 a1 02 0a 30 08 0a 31 08 0a 32 08 b1 00 c0 0a 0e 03 15 00 27 ff ff ff ff 75 20 95 01 55 00 b1 02 0a 83 14 15 00 26 a0 8c 75 10 95 01 55 0e b1 02 0a 16 03 15 00 25 05 75 08 95 01 a1 02 0a 40 08 0a 41 08 0a 42 08 0a 43 08 0a 44 08 0a 45 08 b1 00 c0 0a 19 03 15 00 25 05 75 08 95 01 a1 02 0a 50 08 0a 51 08 0a 52 08 0a 53 08 0a 54 08 0a 55 08 b1 00 c0 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 b1 00 c0 0a 04 03 15 00 25 ff 75 08 95 01 55 00 b1 02 05 20 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 81 00 c0 0a 02 02 15 00 25 05 75 10 95 01 a1 02 0a 10 08 0a 11 08 0a 12 08 0a 13 08 0a 14 08 0a 15 08 81 00 c0 0a 41 05 17 00 00 00 00 27 ff ff ff ff 75 20 95 01 81 02 0a 83 04 17 01 00 00 80 27 ff ff ff 7f 75 20 95 04 65 00 55 0a 81 02 0a 88 04 16 00 00 26 ff ff 75 10 95 01 a1 02 0a e0 08 0a e1 08 0a e2 08 81 00 c0 c0 85 06 05 20 09 86 a1 00 0a 09 03 15 00 25 02 75 08 95 01 a1 02 0a 30 08 0a 31 08 0a 32 08 b1 00 c0 0a 0e 03 15 00 27 ff ff ff ff 75 20 95 01 55 00 b1 02 0a 7e 14 15 00 26 ff ff 75 10 95 01 55 0f b1 02 0a 16 03 15 00 25 05 75 08 95 01 a1 02 0a 40 08 0a 41 08 0a 42 08 0a 43 08 0a 44 08 0a 45 08 b1 00 c0 0a 19 03 15 00 25 05 75 08 95 01 a1 02 0a 50 08 0a 51 08 0a 52 08 0a 53 08 0a 54 08 0a 55 08 b1 00 c0 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 b1 00 c0 0a 04 03 15 00 25 ff 75 08 95 01 55 00 b1 02 05 20 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 81 00 c0 0a 41 05 17 00 00 00 00 27 ff ff ff ff 75 20 95 01 81 02 0a 7f 04 16 f8 f8 26 08 07 75 10 95 01 55 0f 81 02 0a 80 04 16 7c fc 26 84 03 75 10 95 01 55 0f 81 02 0a 81 04 16 00 00 26 10 0e 75 10 95 01 55 0f 81 02 0a 02 02 15 00 25 05 75 08 95 01 a1 02 0a 10 08 0a 11 08 0a 12 08 0a 13 08 0a 14 08 0a 15 08 81 00 c0 c0 c0 06 04 ff 09 01 a1 01 85 0e 15 00 25 ff 95 01 75 08 09 00 81 02 16 01 80 26 ff 7f 95 18 75 10 09 00 81 02 15 00 25 ff 95 01 75 08 09 00 91 02 16 01 80 26 ff 7f 95 18 75 10 09 00 91 02 c0 06 04 ff 09 50 a1 01 85 20 15 00 25 ff 75 08 95 3c 09 60 82 02 01 09 61 92 02 01 09 62 b2 02 01 85 21 09 63 82 02 01 09 64 92 02 01 09 65 b2 02 01 85 22 27 ff ff ff ff 75 20 95 04 19 66 29 69 81 02 19 6a 29 6d 91 02 19 6e 29 71 b1 02 85 23 19 72 29 75 81 02 19 76 29 79 91 02 19 7a 29 7d b1 02 85 24 19 7e 29 81 81 02 19 82 29 85 91 02 19 86 29 89 b1 02 85 25 19 8a 29 8d 81 02 19 8e 29 91 91 02 19 92 29 95 b1 02 85 26 19 96 29 99 81 02 19 9a 29 9d 91 02 19 9e 29 a1 b1 02 85 27 19 a2 29 a5 81 02 19 a6 29 a9 91 02 19 aa 29 ad b1 02 85 28 19 ae 29 b1 81 02 19 b2 29 b5 91 02 19 b6 29 b9 b1 02 85 29 19 ba 29 bd 81 02 19 be 29 c1 91 02 19 c2 29 c5 b1 02 c0
0x05, 0x20, // Usage Page (0x20)
0x09, 0x01, // Usage (0x01)
0xA1, 0x01, // Collection (Application)
0x85, 0x01, // Report ID (1)
0x05, 0x20, // Usage Page (0x20)
0x09, 0x73, // Usage (0x73)
0xA1, 0x00, // Collection (Physical)
0x0A, 0x09, 0x03, // Usage (0x0309)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x02, // Logical Maximum (2)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x30, 0x08, // Usage (0x0830)
0x0A, 0x31, 0x08, // Usage (0x0831)
0x0A, 0x32, 0x08, // Usage (0x0832)
0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x0A, 0x0E, 0x03, // Usage (0x030E)
0x15, 0x00, // Logical Minimum (0)
0x27, 0xFF, 0xFF, 0xFF, 0xFF, // Logical Maximum (-2)
0x75, 0x20, // Report Size (32)
0x95, 0x01, // Report Count (1)
0x55, 0x00, // Unit Exponent (0)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x0A, 0x52, 0x14, // Usage (0x1452)
0x15, 0x00, // Logical Minimum (0)
0x26, 0xFF, 0xFF, // Logical Maximum (-1)
0x75, 0x10, // Report Size (16)
0x95, 0x01, // Report Count (1)
0x55, 0x0D, // Unit Exponent (-3)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x0A, 0x16, 0x03, // Usage (0x0316)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x05, // Logical Maximum (5)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x40, 0x08, // Usage (0x0840)
0x0A, 0x41, 0x08, // Usage (0x0841)
0x0A, 0x42, 0x08, // Usage (0x0842)
0x0A, 0x43, 0x08, // Usage (0x0843)
0x0A, 0x44, 0x08, // Usage (0x0844)
0x0A, 0x45, 0x08, // Usage (0x0845)
0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x0A, 0x19, 0x03, // Usage (0x0319)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x05, // Logical Maximum (5)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x50, 0x08, // Usage (0x0850)
0x0A, 0x51, 0x08, // Usage (0x0851)
0x0A, 0x52, 0x08, // Usage (0x0852)
0x0A, 0x53, 0x08, // Usage (0x0853)
0x0A, 0x54, 0x08, // Usage (0x0854)
0x0A, 0x55, 0x08, // Usage (0x0855)
0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x0A, 0x01, 0x02, // Usage (0x0201)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x06, // Logical Maximum (6)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x00, 0x08, // Usage (0x0800)
0x0A, 0x01, 0x08, // Usage (0x0801)
0x0A, 0x02, 0x08, // Usage (0x0802)
0x0A, 0x03, 0x08, // Usage (0x0803)
0x0A, 0x04, 0x08, // Usage (0x0804)
0x0A, 0x05, 0x08, // Usage (0x0805)
0x0A, 0x06, 0x08, // Usage (0x0806)
0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x0A, 0x04, 0x03, // Usage (0x0304)
0x15, 0x00, // Logical Minimum (0)
0x25, 0xFF, // Logical Maximum (-1)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0x55, 0x00, // Unit Exponent (0)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x05, 0x20, // Usage Page (0x20)
0x0A, 0x01, 0x02, // Usage (0x0201)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x06, // Logical Maximum (6)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x00, 0x08, // Usage (0x0800)
0x0A, 0x01, 0x08, // Usage (0x0801)
0x0A, 0x02, 0x08, // Usage (0x0802)
0x0A, 0x03, 0x08, // Usage (0x0803)
0x0A, 0x04, 0x08, // Usage (0x0804)
0x0A, 0x05, 0x08, // Usage (0x0805)
0x0A, 0x06, 0x08, // Usage (0x0806)
0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0, // End Collection
0x0A, 0x02, 0x02, // Usage (0x0202)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x05, // Logical Maximum (5)
0x75, 0x10, // Report Size (16)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x10, 0x08, // Usage (0x0810)
0x0A, 0x11, 0x08, // Usage (0x0811)
0x0A, 0x12, 0x08, // Usage (0x0812)
0x0A, 0x13, 0x08, // Usage (0x0813)
0x0A, 0x14, 0x08, // Usage (0x0814)
0x0A, 0x15, 0x08, // Usage (0x0815)
0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0, // End Collection
0x0A, 0x41, 0x05, // Usage (0x0541)
0x17, 0x00, 0x00, 0x00, 0x00, // Logical Minimum (-1)
0x27, 0xFF, 0xFF, 0xFF, 0xFF, // Logical Maximum (-2)
0x75, 0x20, // Report Size (32)
0x95, 0x01, // Report Count (1)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x0A, 0x53, 0x04, // Usage (0x0453)
0x16, 0x01, 0x80, // Logical Minimum (-32767)
0x26, 0xFF, 0x7F, // Logical Maximum (32767)
0x75, 0x10, // Report Size (16)
0x95, 0x01, // Report Count (1)
0x55, 0x0D, // Unit Exponent (-3)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x0A, 0x54, 0x04, // Usage (0x0454)
0x16, 0x01, 0x80, // Logical Minimum (-32767)
0x26, 0xFF, 0x7F, // Logical Maximum (32767)
0x75, 0x10, // Report Size (16)
0x95, 0x01, // Report Count (1)
0x55, 0x0D, // Unit Exponent (-3)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x0A, 0x55, 0x04, // Usage (0x0455)
0x16, 0x01, 0x80, // Logical Minimum (-32767)
0x26, 0xFF, 0x7F, // Logical Maximum (32767)
0x75, 0x10, // Report Size (16)
0x95, 0x01, // Report Count (1)
0x55, 0x0D, // Unit Exponent (-3)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x0A, 0x51, 0x04, // Usage (0x0451)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x01, // Logical Maximum (1)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0, // End Collection
0x85, 0x02, // Report ID (2)
0x05, 0x20, // Usage Page (0x20)
0x09, 0x76, // Usage (0x76)
0xA1, 0x00, // Collection (Physical)
0x0A, 0x09, 0x03, // Usage (0x0309)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x02, // Logical Maximum (2)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x30, 0x08, // Usage (0x0830)
0x0A, 0x31, 0x08, // Usage (0x0831)
0x0A, 0x32, 0x08, // Usage (0x0832)
0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x0A, 0x0E, 0x03, // Usage (0x030E)
0x15, 0x00, // Logical Minimum (0)
0x27, 0xFF, 0xFF, 0xFF, 0xFF, // Logical Maximum (-2)
0x75, 0x20, // Report Size (32)
0x95, 0x01, // Report Count (1)
0x55, 0x00, // Unit Exponent (0)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x0A, 0x56, 0x14, // Usage (0x1456)
0x15, 0x00, // Logical Minimum (0)
0x26, 0xFF, 0xFF, // Logical Maximum (-1)
0x75, 0x10, // Report Size (16)
0x95, 0x01, // Report Count (1)
0x55, 0x0F, // Unit Exponent (-1)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x0A, 0x16, 0x03, // Usage (0x0316)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x05, // Logical Maximum (5)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x40, 0x08, // Usage (0x0840)
0x0A, 0x41, 0x08, // Usage (0x0841)
0x0A, 0x42, 0x08, // Usage (0x0842)
0x0A, 0x43, 0x08, // Usage (0x0843)
0x0A, 0x44, 0x08, // Usage (0x0844)
0x0A, 0x45, 0x08, // Usage (0x0845)
0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x0A, 0x19, 0x03, // Usage (0x0319)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x05, // Logical Maximum (5)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x50, 0x08, // Usage (0x0850)
0x0A, 0x51, 0x08, // Usage (0x0851)
0x0A, 0x52, 0x08, // Usage (0x0852)
0x0A, 0x53, 0x08, // Usage (0x0853)
0x0A, 0x54, 0x08, // Usage (0x0854)
0x0A, 0x55, 0x08, // Usage (0x0855)
0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x0A, 0x01, 0x02, // Usage (0x0201)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x06, // Logical Maximum (6)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x00, 0x08, // Usage (0x0800)
0x0A, 0x01, 0x08, // Usage (0x0801)
0x0A, 0x02, 0x08, // Usage (0x0802)
0x0A, 0x03, 0x08, // Usage (0x0803)
0x0A, 0x04, 0x08, // Usage (0x0804)
0x0A, 0x05, 0x08, // Usage (0x0805)
0x0A, 0x06, 0x08, // Usage (0x0806)
0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x0A, 0x04, 0x03, // Usage (0x0304)
0x15, 0x00, // Logical Minimum (0)
0x25, 0xFF, // Logical Maximum (-1)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0x55, 0x00, // Unit Exponent (0)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x05, 0x20, // Usage Page (0x20)
0x0A, 0x01, 0x02, // Usage (0x0201)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x06, // Logical Maximum (6)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x00, 0x08, // Usage (0x0800)
0x0A, 0x01, 0x08, // Usage (0x0801)
0x0A, 0x02, 0x08, // Usage (0x0802)
0x0A, 0x03, 0x08, // Usage (0x0803)
0x0A, 0x04, 0x08, // Usage (0x0804)
0x0A, 0x05, 0x08, // Usage (0x0805)
0x0A, 0x06, 0x08, // Usage (0x0806)
0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0, // End Collection
0x0A, 0x02, 0x02, // Usage (0x0202)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x05, // Logical Maximum (5)
0x75, 0x10, // Report Size (16)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x10, 0x08, // Usage (0x0810)
0x0A, 0x11, 0x08, // Usage (0x0811)
0x0A, 0x12, 0x08, // Usage (0x0812)
0x0A, 0x13, 0x08, // Usage (0x0813)
0x0A, 0x14, 0x08, // Usage (0x0814)
0x0A, 0x15, 0x08, // Usage (0x0815)
0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0, // End Collection
0x0A, 0x41, 0x05, // Usage (0x0541)
0x17, 0x00, 0x00, 0x00, 0x00, // Logical Minimum (-1)
0x27, 0xFF, 0xFF, 0xFF, 0xFF, // Logical Maximum (-2)
0x75, 0x20, // Report Size (32)
0x95, 0x01, // Report Count (1)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x0A, 0x57, 0x04, // Usage (0x0457)
0x16, 0x01, 0x80, // Logical Minimum (-32767)
0x26, 0xFF, 0x7F, // Logical Maximum (32767)
0x75, 0x10, // Report Size (16)
0x95, 0x01, // Report Count (1)
0x55, 0x0F, // Unit Exponent (-1)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x0A, 0x58, 0x04, // Usage (0x0458)
0x16, 0x01, 0x80, // Logical Minimum (-32767)
0x26, 0xFF, 0x7F, // Logical Maximum (32767)
0x75, 0x10, // Report Size (16)
0x95, 0x01, // Report Count (1)
0x55, 0x0F, // Unit Exponent (-1)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x0A, 0x59, 0x04, // Usage (0x0459)
0x16, 0x01, 0x80, // Logical Minimum (-32767)
0x26, 0xFF, 0x7F, // Logical Maximum (32767)
0x75, 0x10, // Report Size (16)
0x95, 0x01, // Report Count (1)
0x55, 0x0F, // Unit Exponent (-1)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0, // End Collection
0x85, 0x03, // Report ID (3)
0x05, 0x20, // Usage Page (0x20)
0x09, 0x83, // Usage (0x83)
0xA1, 0x00, // Collection (Physical)
0x0A, 0x09, 0x03, // Usage (0x0309)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x02, // Logical Maximum (2)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x30, 0x08, // Usage (0x0830)
0x0A, 0x31, 0x08, // Usage (0x0831)
0x0A, 0x32, 0x08, // Usage (0x0832)
0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x0A, 0x0E, 0x03, // Usage (0x030E)
0x15, 0x00, // Logical Minimum (0)
0x27, 0xFF, 0xFF, 0xFF, 0xFF, // Logical Maximum (-2)
0x75, 0x20, // Report Size (32)
0x95, 0x01, // Report Count (1)
0x55, 0x00, // Unit Exponent (0)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x0A, 0x71, 0x14, // Usage (0x1471)
0x15, 0x00, // Logical Minimum (0)
0x26, 0xFF, 0xFF, // Logical Maximum (-1)
0x75, 0x10, // Report Size (16)
0x95, 0x01, // Report Count (1)
0x55, 0x0F, // Unit Exponent (-1)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x0A, 0x16, 0x03, // Usage (0x0316)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x05, // Logical Maximum (5)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x40, 0x08, // Usage (0x0840)
0x0A, 0x41, 0x08, // Usage (0x0841)
0x0A, 0x42, 0x08, // Usage (0x0842)
0x0A, 0x43, 0x08, // Usage (0x0843)
0x0A, 0x44, 0x08, // Usage (0x0844)
0x0A, 0x45, 0x08, // Usage (0x0845)
0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x0A, 0x19, 0x03, // Usage (0x0319)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x05, // Logical Maximum (5)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x50, 0x08, // Usage (0x0850)
0x0A, 0x51, 0x08, // Usage (0x0851)
0x0A, 0x52, 0x08, // Usage (0x0852)
0x0A, 0x53, 0x08, // Usage (0x0853)
0x0A, 0x54, 0x08, // Usage (0x0854)
0x0A, 0x55, 0x08, // Usage (0x0855)
0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x0A, 0x01, 0x02, // Usage (0x0201)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x06, // Logical Maximum (6)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x00, 0x08, // Usage (0x0800)
0x0A, 0x01, 0x08, // Usage (0x0801)
0x0A, 0x02, 0x08, // Usage (0x0802)
0x0A, 0x03, 0x08, // Usage (0x0803)
0x0A, 0x04, 0x08, // Usage (0x0804)
0x0A, 0x05, 0x08, // Usage (0x0805)
0x0A, 0x06, 0x08, // Usage (0x0806)
0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x0A, 0x04, 0x03, // Usage (0x0304)
0x15, 0x00, // Logical Minimum (0)
0x25, 0xFF, // Logical Maximum (-1)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0x55, 0x00, // Unit Exponent (0)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x05, 0x20, // Usage Page (0x20)
0x0A, 0x01, 0x02, // Usage (0x0201)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x06, // Logical Maximum (6)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x00, 0x08, // Usage (0x0800)
0x0A, 0x01, 0x08, // Usage (0x0801)
0x0A, 0x02, 0x08, // Usage (0x0802)
0x0A, 0x03, 0x08, // Usage (0x0803)
0x0A, 0x04, 0x08, // Usage (0x0804)
0x0A, 0x05, 0x08, // Usage (0x0805)
0x0A, 0x06, 0x08, // Usage (0x0806)
0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0, // End Collection
0x0A, 0x41, 0x05, // Usage (0x0541)
0x17, 0x00, 0x00, 0x00, 0x00, // Logical Minimum (-1)
0x27, 0xFF, 0xFF, 0xFF, 0xFF, // Logical Maximum (-2)
0x75, 0x20, // Report Size (32)
0x95, 0x01, // Report Count (1)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x0A, 0x75, 0x04, // Usage (0x0475)
0x16, 0x00, 0x00, // Logical Minimum (0)
0x26, 0x10, 0x0E, // Logical Maximum (3600)
0x75, 0x10, // Report Size (16)
0x95, 0x01, // Report Count (1)
0x55, 0x0F, // Unit Exponent (-1)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x0A, 0x02, 0x02, // Usage (0x0202)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x05, // Logical Maximum (5)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x10, 0x08, // Usage (0x0810)
0x0A, 0x11, 0x08, // Usage (0x0811)
0x0A, 0x12, 0x08, // Usage (0x0812)
0x0A, 0x13, 0x08, // Usage (0x0813)
0x0A, 0x14, 0x08, // Usage (0x0814)
0x0A, 0x15, 0x08, // Usage (0x0815)
0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0, // End Collection
0xC0, // End Collection
0x85, 0x04, // Report ID (4)
0x05, 0x20, // Usage Page (0x20)
0x09, 0x41, // Usage (0x41)
0xA1, 0x00, // Collection (Physical)
0x0A, 0x09, 0x03, // Usage (0x0309)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x02, // Logical Maximum (2)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x30, 0x08, // Usage (0x0830)
0x0A, 0x31, 0x08, // Usage (0x0831)
0x0A, 0x32, 0x08, // Usage (0x0832)
0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x0A, 0x0E, 0x03, // Usage (0x030E)
0x15, 0x00, // Logical Minimum (0)
0x27, 0xFF, 0xFF, 0xFF, 0xFF, // Logical Maximum (-2)
0x75, 0x20, // Report Size (32)
0x95, 0x01, // Report Count (1)
0x55, 0x00, // Unit Exponent (0)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x0A, 0x18, 0x03, // Usage (0x0318)
0x16, 0x01, 0x80, // Logical Minimum (-32767)
0x26, 0xFF, 0x7F, // Logical Maximum (32767)
0x75, 0x10, // Report Size (16)
0x95, 0x08, // Report Count (8)
0x55, 0x00, // Unit Exponent (0)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x0A, 0xD1, 0xE4, // Usage (0xE4D1)
0x15, 0x00, // Logical Minimum (0)
0x26, 0x10, 0x27, // Logical Maximum (10000)
0x75, 0x10, // Report Size (16)
0x95, 0x01, // Report Count (1)
0x55, 0x0E, // Unit Exponent (-2)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x0A, 0x16, 0x03, // Usage (0x0316)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x05, // Logical Maximum (5)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x40, 0x08, // Usage (0x0840)
0x0A, 0x41, 0x08, // Usage (0x0841)
0x0A, 0x42, 0x08, // Usage (0x0842)
0x0A, 0x43, 0x08, // Usage (0x0843)
0x0A, 0x44, 0x08, // Usage (0x0844)
0x0A, 0x45, 0x08, // Usage (0x0845)
0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x0A, 0x19, 0x03, // Usage (0x0319)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x05, // Logical Maximum (5)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x50, 0x08, // Usage (0x0850)
0x0A, 0x51, 0x08, // Usage (0x0851)
0x0A, 0x52, 0x08, // Usage (0x0852)
0x0A, 0x53, 0x08, // Usage (0x0853)
0x0A, 0x54, 0x08, // Usage (0x0854)
0x0A, 0x55, 0x08, // Usage (0x0855)
0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x0A, 0x01, 0x02, // Usage (0x0201)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x06, // Logical Maximum (6)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x00, 0x08, // Usage (0x0800)
0x0A, 0x01, 0x08, // Usage (0x0801)
0x0A, 0x02, 0x08, // Usage (0x0802)
0x0A, 0x03, 0x08, // Usage (0x0803)
0x0A, 0x04, 0x08, // Usage (0x0804)
0x0A, 0x05, 0x08, // Usage (0x0805)
0x0A, 0x06, 0x08, // Usage (0x0806)
0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x0A, 0x04, 0x03, // Usage (0x0304)
0x15, 0x00, // Logical Minimum (0)
0x25, 0xFF, // Logical Maximum (-1)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0x55, 0x00, // Unit Exponent (0)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x05, 0x20, // Usage Page (0x20)
0x0A, 0x01, 0x02, // Usage (0x0201)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x06, // Logical Maximum (6)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x00, 0x08, // Usage (0x0800)
0x0A, 0x01, 0x08, // Usage (0x0801)
0x0A, 0x02, 0x08, // Usage (0x0802)
0x0A, 0x03, 0x08, // Usage (0x0803)
0x0A, 0x04, 0x08, // Usage (0x0804)
0x0A, 0x05, 0x08, // Usage (0x0805)
0x0A, 0x06, 0x08, // Usage (0x0806)
0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0, // End Collection
0x0A, 0x41, 0x05, // Usage (0x0541)
0x17, 0x00, 0x00, 0x00, 0x00, // Logical Minimum (-1)
0x27, 0xFF, 0xFF, 0xFF, 0xFF, // Logical Maximum (-2)
0x75, 0x20, // Report Size (32)
0x95, 0x01, // Report Count (1)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x0A, 0xD1, 0x04, // Usage (0x04D1)
0x17, 0x01, 0x00, 0x00, 0x80, // Logical Minimum (-2147483648)
0x27, 0xFF, 0xFF, 0xFF, 0x7F, // Logical Maximum (2147483646)
0x75, 0x20, // Report Size (32)
0x95, 0x01, // Report Count (1)
0x55, 0x00, // Unit Exponent (0)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x0A, 0x02, 0x02, // Usage (0x0202)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x05, // Logical Maximum (5)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x10, 0x08, // Usage (0x0810)
0x0A, 0x11, 0x08, // Usage (0x0811)
0x0A, 0x12, 0x08, // Usage (0x0812)
0x0A, 0x13, 0x08, // Usage (0x0813)
0x0A, 0x14, 0x08, // Usage (0x0814)
0x0A, 0x15, 0x08, // Usage (0x0815)
0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0, // End Collection
0xC0, // End Collection
0x85, 0x05, // Report ID (5)
0x05, 0x20, // Usage Page (0x20)
0x09, 0x8A, // Usage (0x8A)
0xA1, 0x00, // Collection (Physical)
0x0A, 0x09, 0x03, // Usage (0x0309)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x02, // Logical Maximum (2)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x30, 0x08, // Usage (0x0830)
0x0A, 0x31, 0x08, // Usage (0x0831)
0x0A, 0x32, 0x08, // Usage (0x0832)
0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x0A, 0x0E, 0x03, // Usage (0x030E)
0x15, 0x00, // Logical Minimum (0)
0x27, 0xFF, 0xFF, 0xFF, 0xFF, // Logical Maximum (-2)
0x75, 0x20, // Report Size (32)
0x95, 0x01, // Report Count (1)
0x55, 0x00, // Unit Exponent (0)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x0A, 0x83, 0x14, // Usage (0x1483)
0x15, 0x00, // Logical Minimum (0)
0x26, 0xA0, 0x8C, // Logical Maximum (-29536)
0x75, 0x10, // Report Size (16)
0x95, 0x01, // Report Count (1)
0x55, 0x0E, // Unit Exponent (-2)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x0A, 0x16, 0x03, // Usage (0x0316)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x05, // Logical Maximum (5)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x40, 0x08, // Usage (0x0840)
0x0A, 0x41, 0x08, // Usage (0x0841)
0x0A, 0x42, 0x08, // Usage (0x0842)
0x0A, 0x43, 0x08, // Usage (0x0843)
0x0A, 0x44, 0x08, // Usage (0x0844)
0x0A, 0x45, 0x08, // Usage (0x0845)
0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x0A, 0x19, 0x03, // Usage (0x0319)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x05, // Logical Maximum (5)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x50, 0x08, // Usage (0x0850)
0x0A, 0x51, 0x08, // Usage (0x0851)
0x0A, 0x52, 0x08, // Usage (0x0852)
0x0A, 0x53, 0x08, // Usage (0x0853)
0x0A, 0x54, 0x08, // Usage (0x0854)
0x0A, 0x55, 0x08, // Usage (0x0855)
0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x0A, 0x01, 0x02, // Usage (0x0201)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x06, // Logical Maximum (6)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x00, 0x08, // Usage (0x0800)
0x0A, 0x01, 0x08, // Usage (0x0801)
0x0A, 0x02, 0x08, // Usage (0x0802)
0x0A, 0x03, 0x08, // Usage (0x0803)
0x0A, 0x04, 0x08, // Usage (0x0804)
0x0A, 0x05, 0x08, // Usage (0x0805)
0x0A, 0x06, 0x08, // Usage (0x0806)
0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x0A, 0x04, 0x03, // Usage (0x0304)
0x15, 0x00, // Logical Minimum (0)
0x25, 0xFF, // Logical Maximum (-1)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0x55, 0x00, // Unit Exponent (0)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x05, 0x20, // Usage Page (0x20)
0x0A, 0x01, 0x02, // Usage (0x0201)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x06, // Logical Maximum (6)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x00, 0x08, // Usage (0x0800)
0x0A, 0x01, 0x08, // Usage (0x0801)
0x0A, 0x02, 0x08, // Usage (0x0802)
0x0A, 0x03, 0x08, // Usage (0x0803)
0x0A, 0x04, 0x08, // Usage (0x0804)
0x0A, 0x05, 0x08, // Usage (0x0805)
0x0A, 0x06, 0x08, // Usage (0x0806)
0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0, // End Collection
0x0A, 0x02, 0x02, // Usage (0x0202)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x05, // Logical Maximum (5)
0x75, 0x10, // Report Size (16)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x10, 0x08, // Usage (0x0810)
0x0A, 0x11, 0x08, // Usage (0x0811)
0x0A, 0x12, 0x08, // Usage (0x0812)
0x0A, 0x13, 0x08, // Usage (0x0813)
0x0A, 0x14, 0x08, // Usage (0x0814)
0x0A, 0x15, 0x08, // Usage (0x0815)
0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0, // End Collection
0x0A, 0x41, 0x05, // Usage (0x0541)
0x17, 0x00, 0x00, 0x00, 0x00, // Logical Minimum (-1)
0x27, 0xFF, 0xFF, 0xFF, 0xFF, // Logical Maximum (-2)
0x75, 0x20, // Report Size (32)
0x95, 0x01, // Report Count (1)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x0A, 0x83, 0x04, // Usage (0x0483)
0x17, 0x01, 0x00, 0x00, 0x80, // Logical Minimum (-2147483648)
0x27, 0xFF, 0xFF, 0xFF, 0x7F, // Logical Maximum (2147483646)
0x75, 0x20, // Report Size (32)
0x95, 0x04, // Report Count (4)
0x65, 0x00, // Unit (None)
0x55, 0x0A, // Unit Exponent (-6)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x0A, 0x88, 0x04, // Usage (0x0488)
0x16, 0x00, 0x00, // Logical Minimum (0)
0x26, 0xFF, 0xFF, // Logical Maximum (-1)
0x75, 0x10, // Report Size (16)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0xE0, 0x08, // Usage (0x08E0)
0x0A, 0xE1, 0x08, // Usage (0x08E1)
0x0A, 0xE2, 0x08, // Usage (0x08E2)
0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0, // End Collection
0xC0, // End Collection
0x85, 0x06, // Report ID (6)
0x05, 0x20, // Usage Page (0x20)
0x09, 0x86, // Usage (0x86)
0xA1, 0x00, // Collection (Physical)
0x0A, 0x09, 0x03, // Usage (0x0309)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x02, // Logical Maximum (2)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x30, 0x08, // Usage (0x0830)
0x0A, 0x31, 0x08, // Usage (0x0831)
0x0A, 0x32, 0x08, // Usage (0x0832)
0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x0A, 0x0E, 0x03, // Usage (0x030E)
0x15, 0x00, // Logical Minimum (0)
0x27, 0xFF, 0xFF, 0xFF, 0xFF, // Logical Maximum (-2)
0x75, 0x20, // Report Size (32)
0x95, 0x01, // Report Count (1)
0x55, 0x00, // Unit Exponent (0)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x0A, 0x7E, 0x14, // Usage (0x147E)
0x15, 0x00, // Logical Minimum (0)
0x26, 0xFF, 0xFF, // Logical Maximum (-1)
0x75, 0x10, // Report Size (16)
0x95, 0x01, // Report Count (1)
0x55, 0x0F, // Unit Exponent (-1)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x0A, 0x16, 0x03, // Usage (0x0316)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x05, // Logical Maximum (5)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x40, 0x08, // Usage (0x0840)
0x0A, 0x41, 0x08, // Usage (0x0841)
0x0A, 0x42, 0x08, // Usage (0x0842)
0x0A, 0x43, 0x08, // Usage (0x0843)
0x0A, 0x44, 0x08, // Usage (0x0844)
0x0A, 0x45, 0x08, // Usage (0x0845)
0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x0A, 0x19, 0x03, // Usage (0x0319)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x05, // Logical Maximum (5)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x50, 0x08, // Usage (0x0850)
0x0A, 0x51, 0x08, // Usage (0x0851)
0x0A, 0x52, 0x08, // Usage (0x0852)
0x0A, 0x53, 0x08, // Usage (0x0853)
0x0A, 0x54, 0x08, // Usage (0x0854)
0x0A, 0x55, 0x08, // Usage (0x0855)
0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x0A, 0x01, 0x02, // Usage (0x0201)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x06, // Logical Maximum (6)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x00, 0x08, // Usage (0x0800)
0x0A, 0x01, 0x08, // Usage (0x0801)
0x0A, 0x02, 0x08, // Usage (0x0802)
0x0A, 0x03, 0x08, // Usage (0x0803)
0x0A, 0x04, 0x08, // Usage (0x0804)
0x0A, 0x05, 0x08, // Usage (0x0805)
0x0A, 0x06, 0x08, // Usage (0x0806)
0xB1, 0x00, // Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x0A, 0x04, 0x03, // Usage (0x0304)
0x15, 0x00, // Logical Minimum (0)
0x25, 0xFF, // Logical Maximum (-1)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0x55, 0x00, // Unit Exponent (0)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x05, 0x20, // Usage Page (0x20)
0x0A, 0x01, 0x02, // Usage (0x0201)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x06, // Logical Maximum (6)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x00, 0x08, // Usage (0x0800)
0x0A, 0x01, 0x08, // Usage (0x0801)
0x0A, 0x02, 0x08, // Usage (0x0802)
0x0A, 0x03, 0x08, // Usage (0x0803)
0x0A, 0x04, 0x08, // Usage (0x0804)
0x0A, 0x05, 0x08, // Usage (0x0805)
0x0A, 0x06, 0x08, // Usage (0x0806)
0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0, // End Collection
0x0A, 0x41, 0x05, // Usage (0x0541)
0x17, 0x00, 0x00, 0x00, 0x00, // Logical Minimum (-1)
0x27, 0xFF, 0xFF, 0xFF, 0xFF, // Logical Maximum (-2)
0x75, 0x20, // Report Size (32)
0x95, 0x01, // Report Count (1)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x0A, 0x7F, 0x04, // Usage (0x047F)
0x16, 0xF8, 0xF8, // Logical Minimum (-1800)
0x26, 0x08, 0x07, // Logical Maximum (1800)
0x75, 0x10, // Report Size (16)
0x95, 0x01, // Report Count (1)
0x55, 0x0F, // Unit Exponent (-1)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x0A, 0x80, 0x04, // Usage (0x0480)
0x16, 0x7C, 0xFC, // Logical Minimum (-900)
0x26, 0x84, 0x03, // Logical Maximum (900)
0x75, 0x10, // Report Size (16)
0x95, 0x01, // Report Count (1)
0x55, 0x0F, // Unit Exponent (-1)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x0A, 0x81, 0x04, // Usage (0x0481)
0x16, 0x00, 0x00, // Logical Minimum (0)
0x26, 0x10, 0x0E, // Logical Maximum (3600)
0x75, 0x10, // Report Size (16)
0x95, 0x01, // Report Count (1)
0x55, 0x0F, // Unit Exponent (-1)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x0A, 0x02, 0x02, // Usage (0x0202)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x05, // Logical Maximum (5)
0x75, 0x08, // Report Size (8)
0x95, 0x01, // Report Count (1)
0xA1, 0x02, // Collection (Logical)
0x0A, 0x10, 0x08, // Usage (0x0810)
0x0A, 0x11, 0x08, // Usage (0x0811)
0x0A, 0x12, 0x08, // Usage (0x0812)
0x0A, 0x13, 0x08, // Usage (0x0813)
0x0A, 0x14, 0x08, // Usage (0x0814)
0x0A, 0x15, 0x08, // Usage (0x0815)
0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0, // End Collection
0xC0, // End Collection
0xC0, // End Collection
0x06, 0x04, 0xFF, // Usage Page (Vendor Defined 0xFF04)
0x09, 0x01, // Usage (0x01)
0xA1, 0x01, // Collection (Application)
0x85, 0x0E, // Report ID (14)
0x15, 0x00, // Logical Minimum (0)
0x25, 0xFF, // Logical Maximum (-1)
0x95, 0x01, // Report Count (1)
0x75, 0x08, // Report Size (8)
0x09, 0x00, // Usage (0x00)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x16, 0x01, 0x80, // Logical Minimum (-32767)
0x26, 0xFF, 0x7F, // Logical Maximum (32767)
0x95, 0x18, // Report Count (24)
0x75, 0x10, // Report Size (16)
0x09, 0x00, // Usage (0x00)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x15, 0x00, // Logical Minimum (0)
0x25, 0xFF, // Logical Maximum (-1)
0x95, 0x01, // Report Count (1)
0x75, 0x08, // Report Size (8)
0x09, 0x00, // Usage (0x00)
0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x16, 0x01, 0x80, // Logical Minimum (-32767)
0x26, 0xFF, 0x7F, // Logical Maximum (32767)
0x95, 0x18, // Report Count (24)
0x75, 0x10, // Report Size (16)
0x09, 0x00, // Usage (0x00)
0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
0x06, 0x04, 0xFF, // Usage Page (Vendor Defined 0xFF04)
0x09, 0x50, // Usage (0x50)
0xA1, 0x01, // Collection (Application)
0x85, 0x20, // Report ID (32)
0x15, 0x00, // Logical Minimum (0)
0x25, 0xFF, // Logical Maximum (-1)
0x75, 0x08, // Report Size (8)
0x95, 0x3C, // Report Count (60)
0x09, 0x60, // Usage (0x60)
0x82, 0x02, 0x01, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Buffered Bytes)
0x09, 0x61, // Usage (0x61)
0x92, 0x02, 0x01, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile,Buffered Bytes)
0x09, 0x62, // Usage (0x62)
0xB2, 0x02, 0x01, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile,Buffered Bytes)
0x85, 0x21, // Report ID (33)
0x09, 0x63, // Usage (0x63)
0x82, 0x02, 0x01, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Buffered Bytes)
0x09, 0x64, // Usage (0x64)
0x92, 0x02, 0x01, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile,Buffered Bytes)
0x09, 0x65, // Usage (0x65)
0xB2, 0x02, 0x01, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile,Buffered Bytes)
0x85, 0x22, // Report ID (34)
0x27, 0xFF, 0xFF, 0xFF, 0xFF, // Logical Maximum (-2)
0x75, 0x20, // Report Size (32)
0x95, 0x04, // Report Count (4)
0x19, 0x66, // Usage Minimum (0x66)
0x29, 0x69, // Usage Maximum (0x69)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x19, 0x6A, // Usage Minimum (0x6A)
0x29, 0x6D, // Usage Maximum (0x6D)
0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x19, 0x6E, // Usage Minimum (0x6E)
0x29, 0x71, // Usage Maximum (0x71)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x85, 0x23, // Report ID (35)
0x19, 0x72, // Usage Minimum (0x72)
0x29, 0x75, // Usage Maximum (0x75)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x19, 0x76, // Usage Minimum (0x76)
0x29, 0x79, // Usage Maximum (0x79)
0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x19, 0x7A, // Usage Minimum (0x7A)
0x29, 0x7D, // Usage Maximum (0x7D)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x85, 0x24, // Report ID (36)
0x19, 0x7E, // Usage Minimum (0x7E)
0x29, 0x81, // Usage Maximum (0x81)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x19, 0x82, // Usage Minimum (0x82)
0x29, 0x85, // Usage Maximum (0x85)
0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x19, 0x86, // Usage Minimum (0x86)
0x29, 0x89, // Usage Maximum (0x89)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x85, 0x25, // Report ID (37)
0x19, 0x8A, // Usage Minimum (0x8A)
0x29, 0x8D, // Usage Maximum (0x8D)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x19, 0x8E, // Usage Minimum (0x8E)
0x29, 0x91, // Usage Maximum (0x91)
0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x19, 0x92, // Usage Minimum (0x92)
0x29, 0x95, // Usage Maximum (0x95)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x85, 0x26, // Report ID (38)
0x19, 0x96, // Usage Minimum (0x96)
0x29, 0x99, // Usage Maximum (0x99)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x19, 0x9A, // Usage Minimum (0x9A)
0x29, 0x9D, // Usage Maximum (0x9D)
0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x19, 0x9E, // Usage Minimum (0x9E)
0x29, 0xA1, // Usage Maximum (0xA1)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x85, 0x27, // Report ID (39)
0x19, 0xA2, // Usage Minimum (0xA2)
0x29, 0xA5, // Usage Maximum (0xA5)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x19, 0xA6, // Usage Minimum (0xA6)
0x29, 0xA9, // Usage Maximum (0xA9)
0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x19, 0xAA, // Usage Minimum (0xAA)
0x29, 0xAD, // Usage Maximum (0xAD)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x85, 0x28, // Report ID (40)
0x19, 0xAE, // Usage Minimum (0xAE)
0x29, 0xB1, // Usage Maximum (0xB1)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x19, 0xB2, // Usage Minimum (0xB2)
0x29, 0xB5, // Usage Maximum (0xB5)
0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x19, 0xB6, // Usage Minimum (0xB6)
0x29, 0xB9, // Usage Maximum (0xB9)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x85, 0x29, // Report ID (41)
0x19, 0xBA, // Usage Minimum (0xBA)
0x29, 0xBD, // Usage Maximum (0xBD)
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x19, 0xBE, // Usage Minimum (0xBE)
0x29, 0xC1, // Usage Maximum (0xC1)
0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x19, 0xC2, // Usage Minimum (0xC2)
0x29, 0xC5, // Usage Maximum (0xC5)
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0, // End Collection
// 2239 bytes
// best guess: USB HID Report Descriptor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment