/*************************************************************************** AUTOMATICALLY GENERATED by USBDescriptorKitchen (0.3) When editing, make sure you keep the indentation right and use an editor that doesn't mess around with the linefeeds. See http://github.com/zonque/USBDescriptorKitchen/ for more information about the tool that was used to generate this file. ***************************************************************************/ static const char Device_1[] = { /* Device*/ 0x12, /* bLength (Size of this descriptor in bytes) */ 0x01, /* bDescriptorType (DEVICE Descriptor Type) */ 0x00, 0x02, /* bcdUSB (USB Specification Release Number in Binary-Coded Decimal) ("2.0") (512) */ 0x00, /* bDeviceClass (Class code (assigned by the USB-IF).) ("Defined at interface level") */ 0x00, /* bDeviceSubClass (Subclass code (assigned by the USB-IF).) */ 0x00, /* bDeviceProtocol (Protocol code (assigned by the USB-IF).) */ 0x40, /* bMaxPacketSize0 (Maximum packet size for endpoint zero) ("64") */ 0x50, 0x1d, /* idVendor (Vendor ID (assigned by the USB-IF)) (7504) */ 0xe1, 0xe1, /* idProduct (Product ID (assigned by the manufacturer)) (57825) */ 0x00, 0x01, /* bcdDevice (Device release number in binary-coded decimal) (256) */ 0x01, /* iManufacturer */ 0x02, /* iProduct */ 0x03, /* iSerialNumber */ 0x01, /* bNumConfigurations (Number of possible configurations) */ }; static const char Configuration_1[] = { /* Configuration*/ 0x09, /* bLength (Size of this descriptor in bytes) */ 0x02, /* bDescriptorType (CONFIGURATION Descriptor Type) */ 0x27, 0x00, /* wTotalLength (Total length of data returned for this configuration) (39) */ 0x01, /* bNumInterfaces (Number of interfaces supported by this configuration) */ 0x01, /* bConfigurationValue (Value to use as an argument to the SetConfiguration() request to select this configuration) */ 0x04, /* iConfiguration (Index of string descriptor describing this configuration) */ 0x80, /* bmAttributes (Configuration characteristics) ('Remote Wakeup' = 0, 'Self-powered' = 0, 'Reserved (set to one)' = 1) */ 0x32, /* bMaxPower (Maximum power consumption of the USB, device. Expressed in 2 mA units) */ /* Interface*/ 0x09, /* bLength (Size of this descriptor in bytes) */ 0x04, /* bDescriptorType (INTERFACE Descriptor Type) */ 0x00, /* bInterfaceNumber (Number of this interface. Zero-based value.) */ 0x00, /* bAlternateSetting (Value used to select this alternate setting) */ 0x03, /* bNumEndpoints (Number of endpoints used by this interface) */ 0xff, /* bInterfaceClass (Class code (assigned by the USB-IF).) ("Vendor specific") */ 0x00, /* bInterfaceSubClass (Subclass code (assigned by the USB-IF).) ("0") */ 0x00, /* bInterfaceProtocol (Protocol code (assigned by the USB).) */ 0x02, /* iInterface (Index of string descriptor describing this interface) */ /* Endpoint*/ 0x07, /* bLength (Size of this descriptor in bytes) */ 0x05, /* bDescriptorType (ENDPOINT descriptor) */ 0x01, /* bEndpointAddress ('Endpoint Number' = 1, 'Direction' = 0) */ 0x05, /* bEndpointAttributes ('Transfer Type' = 1, 'Synchronization Type' = 1, 'Usage Type' = 0) */ 0xb0, 0x01, /* wMaxPacketSize (Maximum packet size this endpoint is capable of sending or receiving when this configuration is selected.) (432) */ 0x01, /* bInterval (Interval for polling endpoint for data transfers. Expressed in frames or microframes depending on the device operating speed (i.e., either 1 millisecond or 125 us units)) */ /* Endpoint*/ 0x07, /* bLength (Size of this descriptor in bytes) */ 0x05, /* bDescriptorType (ENDPOINT descriptor) */ 0x81, /* bEndpointAddress ('Endpoint Number' = 1, 'Direction' = 1) */ 0x11, /* bEndpointAttributes ('Transfer Type' = 1, 'Synchronization Type' = 0, 'Usage Type' = 1) */ 0x08, 0x00, /* wMaxPacketSize (Maximum packet size this endpoint is capable of sending or receiving when this configuration is selected.) (8) */ 0x03, /* bInterval (Interval for polling endpoint for data transfers. Expressed in frames or microframes depending on the device operating speed (i.e., either 1 millisecond or 125 us units)) */ /* Endpoint*/ 0x07, /* bLength (Size of this descriptor in bytes) */ 0x05, /* bDescriptorType (ENDPOINT descriptor) */ 0x82, /* bEndpointAddress ('Endpoint Number' = 2, 'Direction' = 1) */ 0x05, /* bEndpointAttributes ('Transfer Type' = 1, 'Synchronization Type' = 1, 'Usage Type' = 0) */ 0xb0, 0x01, /* wMaxPacketSize (Maximum packet size this endpoint is capable of sending or receiving when this configuration is selected.) (432) */ 0x01, /* bInterval (Interval for polling endpoint for data transfers. Expressed in frames or microframes depending on the device operating speed (i.e., either 1 millisecond or 125 us units)) */ }; static const char StringZero_1[] = { /* StringZero*/ 0x04, /* bLength (Size of this descriptor in bytes) */ 0x03, /* bDescriptorType (STRING Descriptor Type) */ 0x09, 0x04, /* wLANGID(0) ("English (United States)") (1033) */ }; static const char String_1[] = { /* String*/ 0x10, /* bLength (Size of this descriptor in bytes) */ 0x03, /* bDescriptorType (STRING Descriptor Type) */ 0x6f, 0x00, 0x73, 0x00, 0x6d, 0x00, 0x6f, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6d, 0x00, /* bString (0) */ }; static const char String_2[] = { /* String*/ 0x22, /* bLength (Size of this descriptor in bytes) */ 0x03, /* bDescriptorType (STRING Descriptor Type) */ 0x55, 0x00, 0x53, 0x00, 0x42, 0x00, 0x20, 0x00, 0x45, 0x00, 0x31, 0x00, 0x20, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x65, 0x00, 0x72, 0x00, 0x66, 0x00, 0x61, 0x00, 0x63, 0x00, 0x65, 0x00, /* bString (0) */ }; static const char String_3[] = { /* String*/ 0x12, /* bLength (Size of this descriptor in bytes) */ 0x03, /* bDescriptorType (STRING Descriptor Type) */ 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, /* bString (0) */ }; static const char String_4[] = { /* String*/ 0x0a, /* bLength (Size of this descriptor in bytes) */ 0x03, /* bDescriptorType (STRING Descriptor Type) */ 0x4d, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6e, 0x00, /* bString ("Main") (0) */ }; static const char *Devices[] = { Device_1, }; static const char *Configurations[] = { Configuration_1, }; static const char *Strings[] = { String_1, String_2, String_3, String_4, }; static const char *StringZeros[] = { StringZero_1, };