adjust whitespace

This commit is contained in:
Conor Patrick 2019-08-12 16:18:47 +08:00
parent 36aec9f20b
commit 78280e570b

View File

@ -37,165 +37,162 @@ static uint8_t *USBD_Composite_GetDeviceQualifierDescriptor (uint16_t *length);
#define HID_INTF_NUM 0 #define HID_INTF_NUM 0
#define CDC_MASTER_INTF_NUM 1 #define CDC_MASTER_INTF_NUM 1
#define CDC_SLAVE_INTF_NUM 2 #define CDC_SLAVE_INTF_NUM 2
__ALIGN_BEGIN uint8_t COMPOSITE_CDC_HID_DESCRIPTOR[COMPOSITE_CDC_HID_DESCRIPTOR_SIZE] __ALIGN_END = __ALIGN_BEGIN uint8_t COMPOSITE_CDC_HID_DESCRIPTOR[COMPOSITE_CDC_HID_DESCRIPTOR_SIZE] __ALIGN_END =
{ {
/*Configuration Descriptor*/ /*Configuration Descriptor*/
0x09, /* bLength: Configuration Descriptor size */ 0x09, /* bLength: Configuration Descriptor size */
USB_DESC_TYPE_CONFIGURATION, /* bDescriptorType: Configuration */ USB_DESC_TYPE_CONFIGURATION, /* bDescriptorType: Configuration */
COMPOSITE_CDC_HID_DESCRIPTOR_SIZE, /* wTotalLength:no of returned bytes */ COMPOSITE_CDC_HID_DESCRIPTOR_SIZE, /* wTotalLength:no of returned bytes */
0x00, 0x00,
NUM_INTERFACES, /* bNumInterfaces */ NUM_INTERFACES, /* bNumInterfaces */
0x01, /* bConfigurationValue: Configuration value */ 0x01, /* bConfigurationValue: Configuration value */
0x00, /* iConfiguration: Index of string descriptor describing the configuration */ 0x00, /* iConfiguration: Index of string descriptor describing the configuration */
0x80, /* bmAttributes: self powered */ 0x80, /* bmAttributes: self powered */
0x32, /* MaxPower 100 mA */ 0x32, /* MaxPower 100 mA */
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
/* */ /* */
/* HID */ /* HID */
/* */ /* */
/************** Descriptor of Joystick Mouse interface ****************/ /************** Descriptor of Joystick Mouse interface ****************/
0x09, /*bLength: Interface Descriptor size*/ 0x09, /*bLength: Interface Descriptor size*/
USB_DESC_TYPE_INTERFACE,/*bDescriptorType: Interface descriptor type*/ USB_DESC_TYPE_INTERFACE, /*bDescriptorType: Interface descriptor type*/
HID_INTF_NUM, /*bInterfaceNumber: Number of Interface*/ HID_INTF_NUM, /*bInterfaceNumber: Number of Interface*/
0x00, /*bAlternateSetting: Alternate setting*/ 0x00, /*bAlternateSetting: Alternate setting*/
0x02, /*bNumEndpoints*/ 0x02, /*bNumEndpoints*/
0x03, /*bInterfaceClass: HID*/ 0x03, /*bInterfaceClass: HID*/
0x00, /*bInterfaceSubClass : 1=BOOT, 0=no boot*/ 0x00, /*bInterfaceSubClass : 1=BOOT, 0=no boot*/
0x00, /*nInterfaceProtocol : 0=none, 1=keyboard, 2=mouse*/ 0x00, /*nInterfaceProtocol : 0=none, 1=keyboard, 2=mouse*/
2, /*iInterface: Index of string descriptor*/ 2, /*iInterface: Index of string descriptor*/
/******************** Descriptor of Joystick Mouse HID ********************/ /******************** Descriptor of Joystick Mouse HID ********************/
0x09, /*bLength: HID Descriptor size*/ 0x09, /*bLength: HID Descriptor size*/
HID_DESCRIPTOR_TYPE, /*bDescriptorType: HID*/ HID_DESCRIPTOR_TYPE, /*bDescriptorType: HID*/
0x11, /*bcdHID: HID Class Spec release number*/ 0x11, /*bcdHID: HID Class Spec release number*/
0x01, 0x01,
0x00, /*bCountryCode: Hardware target country*/ 0x00, /*bCountryCode: Hardware target country*/
0x01, /*bNumDescriptors: Number of HID class descriptors to follow*/ 0x01, /*bNumDescriptors: Number of HID class descriptors to follow*/
0x22, /*bDescriptorType*/ 0x22, /*bDescriptorType*/
HID_FIDO_REPORT_DESC_SIZE,/*wItemLength: Total length of Report descriptor*/ HID_FIDO_REPORT_DESC_SIZE, /*wItemLength: Total length of Report descriptor*/
0, 0,
/******************** Descriptor of Mouse endpoint ********************/ /******************** Descriptor of Mouse endpoint ********************/
0x07, /*bLength: Endpoint Descriptor size*/ 0x07, /*bLength: Endpoint Descriptor size*/
USB_DESC_TYPE_ENDPOINT, /*bDescriptorType:*/ USB_DESC_TYPE_ENDPOINT, /*bDescriptorType:*/
HID_EPIN_ADDR, /*bEndpointAddress: Endpoint Address (IN)*/ HID_EPIN_ADDR, /*bEndpointAddress: Endpoint Address (IN)*/
0x03, /*bmAttributes: Interrupt endpoint*/ 0x03, /*bmAttributes: Interrupt endpoint*/
HID_EPIN_SIZE, /*wMaxPacketSize: 4 Byte max */ HID_EPIN_SIZE, /*wMaxPacketSize: 4 Byte max */
0x00, 0x00,
HID_BINTERVAL, /*bInterval: Polling Interval */ HID_BINTERVAL, /*bInterval: Polling Interval */
0x07, /*bLength: Endpoint Descriptor size*/ 0x07, /*bLength: Endpoint Descriptor size*/
USB_DESC_TYPE_ENDPOINT, /*bDescriptorType:*/ USB_DESC_TYPE_ENDPOINT, /*bDescriptorType:*/
HID_EPOUT_ADDR, /*bEndpointAddress: Endpoint Address (IN)*/ HID_EPOUT_ADDR, /*bEndpointAddress: Endpoint Address (IN)*/
0x03, /*bmAttributes: Interrupt endpoint*/ 0x03, /*bmAttributes: Interrupt endpoint*/
HID_EPOUT_SIZE, /*wMaxPacketSize: 4 Byte max */ HID_EPOUT_SIZE, /*wMaxPacketSize: 4 Byte max */
0x00, 0x00,
HID_BINTERVAL, /*bInterval: Polling Interval */ HID_BINTERVAL, /*bInterval: Polling Interval */
#if NUM_INTERFACES > 1
/* */
/* CDC */
/* */
// This "IAD" is needed for Windows since it ignores the standard Union Functional Descriptor
0x08, // bLength
0x0B, // IAD type
CDC_MASTER_INTF_NUM, // First interface
CDC_SLAVE_INTF_NUM, // Next interface
0x02, // bInterfaceClass of the first interface
0x02, // bInterfaceSubClass of the first interface
0x00, // bInterfaceProtocol of the first interface
0x00, // Interface string index
#if NUM_INTERFACES>1 /*Interface Descriptor */
0x09, /* bLength: Interface Descriptor size */
USB_DESC_TYPE_INTERFACE, /* bDescriptorType: Interface */
/* Interface descriptor type */
/*!*/ CDC_MASTER_INTF_NUM, /* bInterfaceNumber: Number of Interface */
0x00, /* bAlternateSetting: Alternate setting */
0x01, /* bNumEndpoints: 1 endpoint used */
0x02, /* bInterfaceClass: Communication Interface Class */
0x02, /* bInterfaceSubClass: Abstract Control Model */
0x00, /* bInterfaceProtocol: Common AT commands */
0x00, /* iInterface: */
/* */ /*Header Functional Descriptor*/
/* CDC */ 0x05, /* bLength: Endpoint Descriptor size */
/* */ 0x24, /* bDescriptorType: CS_INTERFACE */
// This "IAD" is needed for Windows since it ignores the standard Union Functional Descriptor 0x00, /* bDescriptorSubtype: Header Func Desc */
0x08, // bLength 0x10, /* bcdCDC: spec release number */
0x0B, // IAD type 0x01,
CDC_MASTER_INTF_NUM, // First interface
CDC_SLAVE_INTF_NUM, // Next interface
0x02, // bInterfaceClass of the first interface
0x02, // bInterfaceSubClass of the first interface
0x00, // bInterfaceProtocol of the first interface
0x00, // Interface string index
/*Interface Descriptor */ /*Call Management Functional Descriptor*/
0x09, /* bLength: Interface Descriptor size */ 0x05, /* bFunctionLength */
USB_DESC_TYPE_INTERFACE, /* bDescriptorType: Interface */ 0x24, /* bDescriptorType: CS_INTERFACE */
/* Interface descriptor type */ 0x01, /* bDescriptorSubtype: Call Management Func Desc */
/*!*/ CDC_MASTER_INTF_NUM, /* bInterfaceNumber: Number of Interface */ 0x00, /* bmCapabilities: D0+D1 */
0x00, /* bAlternateSetting: Alternate setting */ /*!*/ CDC_SLAVE_INTF_NUM, /* bDataInterface: 0 */
0x01, /* bNumEndpoints: 1 endpoint used */
0x02, /* bInterfaceClass: Communication Interface Class */
0x02, /* bInterfaceSubClass: Abstract Control Model */
0x00, /* bInterfaceProtocol: Common AT commands */
0x00, /* iInterface: */
/*Header Functional Descriptor*/ /*ACM Functional Descriptor*/
0x05, /* bLength: Endpoint Descriptor size */ 0x04, /* bFunctionLength */
0x24, /* bDescriptorType: CS_INTERFACE */ 0x24, /* bDescriptorType: CS_INTERFACE */
0x00, /* bDescriptorSubtype: Header Func Desc */ 0x02, /* bDescriptorSubtype: Abstract Control Management desc */
0x10, /* bcdCDC: spec release number */ 0x02, /* bmCapabilities */
0x01,
/*Call Management Functional Descriptor*/ /*Union Functional Descriptor*/
0x05, /* bFunctionLength */ 0x05, /* bFunctionLength */
0x24, /* bDescriptorType: CS_INTERFACE */ 0x24, /* bDescriptorType: CS_INTERFACE */
0x01, /* bDescriptorSubtype: Call Management Func Desc */ 0x06, /* bDescriptorSubtype: Union func desc */
0x00, /* bmCapabilities: D0+D1 */ /*!*/ CDC_MASTER_INTF_NUM, /* bMasterInterface: Communication class interface */
/*!*/ CDC_SLAVE_INTF_NUM, /* bDataInterface: 0 */ /*!*/ CDC_SLAVE_INTF_NUM, /* bSlaveInterface0: Data Class Interface */
/*ACM Functional Descriptor*/ /* Control Endpoint Descriptor*/
0x04, /* bFunctionLength */ 0x07, /* bLength: Endpoint Descriptor size */
0x24, /* bDescriptorType: CS_INTERFACE */ USB_DESC_TYPE_ENDPOINT, /* bDescriptorType: Endpoint */
0x02, /* bDescriptorSubtype: Abstract Control Management desc */ CDC_CMD_EP, /* bEndpointAddress */
0x02, /* bmCapabilities */ 0x03, /* bmAttributes: Interrupt */
LOBYTE(CDC_CMD_PACKET_SIZE), /* wMaxPacketSize: */
HIBYTE(CDC_CMD_PACKET_SIZE),
0x10, /* bInterval: */
/*Union Functional Descriptor*/ /* Interface descriptor */
0x05, /* bFunctionLength */ 0x09, /* bLength */
0x24, /* bDescriptorType: CS_INTERFACE */ USB_DESC_TYPE_INTERFACE, /* bDescriptorType */
0x06, /* bDescriptorSubtype: Union func desc */ CDC_SLAVE_INTF_NUM, /* bInterfaceNumber */
/*!*/ CDC_MASTER_INTF_NUM, /* bMasterInterface: Communication class interface */ 0x00, /* bAlternateSetting */
/*!*/ CDC_SLAVE_INTF_NUM, /* bSlaveInterface0: Data Class Interface */ 0x02, /* bNumEndpoints */
0x0A, /* bInterfaceClass: Communication class data */
0x00, /* bInterfaceSubClass */
0x00, /* bInterfaceProtocol */
0x00,
/* Control Endpoint Descriptor*/ /*Endpoint OUT Descriptor*/
0x07, /* bLength: Endpoint Descriptor size */ 0x07, /* bLength: Endpoint Descriptor size */
USB_DESC_TYPE_ENDPOINT, /* bDescriptorType: Endpoint */ USB_DESC_TYPE_ENDPOINT, /* bDescriptorType: Endpoint */
CDC_CMD_EP, /* bEndpointAddress */ CDC_OUT_EP, /* bEndpointAddress */
0x03, /* bmAttributes: Interrupt */ 0x02, /* bmAttributes: Bulk */
LOBYTE(CDC_CMD_PACKET_SIZE), /* wMaxPacketSize: */ LOBYTE(CDC_DATA_FS_MAX_PACKET_SIZE), /* wMaxPacketSize: */
HIBYTE(CDC_CMD_PACKET_SIZE), HIBYTE(CDC_DATA_FS_MAX_PACKET_SIZE),
0x10, /* bInterval: */ 0x00, /* bInterval: ignore for Bulk transfer */
/* Interface descriptor */ /*Endpoint IN Descriptor*/
0x09, /* bLength */ 0x07, /* bLength: Endpoint Descriptor size */
USB_DESC_TYPE_INTERFACE, /* bDescriptorType */ USB_DESC_TYPE_ENDPOINT, /* bDescriptorType: Endpoint */
CDC_SLAVE_INTF_NUM, /* bInterfaceNumber */ CDC_IN_EP, /* bEndpointAddress */
0x00, /* bAlternateSetting */ 0x02, /* bmAttributes: Bulk */
0x02, /* bNumEndpoints */ LOBYTE(CDC_DATA_FS_MAX_PACKET_SIZE), /* wMaxPacketSize: */
0x0A, /* bInterfaceClass: Communication class data */ HIBYTE(CDC_DATA_FS_MAX_PACKET_SIZE),
0x00, /* bInterfaceSubClass */ 0x00, /* bInterval: ignore for Bulk transfer */
0x00, /* bInterfaceProtocol */
0x00,
/*Endpoint OUT Descriptor*/ 4, /* Descriptor size */
0x07, /* bLength: Endpoint Descriptor size */ 3, /* Descriptor type */
USB_DESC_TYPE_ENDPOINT, /* bDescriptorType: Endpoint */ 0x09,
CDC_OUT_EP, /* bEndpointAddress */ 0x04,
0x02, /* bmAttributes: Bulk */
LOBYTE(CDC_DATA_FS_MAX_PACKET_SIZE), /* wMaxPacketSize: */
HIBYTE(CDC_DATA_FS_MAX_PACKET_SIZE),
0x00, /* bInterval: ignore for Bulk transfer */
/*Endpoint IN Descriptor*/
0x07, /* bLength: Endpoint Descriptor size */
USB_DESC_TYPE_ENDPOINT, /* bDescriptorType: Endpoint */
CDC_IN_EP, /* bEndpointAddress */
0x02, /* bmAttributes: Bulk */
LOBYTE(CDC_DATA_FS_MAX_PACKET_SIZE), /* wMaxPacketSize: */
HIBYTE(CDC_DATA_FS_MAX_PACKET_SIZE),
0x00, /* bInterval: ignore for Bulk transfer */
4, /* Descriptor size */
3, /* Descriptor type */
0x09,
0x04,
#endif #endif
}; };
USBD_ClassTypeDef USBD_Composite = USBD_ClassTypeDef USBD_Composite =
{ {
USBD_Composite_Init, USBD_Composite_Init,