2 ******************************************************************************
3 * @file usbd_cdc_core.h
4 * @author MCD Application Team
7 * @brief header file for the usbd_cdc_core.c file.
8 ******************************************************************************
11 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
12 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
13 * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
14 * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
15 * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
16 * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
18 * <h2><center>© COPYRIGHT 2011 STMicroelectronics</center></h2>
19 ******************************************************************************
22 /* Includes ------------------------------------------------------------------*/
24 #ifndef __USB_CDC_CORE_H_
25 #define __USB_CDC_CORE_H_
27 #include "usbd_ioreq.h"
29 /** @addtogroup STM32_USB_OTG_DEVICE_LIBRARY
33 /** @defgroup usbd_cdc
34 * @brief This file is the Header file for USBD_cdc.c
39 /** @defgroup usbd_cdc_Exported_Defines
42 #define USB_CDC_CONFIG_DESC_SIZ (67)
43 #define USB_CDC_DESC_SIZ (67-9)
45 #define CDC_DESCRIPTOR_TYPE 0x21
47 #define DEVICE_CLASS_CDC 0x02
48 #define DEVICE_SUBCLASS_CDC 0x00
51 #define USB_DEVICE_DESCRIPTOR_TYPE 0x01
52 #define USB_CONFIGURATION_DESCRIPTOR_TYPE 0x02
53 #define USB_STRING_DESCRIPTOR_TYPE 0x03
54 #define USB_INTERFACE_DESCRIPTOR_TYPE 0x04
55 #define USB_ENDPOINT_DESCRIPTOR_TYPE 0x05
57 #define STANDARD_ENDPOINT_DESC_SIZE 0x09
59 #define CDC_DATA_IN_PACKET_SIZE *(uint16_t *)(((USB_OTG_CORE_HANDLE *)pdev)->dev.pConfig_descriptor + 57)
61 #define CDC_DATA_OUT_PACKET_SIZE *(uint16_t *)(((USB_OTG_CORE_HANDLE *)pdev)->dev.pConfig_descriptor + 64)
63 /*---------------------------------------------------------------------*/
65 /*---------------------------------------------------------------------*/
67 /**************************************************/
69 /**************************************************/
70 #define SEND_ENCAPSULATED_COMMAND 0x00
71 #define GET_ENCAPSULATED_RESPONSE 0x01
72 #define SET_COMM_FEATURE 0x02
73 #define GET_COMM_FEATURE 0x03
74 #define CLEAR_COMM_FEATURE 0x04
75 #define SET_LINE_CODING 0x20
76 #define GET_LINE_CODING 0x21
77 #define SET_CONTROL_LINE_STATE 0x22
78 #define SEND_BREAK 0x23
86 /** @defgroup USBD_CORE_Exported_TypesDefinitions
89 typedef struct _CDC_IF_PROP
91 uint16_t (*pIf_Init) (void);
92 uint16_t (*pIf_DeInit) (void);
93 uint16_t (*pIf_Ctrl) (uint32_t Cmd, uint8_t* Buf, uint32_t Len);
94 uint16_t (*pIf_DataTx) (uint8_t* Buf, uint32_t Len);
95 uint16_t (*pIf_DataRx) (uint8_t* Buf, uint32_t Len);
104 /** @defgroup USBD_CORE_Exported_Macros
112 /** @defgroup USBD_CORE_Exported_Variables
116 extern USBD_Class_cb_TypeDef USBD_CDC_cb;
121 /** @defgroup USB_CORE_Exported_Functions
128 #endif // __USB_CDC_CORE_H_
137 /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/