17 struct sDescriptor_Device
21 Uint16 USBVersion; // BCD, 0x210 = 2.10
29 Uint16 DeviceID; // BCD
31 Uint8 ManufacturerStr;
33 Uint8 SerialNumberStr;
35 Uint8 NumConfigurations;
38 struct sDescriptor_Configuration
45 Uint8 ConfigurationValue;
46 Uint8 ConfigurationStr;
48 Uint8 MaxPower; // in units of 2 mA
51 struct sDescriptor_String
56 Uint16 Data[62]; // 62 is arbitary
59 struct sDescriptor_Interface
65 Uint8 AlternateSetting;
66 Uint8 NumEndpoints; // Excludes endpoint 0
68 Uint8 InterfaceClass; //
69 Uint8 InterfaceSubClass;
70 Uint8 InterfaceProtocol;
75 struct sDescriptor_Endpoint
79 Uint8 Address; // 3:0 Endpoint Num, 7: Direction (IN/OUT)
86 * 3:2 - Synchronisation type (Isonchronous only)
87 * - 00 = No Synchronisation
91 * 5:4 - Usage type (Isonchronous only)
92 * - 00 = Data endpoint
93 * - 01 = Feedback endpoint
102 Uint8 PollingInterval;