flatUSB/desc/usb_desc.c
2024-04-08 19:25:47 +02:00

190 lines
5.6 KiB
C

#include "usb_desc.h"
const USB_StrDesc_lang_id lang_id = {
/* String descriptor */
0x4, // bLength
UD_String, // bDescriptorType
0x409, // bString
};
const USB_StrDesc_vendor_string vendor_string = {
/* String descriptor */
0x10, // bLength
UD_String, // bDescriptorType
{
'E',
'p',
'a',
'g',
'r',
'i',
's',
}, // bString
};
const USB_StrDesc_product_string product_string = {
/* String descriptor */
0x16, // bLength
UD_String, // bDescriptorType
{
'T',
'e',
's',
't',
'd',
'e',
'v',
'i',
'c',
'e',
}, // bString
};
const USB_StrDesc_serial_number serial_number = {
/* String descriptor */
0xa, // bLength
UD_String, // bDescriptorType
{
'1',
'5',
'5',
'2',
}, // bString
};
const StringDescs strDescs = {
(USB_StringDesc *)&lang_id, // lang_id
(USB_StringDesc *)&vendor_string, // vendor_string
(USB_StringDesc *)&product_string, // product_string
(USB_StringDesc *)&serial_number, // serial_number
};
const USB_DeviceDesc devDesc = {
/* Device Descriptor */
0x12, // bLength
UD_Device, // bDescriptorType
0x200, // bcdUSB
0x2, // bDeviceClass
0x0, // bDeviceSubclass
0x0, // bDeviceProtocol
0x40, // bMaxPacketSize0
0x925, // idVendor
0x9050, // idProduct
0x100, // bcdDevice
0x1, // iManufacturer
0x2, // iProduct
0x3, // iSerialNumber
0x1, // bNumConfigurations
};
const USB_DeviceQualifierDesc devQualDesc = {
/* Device Qualifier descriptor */
0x9, // bLength
UD_DeviceQualifier, // bDescriptorType
0x200, // bcdUSB
0x2, // bDeviceClass
0x0, // bDeviceSubclass
0x0, // bDeviceProtocol
0x40, // bMaxPacketSize
0x1, // bNumConfigurations
};
const FullConfigurations0 fullConfDescs0 = {
{
/* Configuration descriptor */
0x9, // bLength
UD_Configuration, // bDescriptorType
sizeof(struct _FullConfigurations0), // wTotalLength
0x2, // bNumInterfaces
0x1, // bConfigurationValue
0x0, // iConfiguration
USB_CONFIG_ATTR_USB1_1_FLAG, // bmAttributes
0x32, // bMaxPower
}, // config
{
/* Interface descriptor : 0 */
0x9, // bLength
UD_Interface, // bDescriptorType
0x0, // bInterfaceNumber
0x0, // bAlternateSetting
0x1, // bNumEndpoints
0x2, // bInterfaceClass
0x2, // bInterfaceSubclass
0x1, // bInterfaceProtocol
0x0, // iInterface
}, // intf0
{
/* Header Functional descriptor */
0x5, // bLength
0x24, // bDescriptorType
0x0, // bDescriptorSubType
0x110, // bcdCDC
}, // intf0hfd
{
/* Abstract Control Management Functional descriptor */
0x4, // bLength
0x24, // bDescriptorType
0x2, // bDescriptorSubType
0x2, // bmCapabilities
}, // intf0acmfd
{
/* Abstract Control Management Functional descriptor */
0x5, // bLength
0x24, // bDescriptorType
0x6, // bDescriptorSubType
0x0, // bMasterInterface
0x1, // bSlaveInterface0
}, // intf0ufd
{
/* Call Management Functional descriptor */
0x5, // bLength
0x24, // bDescriptorType
0x1, // bDescriptorSubType
0x0, // bmCapabilities
0x1, // dDataInterface
}, // intf0cmfd
{
/* Endpoint descriptor : 2 in */
0x7, // bLength
UD_Endpoint, // bDescriptorType
(USB_IN << 7) | (2), // bEndpointAddress
UT_Interrupt, // bmAttributes
0x40, // wMaxPacketSize
0x2, // bInterval
}, // ep2in
{
/* Interface descriptor : 1 */
0x9, // bLength
UD_Interface, // bDescriptorType
0x1, // bInterfaceNumber
0x0, // bAlternateSetting
0x2, // bNumEndpoints
0xa, // bInterfaceClass
0x0, // bInterfaceSubclass
0x0, // bInterfaceProtocol
0x0, // iInterface
}, // intf1
{
/* Endpoint descriptor : 1 in */
0x7, // bLength
UD_Endpoint, // bDescriptorType
(USB_IN << 7) | (1), // bEndpointAddress
UT_Bulk, // bmAttributes
0x40, // wMaxPacketSize
0x0, // bInterval
}, // ep1in
{
/* Endpoint descriptor : 1 out */
0x7, // bLength
UD_Endpoint, // bDescriptorType
(USB_OUT << 7) | (1), // bEndpointAddress
UT_Bulk, // bmAttributes
0x40, // wMaxPacketSize
0x0, // bInterval
}, // ep1out
};
const ConfDescs confDescs = {
(USB_ConfigurationDesc *)&fullConfDescs0, // fullConfDescs0
};