35#include "driver/usb/usbfs/drv_usbfs.h"
36#include "usb/usb_device.h"
37#include "usb/usb_device_cdc.h"
39#include "system_config.h"
41uint8_t __attribute__((aligned(512))) endPointTable[DRV_USBFS_ENDPOINTS_NUMBER * 32];
42const DRV_USBFS_INIT drvUSBFSInit =
45 .endpointTable= endPointTable,
48 .interruptSource = INT_SOURCE_USB_1,
51 .moduleInit = {SYS_MODULE_POWER_RUN_FULL},
54 .operationMode = DRV_USBFS_OPMODE_DEVICE,
56 .operationSpeed = USB_SPEED_FULL,
62 .suspendInSleep =
false,
72const USB_DEVICE_CDC_INIT cdcInit0 =
76 .queueSizeSerialStateNotification = 1
82const USB_DEVICE_FUNCTION_REGISTRATION_TABLE funcRegistrationTable[1] =
86 .configurationValue = 1,
88 .speed = USB_SPEED_FULL,
89 .numberOfInterfaces = 2,
91 .driver = (
void*)USB_DEVICE_CDC_FUNCTION_DRIVER,
92 .funcDriverInit = (
void*)&cdcInit0
102const USB_DEVICE_DESCRIPTOR deviceDescriptor =
105 USB_DESCRIPTOR_DEVICE,
108 USB_CDC_SUBCLASS_CODE,
110 USB_DEVICE_EP0_BUFFER_SIZE,
124const uint8_t fullSpeedConfigurationDescriptor[]=
129 USB_DESCRIPTOR_CONFIGURATION,
134 USB_ATTRIBUTE_DEFAULT | USB_ATTRIBUTE_SELF_POWERED,
141 USB_DESCRIPTOR_INTERFACE,
145 USB_CDC_COMMUNICATIONS_INTERFACE_CLASS_CODE,
146 USB_CDC_SUBCLASS_ABSTRACT_CONTROL_MODEL,
147 USB_CDC_PROTOCOL_AT_V250,
152 sizeof(USB_CDC_HEADER_FUNCTIONAL_DESCRIPTOR),
153 USB_CDC_DESC_CS_INTERFACE,
154 USB_CDC_FUNCTIONAL_HEADER,
157 sizeof(USB_CDC_ACM_FUNCTIONAL_DESCRIPTOR),
158 USB_CDC_DESC_CS_INTERFACE,
159 USB_CDC_FUNCTIONAL_ABSTRACT_CONTROL_MANAGEMENT,
160 USB_CDC_ACM_SUPPORT_LINE_CODING_LINE_STATE_AND_NOTIFICATION,
162 sizeof(USB_CDC_UNION_FUNCTIONAL_DESCRIPTOR_HEADER) + 1,
163 USB_CDC_DESC_CS_INTERFACE,
164 USB_CDC_FUNCTIONAL_UNION,
168 sizeof(USB_CDC_CALL_MANAGEMENT_DESCRIPTOR),
169 USB_CDC_DESC_CS_INTERFACE,
170 USB_CDC_FUNCTIONAL_CALL_MANAGEMENT,
177 USB_DESCRIPTOR_ENDPOINT,
178 1 | USB_EP_DIRECTION_IN,
179 USB_TRANSFER_TYPE_INTERRUPT,
186 USB_DESCRIPTOR_INTERFACE,
190 USB_CDC_DATA_INTERFACE_CLASS_CODE,
192 USB_CDC_PROTOCOL_NO_CLASS_SPECIFIC,
198 USB_DESCRIPTOR_ENDPOINT,
199 2 | USB_EP_DIRECTION_OUT,
200 USB_TRANSFER_TYPE_BULK,
207 USB_DESCRIPTOR_ENDPOINT,
208 2 | USB_EP_DIRECTION_IN,
219USB_DEVICE_CONFIGURATION_DESCRIPTORS_TABLE fullSpeedConfigDescSet[1] =
221 fullSpeedConfigurationDescriptor
241 USB_DESCRIPTOR_STRING,
256 USB_DESCRIPTOR_STRING,
257 {
'O',
'p',
'e',
'n',
'M',
'R',
'N'}
272 USB_DESCRIPTOR_STRING,
273 {
'V',
'i',
'r',
't',
'u',
'a',
'l',
' ',
'C',
'O',
'M',
' ',
280USB_DEVICE_STRING_DESCRIPTORS_TABLE stringDescriptors[3]=
282 (
const uint8_t *
const)&sd000,
283 (
const uint8_t *
const)&sd001,
284 (
const uint8_t *
const)&sd002
290const USB_DEVICE_MASTER_DESCRIPTOR usbMasterDescriptor =
294 fullSpeedConfigDescSet,
311 .moduleInit = {SYS_MODULE_POWER_RUN_FULL},
315 .registeredFuncCount = 1,
318 .registeredFunctions = (USB_DEVICE_FUNCTION_REGISTRATION_TABLE*)funcRegistrationTable,
321 .usbMasterDescriptor = (USB_DEVICE_MASTER_DESCRIPTOR*)&usbMasterDescriptor,
324 .deviceSpeed = USB_SPEED_FULL,
327 .driverIndex = DRV_USBFS_INDEX_0,
330 .usbDriverInterface = DRV_USBFS_DEVICE_INTERFACE,
const USB_DEVICE_INIT usbDevInitData
Initialization structure in flash.