aboutsummaryrefslogtreecommitdiffstats
path: root/libmaple/usb/descriptors.c
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@leaflabs.com>2011-09-20 16:29:46 -0400
committerMarti Bolivar <mbolivar@leaflabs.com>2011-09-20 16:29:46 -0400
commit80b52e0da53ff7e63098e9f6fc6e3ffe2a99b547 (patch)
treea4c75a558a577b6f943e52ae72ad8d5ed5604083 /libmaple/usb/descriptors.c
parent6bd3f6ae8b957ec3fdc3fbf53b969bfa1dbad69c (diff)
parenta434d6b99b140ee3f489370d01e12cb1db210376 (diff)
downloadlibrambutan-80b52e0da53ff7e63098e9f6fc6e3ffe2a99b547.tar.gz
librambutan-80b52e0da53ff7e63098e9f6fc6e3ffe2a99b547.zip
Merge remote branch 'rryan/usb_fixes'
Diffstat (limited to 'libmaple/usb/descriptors.c')
-rw-r--r--libmaple/usb/descriptors.c125
1 files changed, 61 insertions, 64 deletions
diff --git a/libmaple/usb/descriptors.c b/libmaple/usb/descriptors.c
index 8dd9521..a0bc046 100644
--- a/libmaple/usb/descriptors.c
+++ b/libmaple/usb/descriptors.c
@@ -46,32 +46,34 @@ const USB_Descriptor_Device usbVcomDescriptor_Device = {
};
const USB_Descriptor_Config usbVcomDescriptor_Config = {
- bLength: 0x09,//sizeof(USB_Descriptor_Config_Header),
- bDescriptorType: USB_DESCRIPTOR_TYPE_CONFIGURATION,
- wTotalLength: 0x43,//sizeof(USB_Descriptor_Config),
- bNumInterfaces: 0x02,
- bConfigurationValue: 0x01,
- iConfiguration: 0x00,
- bmAttributes: (USB_CONFIG_ATTR_BUSPOWERED |
- USB_CONFIG_ATTR_SELF_POWERED),
- bMaxPower: USB_CONFIG_MAX_POWER,
+ Config_Header: {
+ bLength: sizeof(USB_Descriptor_Config_Header),
+ bDescriptorType: USB_DESCRIPTOR_TYPE_CONFIGURATION,
+ wTotalLength: sizeof(USB_Descriptor_Config),
+ bNumInterfaces: 0x02,
+ bConfigurationValue: 0x01,
+ iConfiguration: 0x00,
+ bmAttributes: (USB_CONFIG_ATTR_BUSPOWERED |
+ USB_CONFIG_ATTR_SELF_POWERED),
+ bMaxPower: USB_CONFIG_MAX_POWER,
+ },
CCI_Interface:
{
- bLength: 0x09,//sizeof(USB_Descriptor_Interface),
+ bLength: sizeof(USB_Descriptor_Interface),
bDescriptorType: USB_DESCRIPTOR_TYPE_INTERFACE,
bInterfaceNumber: 0x00,
bAlternateSetting: 0x00,
bNumEndpoints: 0x01,
- bInterfaceClass: 0x02,
- bInterfaceSubClass: 0x02,
- bInterfaceProtocol: 0x01,
+ bInterfaceClass: USB_INTERFACE_CLASS_CDC,
+ bInterfaceSubClass: USB_INTERFACE_SUBCLASS_CDC_ACM,
+ bInterfaceProtocol: 0x01, /* Common AT Commands */
iInterface: 0x00
},
CDC_Functional_IntHeader:
{
- bLength: 0x05,//sizeof(CDC_FUNCTIONAL_DESCRIPTOR(2)),
+ bLength: CDC_FUNCTIONAL_DESCRIPTOR_SIZE(2),
bDescriptorType: 0x24,
SubType: 0x00,
Data: {0x01, 0x10}
@@ -79,7 +81,7 @@ const USB_Descriptor_Config usbVcomDescriptor_Config = {
CDC_Functional_CallManagement:
{
- bLength: 0x05,//sizeof(CDC_FUNCTIONAL_DESCRIPTOR(2)),
+ bLength: CDC_FUNCTIONAL_DESCRIPTOR_SIZE(2),
bDescriptorType: 0x24,
SubType: 0x01,
Data: {0x03, 0x01}
@@ -87,7 +89,7 @@ const USB_Descriptor_Config usbVcomDescriptor_Config = {
CDC_Functional_ACM:
{
- bLength: 0x04,//sizeof(CDC_FUNCTIONAL_DESCRIPTOR(1)),
+ bLength: CDC_FUNCTIONAL_DESCRIPTOR_SIZE(1),
bDescriptorType: 0x24,
SubType: 0x02,
Data: {0x06}
@@ -95,59 +97,54 @@ const USB_Descriptor_Config usbVcomDescriptor_Config = {
CDC_Functional_Union:
{
- bLength: 0x05,//sizeof(CDC_FUNCTIONAL_DESCRIPTOR(2)),
+ bLength: CDC_FUNCTIONAL_DESCRIPTOR_SIZE(2),
bDescriptorType: 0x24,
SubType: 0x06,
Data: {0x00, 0x01}
},
- // ManagementEndpoint:
- // {
- EP1_bLength: 0x07,//sizeof(USB_Descriptor_Endpoint),
- EP1_bDescriptorType: USB_DESCRIPTOR_TYPE_ENDPOINT,
- EP1_bEndpointAddress: (USB_DESCRIPTOR_ENDPOINT_IN | VCOM_NOTIFICATION_EPNUM),
- EP1_bmAttributes: EP_TYPE_INTERRUPT,
- EP1_wMaxPacketSize0: VCOM_NOTIFICATION_EPSIZE,
- EP1_wMaxPacketSize1: 0x00,
- EP1_bInterval: 0xFF,
- // },
-
- // DCI_Interface:
- // {
- DCI_bLength: 0x09,//sizeof(USB_Descriptor_Interface),
- DCI_bDescriptorType: USB_DESCRIPTOR_TYPE_INTERFACE,
- DCI_bInterfaceNumber: 0x01,
- DCI_bAlternateSetting: 0x00,
- DCI_bNumEndpoints: 0x02,
- DCI_bInterfaceClass: 0x0A,
- DCI_bInterfaceSubClass: 0x00,
- DCI_bInterfaceProtocol: 0x00,
- DCI_iInterface: 0x00,
- // },
-
- //DataOutEndpoint:
- // {
- // },
- EP2_bLength: 0x07,//sizeof(USB_Descriptor_Endpoint),
- EP2_bDescriptorType: USB_DESCRIPTOR_TYPE_ENDPOINT,
- EP2_bEndpointAddress: (USB_DESCRIPTOR_ENDPOINT_OUT | VCOM_RX_EPNUM),
- EP2_bmAttributes: EP_TYPE_BULK,
- EP2_wMaxPacketSize0: VCOM_RX_EPSIZE,
- EP2_wMaxPacketSize1: 0x00,
- EP2_bInterval: 0x00,
-
-
- // DataInEndpoint:
- // {
- EP3_bLength: 0x07,//sizeof(USB_Descriptor_Endpoint),
- EP3_bDescriptorType: USB_DESCRIPTOR_TYPE_ENDPOINT,
- EP3_bEndpointAddress: (USB_DESCRIPTOR_ENDPOINT_IN | VCOM_TX_EPNUM),
- EP3_bmAttributes: EP_TYPE_BULK,
- EP3_wMaxPacketSize0: VCOM_TX_EPSIZE,
- EP3_wMaxPacketSize1: 0x00,
- EP3_bInterval: 0x00
-
- // }
+ ManagementEndpoint:
+ {
+ bLength: sizeof(USB_Descriptor_Endpoint),
+ bDescriptorType: USB_DESCRIPTOR_TYPE_ENDPOINT,
+ bEndpointAddress: (USB_DESCRIPTOR_ENDPOINT_IN | VCOM_NOTIFICATION_EPNUM),
+ bmAttributes: EP_TYPE_INTERRUPT,
+ wMaxPacketSize: VCOM_NOTIFICATION_EPSIZE,
+ bInterval: 0xFF,
+ },
+
+ DCI_Interface:
+ {
+ bLength: sizeof(USB_Descriptor_Interface),
+ bDescriptorType: USB_DESCRIPTOR_TYPE_INTERFACE,
+ bInterfaceNumber: 0x01,
+ bAlternateSetting: 0x00,
+ bNumEndpoints: 0x02,
+ bInterfaceClass: USB_INTERFACE_CLASS_DIC,
+ bInterfaceSubClass: 0x00, /* None */
+ bInterfaceProtocol: 0x00, /* None */
+ iInterface: 0x00,
+ },
+
+ DataOutEndpoint:
+ {
+ bLength: sizeof(USB_Descriptor_Endpoint),
+ bDescriptorType: USB_DESCRIPTOR_TYPE_ENDPOINT,
+ bEndpointAddress: (USB_DESCRIPTOR_ENDPOINT_OUT | VCOM_RX_EPNUM),
+ bmAttributes: EP_TYPE_BULK,
+ wMaxPacketSize: VCOM_RX_EPSIZE,
+ bInterval: 0x00,
+ },
+
+ DataInEndpoint:
+ {
+ bLength: sizeof(USB_Descriptor_Endpoint),
+ bDescriptorType: USB_DESCRIPTOR_TYPE_ENDPOINT,
+ bEndpointAddress: (USB_DESCRIPTOR_ENDPOINT_IN | VCOM_TX_EPNUM),
+ bmAttributes: EP_TYPE_BULK,
+ wMaxPacketSize: VCOM_TX_EPSIZE,
+ bInterval: 0x00
+ }
};
/*****************************************************************************