2 #if (USE_STM32_USB_HOST_MODE || USE_STM32_USB_USE_DEVICE_MODE || USE_STM32_USB_OTG_MODE)
32 #ifndef __USB_CDC_CORE_H_
33 #define __USB_CDC_CORE_H_
35 #include "usbd_ioreq.h"
50 #define USB_CDC_CONFIG_DESC_SIZ (67)
51 #define USB_CDC_DESC_SIZ (67-9)
53 #define CDC_DESCRIPTOR_TYPE 0x21
55 #define DEVICE_CLASS_CDC 0x02
56 #define DEVICE_SUBCLASS_CDC 0x00
59 #define USB_DEVICE_DESCRIPTOR_TYPE 0x01
60 #define USB_CONFIGURATION_DESCRIPTOR_TYPE 0x02
61 #define USB_STRING_DESCRIPTOR_TYPE 0x03
62 #define USB_INTERFACE_DESCRIPTOR_TYPE 0x04
63 #define USB_ENDPOINT_DESCRIPTOR_TYPE 0x05
65 #define STANDARD_ENDPOINT_DESC_SIZE 0x09
67 #define CDC_DATA_IN_PACKET_SIZE *(uint16_t *)(((USB_OTG_CORE_HANDLE *)pdev)->dev.pConfig_descriptor + 57)
69 #define CDC_DATA_OUT_PACKET_SIZE *(uint16_t *)(((USB_OTG_CORE_HANDLE *)pdev)->dev.pConfig_descriptor + 64)
71 #define CDC_IN_EP 0x81
72 #define CDC_OUT_EP 0x01
73 #define CDC_CMD_EP 0x83
82 #define SEND_ENCAPSULATED_COMMAND 0x00
83 #define GET_ENCAPSULATED_RESPONSE 0x01
84 #define SET_COMM_FEATURE 0x02
85 #define GET_COMM_FEATURE 0x03
86 #define CLEAR_COMM_FEATURE 0x04
87 #define SET_LINE_CODING 0x20
88 #define GET_LINE_CODING 0x21
89 #define SET_CONTROL_LINE_STATE 0x22
90 #define SEND_BREAK 0x23
101 typedef struct _CDC_IF_PROP
103 uint16_t (*pIf_Init) (void);
104 uint16_t (*pIf_DeInit) (void);
105 uint16_t (*pIf_Ctrl) (uint32_t Cmd,
const uint8_t* Buf, uint32_t Len);
106 uint16_t (*pIf_DataRx) (
const uint32_t* Buf, uint32_t Len);
107 uint16_t (*pIf_DataTxEmpty)(void);
128 extern USBD_Class_cb_TypeDef USBD_CDC_cb;
140 #endif // __USB_CDC_CORE_H_
libheivs configuration file