I'm trying to port GRBL 1.1 to the STM32F746 chip. Tell me the solution, thanks.

Committer:
Sergunb
Date:
Mon Sep 04 12:05:05 2017 +0000
Revision:
0:9dcf85d9b2f3
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Sergunb 0:9dcf85d9b2f3 1 /******************** (C) COPYRIGHT 2011 STMicroelectronics ********************
Sergunb 0:9dcf85d9b2f3 2 * File Name : usb_desc.c
Sergunb 0:9dcf85d9b2f3 3 * Author : MCD Application Team
Sergunb 0:9dcf85d9b2f3 4 * Version : V3.3.0
Sergunb 0:9dcf85d9b2f3 5 * Date : 21-March-2011
Sergunb 0:9dcf85d9b2f3 6 * Description : Descriptors for Virtual Com Port Demo
Sergunb 0:9dcf85d9b2f3 7 ********************************************************************************
Sergunb 0:9dcf85d9b2f3 8 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
Sergunb 0:9dcf85d9b2f3 9 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
Sergunb 0:9dcf85d9b2f3 10 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
Sergunb 0:9dcf85d9b2f3 11 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
Sergunb 0:9dcf85d9b2f3 12 * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
Sergunb 0:9dcf85d9b2f3 13 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
Sergunb 0:9dcf85d9b2f3 14 *******************************************************************************/
Sergunb 0:9dcf85d9b2f3 15
Sergunb 0:9dcf85d9b2f3 16 /* Includes ------------------------------------------------------------------*/
Sergunb 0:9dcf85d9b2f3 17 #include "usb_lib.h"
Sergunb 0:9dcf85d9b2f3 18 #include "usb_desc.h"
Sergunb 0:9dcf85d9b2f3 19
Sergunb 0:9dcf85d9b2f3 20 /* USB Standard Device Descriptor */
Sergunb 0:9dcf85d9b2f3 21 const uint8_t Virtual_Com_Port_DeviceDescriptor[] =
Sergunb 0:9dcf85d9b2f3 22 {
Sergunb 0:9dcf85d9b2f3 23 0x12, /* bLength */
Sergunb 0:9dcf85d9b2f3 24 USB_DEVICE_DESCRIPTOR_TYPE, /* bDescriptorType */
Sergunb 0:9dcf85d9b2f3 25 0x00,
Sergunb 0:9dcf85d9b2f3 26 0x02, /* bcdUSB = 2.00 */
Sergunb 0:9dcf85d9b2f3 27 0x02, /* bDeviceClass: CDC */
Sergunb 0:9dcf85d9b2f3 28 0x00, /* bDeviceSubClass */
Sergunb 0:9dcf85d9b2f3 29 0x00, /* bDeviceProtocol */
Sergunb 0:9dcf85d9b2f3 30 0x40, /* bMaxPacketSize0 */
Sergunb 0:9dcf85d9b2f3 31 0x83,
Sergunb 0:9dcf85d9b2f3 32 0x04, /* idVendor = 0x0483 */
Sergunb 0:9dcf85d9b2f3 33 0x40,
Sergunb 0:9dcf85d9b2f3 34 0x57, /* idProduct = 0x7540 */
Sergunb 0:9dcf85d9b2f3 35 0x00,
Sergunb 0:9dcf85d9b2f3 36 0x02, /* bcdDevice = 2.00 */
Sergunb 0:9dcf85d9b2f3 37 1, /* Index of string descriptor describing manufacturer */
Sergunb 0:9dcf85d9b2f3 38 2, /* Index of string descriptor describing product */
Sergunb 0:9dcf85d9b2f3 39 3, /* Index of string descriptor describing the device's serial number */
Sergunb 0:9dcf85d9b2f3 40 0x01 /* bNumConfigurations */
Sergunb 0:9dcf85d9b2f3 41 };
Sergunb 0:9dcf85d9b2f3 42
Sergunb 0:9dcf85d9b2f3 43 const uint8_t Virtual_Com_Port_ConfigDescriptor[] =
Sergunb 0:9dcf85d9b2f3 44 {
Sergunb 0:9dcf85d9b2f3 45 /*Configuration Descriptor*/
Sergunb 0:9dcf85d9b2f3 46 0x09, /* bLength: Configuration Descriptor size */
Sergunb 0:9dcf85d9b2f3 47 USB_CONFIGURATION_DESCRIPTOR_TYPE, /* bDescriptorType: Configuration */
Sergunb 0:9dcf85d9b2f3 48 VIRTUAL_COM_PORT_SIZ_CONFIG_DESC, /* wTotalLength:no of returned bytes */
Sergunb 0:9dcf85d9b2f3 49 0x00,
Sergunb 0:9dcf85d9b2f3 50 0x02, /* bNumInterfaces: 2 interface */
Sergunb 0:9dcf85d9b2f3 51 0x01, /* bConfigurationValue: Configuration value */
Sergunb 0:9dcf85d9b2f3 52 0x00, /* iConfiguration: Index of string descriptor describing the configuration */
Sergunb 0:9dcf85d9b2f3 53 0xC0, /* bmAttributes: self powered */
Sergunb 0:9dcf85d9b2f3 54 0x32, /* MaxPower 0 mA */
Sergunb 0:9dcf85d9b2f3 55 /*Interface Descriptor*/
Sergunb 0:9dcf85d9b2f3 56 0x09, /* bLength: Interface Descriptor size */
Sergunb 0:9dcf85d9b2f3 57 USB_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType: Interface */
Sergunb 0:9dcf85d9b2f3 58 /* Interface descriptor type */
Sergunb 0:9dcf85d9b2f3 59 0x00, /* bInterfaceNumber: Number of Interface */
Sergunb 0:9dcf85d9b2f3 60 0x00, /* bAlternateSetting: Alternate setting */
Sergunb 0:9dcf85d9b2f3 61 0x01, /* bNumEndpoints: One endpoints used */
Sergunb 0:9dcf85d9b2f3 62 0x02, /* bInterfaceClass: Communication Interface Class */
Sergunb 0:9dcf85d9b2f3 63 0x02, /* bInterfaceSubClass: Abstract Control Model */
Sergunb 0:9dcf85d9b2f3 64 0x01, /* bInterfaceProtocol: Common AT commands */
Sergunb 0:9dcf85d9b2f3 65 0x00, /* iInterface: */
Sergunb 0:9dcf85d9b2f3 66 /*Header Functional Descriptor*/
Sergunb 0:9dcf85d9b2f3 67 0x05, /* bLength: Endpoint Descriptor size */
Sergunb 0:9dcf85d9b2f3 68 0x24, /* bDescriptorType: CS_INTERFACE */
Sergunb 0:9dcf85d9b2f3 69 0x00, /* bDescriptorSubtype: Header Func Desc */
Sergunb 0:9dcf85d9b2f3 70 0x10, /* bcdCDC: spec release number */
Sergunb 0:9dcf85d9b2f3 71 0x01,
Sergunb 0:9dcf85d9b2f3 72 /*Call Management Functional Descriptor*/
Sergunb 0:9dcf85d9b2f3 73 0x05, /* bFunctionLength */
Sergunb 0:9dcf85d9b2f3 74 0x24, /* bDescriptorType: CS_INTERFACE */
Sergunb 0:9dcf85d9b2f3 75 0x01, /* bDescriptorSubtype: Call Management Func Desc */
Sergunb 0:9dcf85d9b2f3 76 0x00, /* bmCapabilities: D0+D1 */
Sergunb 0:9dcf85d9b2f3 77 0x01, /* bDataInterface: 1 */
Sergunb 0:9dcf85d9b2f3 78 /*ACM Functional Descriptor*/
Sergunb 0:9dcf85d9b2f3 79 0x04, /* bFunctionLength */
Sergunb 0:9dcf85d9b2f3 80 0x24, /* bDescriptorType: CS_INTERFACE */
Sergunb 0:9dcf85d9b2f3 81 0x02, /* bDescriptorSubtype: Abstract Control Management desc */
Sergunb 0:9dcf85d9b2f3 82 0x02, /* bmCapabilities */
Sergunb 0:9dcf85d9b2f3 83 /*Union Functional Descriptor*/
Sergunb 0:9dcf85d9b2f3 84 0x05, /* bFunctionLength */
Sergunb 0:9dcf85d9b2f3 85 0x24, /* bDescriptorType: CS_INTERFACE */
Sergunb 0:9dcf85d9b2f3 86 0x06, /* bDescriptorSubtype: Union func desc */
Sergunb 0:9dcf85d9b2f3 87 0x00, /* bMasterInterface: Communication class interface */
Sergunb 0:9dcf85d9b2f3 88 0x01, /* bSlaveInterface0: Data Class Interface */
Sergunb 0:9dcf85d9b2f3 89 /*Endpoint 2 Descriptor*/
Sergunb 0:9dcf85d9b2f3 90 0x07, /* bLength: Endpoint Descriptor size */
Sergunb 0:9dcf85d9b2f3 91 USB_ENDPOINT_DESCRIPTOR_TYPE, /* bDescriptorType: Endpoint */
Sergunb 0:9dcf85d9b2f3 92 0x82, /* bEndpointAddress: (IN2) */
Sergunb 0:9dcf85d9b2f3 93 0x03, /* bmAttributes: Interrupt */
Sergunb 0:9dcf85d9b2f3 94 VIRTUAL_COM_PORT_INT_SIZE, /* wMaxPacketSize: */
Sergunb 0:9dcf85d9b2f3 95 0x00,
Sergunb 0:9dcf85d9b2f3 96 0xFF, /* bInterval: */
Sergunb 0:9dcf85d9b2f3 97 /*Data class interface descriptor*/
Sergunb 0:9dcf85d9b2f3 98 0x09, /* bLength: Endpoint Descriptor size */
Sergunb 0:9dcf85d9b2f3 99 USB_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType: */
Sergunb 0:9dcf85d9b2f3 100 0x01, /* bInterfaceNumber: Number of Interface */
Sergunb 0:9dcf85d9b2f3 101 0x00, /* bAlternateSetting: Alternate setting */
Sergunb 0:9dcf85d9b2f3 102 0x02, /* bNumEndpoints: Two endpoints used */
Sergunb 0:9dcf85d9b2f3 103 0x0A, /* bInterfaceClass: CDC */
Sergunb 0:9dcf85d9b2f3 104 0x00, /* bInterfaceSubClass: */
Sergunb 0:9dcf85d9b2f3 105 0x00, /* bInterfaceProtocol: */
Sergunb 0:9dcf85d9b2f3 106 0x00, /* iInterface: */
Sergunb 0:9dcf85d9b2f3 107 /*Endpoint 3 Descriptor*/
Sergunb 0:9dcf85d9b2f3 108 0x07, /* bLength: Endpoint Descriptor size */
Sergunb 0:9dcf85d9b2f3 109 USB_ENDPOINT_DESCRIPTOR_TYPE, /* bDescriptorType: Endpoint */
Sergunb 0:9dcf85d9b2f3 110 0x03, /* bEndpointAddress: (OUT3) */
Sergunb 0:9dcf85d9b2f3 111 0x02, /* bmAttributes: Bulk */
Sergunb 0:9dcf85d9b2f3 112 VIRTUAL_COM_PORT_DATA_SIZE, /* wMaxPacketSize: */
Sergunb 0:9dcf85d9b2f3 113 0x00,
Sergunb 0:9dcf85d9b2f3 114 0x00, /* bInterval: ignore for Bulk transfer */
Sergunb 0:9dcf85d9b2f3 115 /*Endpoint 1 Descriptor*/
Sergunb 0:9dcf85d9b2f3 116 0x07, /* bLength: Endpoint Descriptor size */
Sergunb 0:9dcf85d9b2f3 117 USB_ENDPOINT_DESCRIPTOR_TYPE, /* bDescriptorType: Endpoint */
Sergunb 0:9dcf85d9b2f3 118 0x81, /* bEndpointAddress: (IN1) */
Sergunb 0:9dcf85d9b2f3 119 0x02, /* bmAttributes: Bulk */
Sergunb 0:9dcf85d9b2f3 120 VIRTUAL_COM_PORT_DATA_SIZE, /* wMaxPacketSize: */
Sergunb 0:9dcf85d9b2f3 121 0x00,
Sergunb 0:9dcf85d9b2f3 122 0x00 /* bInterval */
Sergunb 0:9dcf85d9b2f3 123 };
Sergunb 0:9dcf85d9b2f3 124
Sergunb 0:9dcf85d9b2f3 125 /* USB String Descriptors */
Sergunb 0:9dcf85d9b2f3 126 const uint8_t Virtual_Com_Port_StringLangID[VIRTUAL_COM_PORT_SIZ_STRING_LANGID] =
Sergunb 0:9dcf85d9b2f3 127 {
Sergunb 0:9dcf85d9b2f3 128 VIRTUAL_COM_PORT_SIZ_STRING_LANGID,
Sergunb 0:9dcf85d9b2f3 129 USB_STRING_DESCRIPTOR_TYPE,
Sergunb 0:9dcf85d9b2f3 130 0x09,
Sergunb 0:9dcf85d9b2f3 131 0x04 /* LangID = 0x0409: U.S. English */
Sergunb 0:9dcf85d9b2f3 132 };
Sergunb 0:9dcf85d9b2f3 133
Sergunb 0:9dcf85d9b2f3 134 const uint8_t Virtual_Com_Port_StringVendor[VIRTUAL_COM_PORT_SIZ_STRING_VENDOR] =
Sergunb 0:9dcf85d9b2f3 135 {
Sergunb 0:9dcf85d9b2f3 136 VIRTUAL_COM_PORT_SIZ_STRING_VENDOR, /* Size of Vendor string */
Sergunb 0:9dcf85d9b2f3 137 USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType*/
Sergunb 0:9dcf85d9b2f3 138 /* Manufacturer: "tomeko.net" */
Sergunb 0:9dcf85d9b2f3 139 't', 0, 'o', 0, 'm', 0, 'e', 0, 'k', 0, 'o', 0, ' ', 0, 'n', 0,
Sergunb 0:9dcf85d9b2f3 140 'e', 0, 't', 0
Sergunb 0:9dcf85d9b2f3 141 };
Sergunb 0:9dcf85d9b2f3 142
Sergunb 0:9dcf85d9b2f3 143 const uint8_t Virtual_Com_Port_StringProduct[VIRTUAL_COM_PORT_SIZ_STRING_PRODUCT] =
Sergunb 0:9dcf85d9b2f3 144 {
Sergunb 0:9dcf85d9b2f3 145 VIRTUAL_COM_PORT_SIZ_STRING_PRODUCT, /* bLength */
Sergunb 0:9dcf85d9b2f3 146 USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */
Sergunb 0:9dcf85d9b2f3 147 /* Product name: "miniscope v2c" */
Sergunb 0:9dcf85d9b2f3 148 'm', 0, 'i', 0, 'n', 0, 'i', 0, 's', 0, 'c', 0, 'o', 0, 'p', 0,
Sergunb 0:9dcf85d9b2f3 149 'e', 0, ' ', 0, 'v', 0, '2', 0, 'c', 0
Sergunb 0:9dcf85d9b2f3 150 };
Sergunb 0:9dcf85d9b2f3 151
Sergunb 0:9dcf85d9b2f3 152 uint8_t Virtual_Com_Port_StringSerial[VIRTUAL_COM_PORT_SIZ_STRING_SERIAL] =
Sergunb 0:9dcf85d9b2f3 153 {
Sergunb 0:9dcf85d9b2f3 154 VIRTUAL_COM_PORT_SIZ_STRING_SERIAL, /* bLength */
Sergunb 0:9dcf85d9b2f3 155 USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */
Sergunb 0:9dcf85d9b2f3 156 'S', 0, 'T', 0, 'M', 0, '3', 0, '2', 0, '1', 0, '0', 0
Sergunb 0:9dcf85d9b2f3 157 };
Sergunb 0:9dcf85d9b2f3 158
Sergunb 0:9dcf85d9b2f3 159 /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/