Uint8 SerialNumberStr;
Uint8 NumConfigurations;
-};
+} PACKED;
struct sDescriptor_Configuration
{
Uint8 ConfigurationStr;
Uint8 AttributesBmp;
Uint8 MaxPower; // in units of 2 mA
-};
+} PACKED;
struct sDescriptor_String
{
Uint8 Length;
Uint8 Type; // = 3
- Uint16 Data[62]; // 62 is arbitary
-};
+ Uint16 Data[128-1]; // (256 bytes - 2 bytes) / Uint16
+} PACKED;
struct sDescriptor_Interface
{
Uint8 InterfaceProtocol;
Uint8 InterfaceStr;
-};
+} PACKED;
struct sDescriptor_Endpoint
{
Uint8 Length;
Uint8 Type; // = 5
- Uint8 Address; // 3:0 Endpoint Num, 7: Direction (IN/OUT)
+ Uint8 Address; // 3:0 Endpoint Num, 7: Direction (1=IN)
/**
* 1:0 - Transfer Type
* - 00 = Control
*
*/
Uint8 PollingInterval;
-};
+} PACKED;
#endif