USB CDC library for MBED on STM32

Dependents:   PushToGo-F429

Committer:
caoyuan9642
Date:
Sun Sep 09 19:03:18 2018 +0000
Revision:
0:7cf972f622d3
usb

Who changed what in which revision?

UserRevisionLine numberNew contents of line
caoyuan9642 0:7cf972f622d3 1 /**
caoyuan9642 0:7cf972f622d3 2 ******************************************************************************
caoyuan9642 0:7cf972f622d3 3 * @file usbd_conf_template.h
caoyuan9642 0:7cf972f622d3 4 * @author MCD Application Team
caoyuan9642 0:7cf972f622d3 5 * @version V2.4.2
caoyuan9642 0:7cf972f622d3 6 * @date 11-December-2015
caoyuan9642 0:7cf972f622d3 7 * @brief Header file for the usbd_conf_template.c file
caoyuan9642 0:7cf972f622d3 8 ******************************************************************************
caoyuan9642 0:7cf972f622d3 9 * @attention
caoyuan9642 0:7cf972f622d3 10 *
caoyuan9642 0:7cf972f622d3 11 * <h2><center>&copy; COPYRIGHT 2015 STMicroelectronics</center></h2>
caoyuan9642 0:7cf972f622d3 12 *
caoyuan9642 0:7cf972f622d3 13 * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
caoyuan9642 0:7cf972f622d3 14 * You may not use this file except in compliance with the License.
caoyuan9642 0:7cf972f622d3 15 * You may obtain a copy of the License at:
caoyuan9642 0:7cf972f622d3 16 *
caoyuan9642 0:7cf972f622d3 17 * http://www.st.com/software_license_agreement_liberty_v2
caoyuan9642 0:7cf972f622d3 18 *
caoyuan9642 0:7cf972f622d3 19 * Unless required by applicable law or agreed to in writing, software
caoyuan9642 0:7cf972f622d3 20 * distributed under the License is distributed on an "AS IS" BASIS,
caoyuan9642 0:7cf972f622d3 21 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
caoyuan9642 0:7cf972f622d3 22 * See the License for the specific language governing permissions and
caoyuan9642 0:7cf972f622d3 23 * limitations under the License.
caoyuan9642 0:7cf972f622d3 24 *
caoyuan9642 0:7cf972f622d3 25 ******************************************************************************
caoyuan9642 0:7cf972f622d3 26 */
caoyuan9642 0:7cf972f622d3 27
caoyuan9642 0:7cf972f622d3 28 /* Define to prevent recursive inclusion -------------------------------------*/
caoyuan9642 0:7cf972f622d3 29 #ifndef __USBD_CONF_TEMPLATE_H
caoyuan9642 0:7cf972f622d3 30 #define __USBD_CONF_TEMPLATE_H
caoyuan9642 0:7cf972f622d3 31
caoyuan9642 0:7cf972f622d3 32 #ifdef __cplusplus
caoyuan9642 0:7cf972f622d3 33 extern "C" {
caoyuan9642 0:7cf972f622d3 34 #endif
caoyuan9642 0:7cf972f622d3 35
caoyuan9642 0:7cf972f622d3 36 /* Includes ------------------------------------------------------------------*/
caoyuan9642 0:7cf972f622d3 37 #include "stm32f4xx.h" /* replace 'stm32xxx' with your HAL driver header filename, ex: stm32f4xx.h */
caoyuan9642 0:7cf972f622d3 38 #include <stdio.h>
caoyuan9642 0:7cf972f622d3 39 #include <stdlib.h>
caoyuan9642 0:7cf972f622d3 40 #include <string.h>
caoyuan9642 0:7cf972f622d3 41
caoyuan9642 0:7cf972f622d3 42 /** @addtogroup STM32_USB_DEVICE_LIBRARY
caoyuan9642 0:7cf972f622d3 43 * @{
caoyuan9642 0:7cf972f622d3 44 */
caoyuan9642 0:7cf972f622d3 45
caoyuan9642 0:7cf972f622d3 46 /** @defgroup USBD_CONF
caoyuan9642 0:7cf972f622d3 47 * @brief USB device low level driver configuration file
caoyuan9642 0:7cf972f622d3 48 * @{
caoyuan9642 0:7cf972f622d3 49 */
caoyuan9642 0:7cf972f622d3 50
caoyuan9642 0:7cf972f622d3 51 /** @defgroup USBD_CONF_Exported_Defines
caoyuan9642 0:7cf972f622d3 52 * @{
caoyuan9642 0:7cf972f622d3 53 */
caoyuan9642 0:7cf972f622d3 54
caoyuan9642 0:7cf972f622d3 55 #define USBD_MAX_NUM_INTERFACES 1
caoyuan9642 0:7cf972f622d3 56 #define USBD_MAX_NUM_CONFIGURATION 1
caoyuan9642 0:7cf972f622d3 57 #define USBD_MAX_STR_DESC_SIZ 0x100
caoyuan9642 0:7cf972f622d3 58 #define USBD_SUPPORT_USER_STRING 0
caoyuan9642 0:7cf972f622d3 59 #define USBD_SELF_POWERED 1
caoyuan9642 0:7cf972f622d3 60 #define USBD_DEBUG_LEVEL 2
caoyuan9642 0:7cf972f622d3 61
caoyuan9642 0:7cf972f622d3 62 /* MSC Class Config */
caoyuan9642 0:7cf972f622d3 63 #define MSC_MEDIA_PACKET 8192
caoyuan9642 0:7cf972f622d3 64
caoyuan9642 0:7cf972f622d3 65 /* CDC Class Config */
caoyuan9642 0:7cf972f622d3 66 #define USBD_CDC_INTERVAL 2000
caoyuan9642 0:7cf972f622d3 67
caoyuan9642 0:7cf972f622d3 68 /* DFU Class Config */
caoyuan9642 0:7cf972f622d3 69 #define USBD_DFU_MAX_ITF_NUM 1
caoyuan9642 0:7cf972f622d3 70 #define USBD_DFU_XFERS_IZE 1024
caoyuan9642 0:7cf972f622d3 71
caoyuan9642 0:7cf972f622d3 72 /* AUDIO Class Config */
caoyuan9642 0:7cf972f622d3 73 #define USBD_AUDIO_FREQ 22100
caoyuan9642 0:7cf972f622d3 74
caoyuan9642 0:7cf972f622d3 75 /** @defgroup USBD_Exported_Macros
caoyuan9642 0:7cf972f622d3 76 * @{
caoyuan9642 0:7cf972f622d3 77 */
caoyuan9642 0:7cf972f622d3 78
caoyuan9642 0:7cf972f622d3 79 /* Memory management macros */
caoyuan9642 0:7cf972f622d3 80 #define USBD_malloc malloc
caoyuan9642 0:7cf972f622d3 81 #define USBD_free free
caoyuan9642 0:7cf972f622d3 82 #define USBD_memset memset
caoyuan9642 0:7cf972f622d3 83 #define USBD_memcpy memcpy
caoyuan9642 0:7cf972f622d3 84
caoyuan9642 0:7cf972f622d3 85 /* DEBUG macros */
caoyuan9642 0:7cf972f622d3 86
caoyuan9642 0:7cf972f622d3 87
caoyuan9642 0:7cf972f622d3 88 #if (USBD_DEBUG_LEVEL > 0)
caoyuan9642 0:7cf972f622d3 89 #define USBD_UsrLog(...) printf(__VA_ARGS__);\
caoyuan9642 0:7cf972f622d3 90 printf("\n");
caoyuan9642 0:7cf972f622d3 91 #else
caoyuan9642 0:7cf972f622d3 92 #define USBD_UsrLog(...)
caoyuan9642 0:7cf972f622d3 93 #endif
caoyuan9642 0:7cf972f622d3 94
caoyuan9642 0:7cf972f622d3 95
caoyuan9642 0:7cf972f622d3 96 #if (USBD_DEBUG_LEVEL > 1)
caoyuan9642 0:7cf972f622d3 97
caoyuan9642 0:7cf972f622d3 98 #define USBD_ErrLog(...) printf("ERROR: ") ;\
caoyuan9642 0:7cf972f622d3 99 printf(__VA_ARGS__);\
caoyuan9642 0:7cf972f622d3 100 printf("\n");
caoyuan9642 0:7cf972f622d3 101 #else
caoyuan9642 0:7cf972f622d3 102 #define USBD_ErrLog(...)
caoyuan9642 0:7cf972f622d3 103 #endif
caoyuan9642 0:7cf972f622d3 104
caoyuan9642 0:7cf972f622d3 105
caoyuan9642 0:7cf972f622d3 106 #if (USBD_DEBUG_LEVEL > 2)
caoyuan9642 0:7cf972f622d3 107 #define USBD_DbgLog(...) printf("DEBUG : ") ;\
caoyuan9642 0:7cf972f622d3 108 printf(__VA_ARGS__);\
caoyuan9642 0:7cf972f622d3 109 printf("\n");
caoyuan9642 0:7cf972f622d3 110 #else
caoyuan9642 0:7cf972f622d3 111 #define USBD_DbgLog(...)
caoyuan9642 0:7cf972f622d3 112 #endif
caoyuan9642 0:7cf972f622d3 113
caoyuan9642 0:7cf972f622d3 114 /**
caoyuan9642 0:7cf972f622d3 115 * @}
caoyuan9642 0:7cf972f622d3 116 */
caoyuan9642 0:7cf972f622d3 117
caoyuan9642 0:7cf972f622d3 118
caoyuan9642 0:7cf972f622d3 119
caoyuan9642 0:7cf972f622d3 120 /**
caoyuan9642 0:7cf972f622d3 121 * @}
caoyuan9642 0:7cf972f622d3 122 */
caoyuan9642 0:7cf972f622d3 123
caoyuan9642 0:7cf972f622d3 124
caoyuan9642 0:7cf972f622d3 125 /** @defgroup USBD_CONF_Exported_Types
caoyuan9642 0:7cf972f622d3 126 * @{
caoyuan9642 0:7cf972f622d3 127 */
caoyuan9642 0:7cf972f622d3 128 /**
caoyuan9642 0:7cf972f622d3 129 * @}
caoyuan9642 0:7cf972f622d3 130 */
caoyuan9642 0:7cf972f622d3 131
caoyuan9642 0:7cf972f622d3 132
caoyuan9642 0:7cf972f622d3 133 /** @defgroup USBD_CONF_Exported_Macros
caoyuan9642 0:7cf972f622d3 134 * @{
caoyuan9642 0:7cf972f622d3 135 */
caoyuan9642 0:7cf972f622d3 136 /**
caoyuan9642 0:7cf972f622d3 137 * @}
caoyuan9642 0:7cf972f622d3 138 */
caoyuan9642 0:7cf972f622d3 139
caoyuan9642 0:7cf972f622d3 140 /** @defgroup USBD_CONF_Exported_Variables
caoyuan9642 0:7cf972f622d3 141 * @{
caoyuan9642 0:7cf972f622d3 142 */
caoyuan9642 0:7cf972f622d3 143 /**
caoyuan9642 0:7cf972f622d3 144 * @}
caoyuan9642 0:7cf972f622d3 145 */
caoyuan9642 0:7cf972f622d3 146
caoyuan9642 0:7cf972f622d3 147 /** @defgroup USBD_CONF_Exported_FunctionsPrototype
caoyuan9642 0:7cf972f622d3 148 * @{
caoyuan9642 0:7cf972f622d3 149 */
caoyuan9642 0:7cf972f622d3 150 /**
caoyuan9642 0:7cf972f622d3 151 * @}
caoyuan9642 0:7cf972f622d3 152 */
caoyuan9642 0:7cf972f622d3 153
caoyuan9642 0:7cf972f622d3 154 #ifdef __cplusplus
caoyuan9642 0:7cf972f622d3 155 }
caoyuan9642 0:7cf972f622d3 156 #endif
caoyuan9642 0:7cf972f622d3 157
caoyuan9642 0:7cf972f622d3 158 #endif /* __USBD_CONF_TEMPLATE_H */
caoyuan9642 0:7cf972f622d3 159
caoyuan9642 0:7cf972f622d3 160
caoyuan9642 0:7cf972f622d3 161 /**
caoyuan9642 0:7cf972f622d3 162 * @}
caoyuan9642 0:7cf972f622d3 163 */
caoyuan9642 0:7cf972f622d3 164
caoyuan9642 0:7cf972f622d3 165 /**
caoyuan9642 0:7cf972f622d3 166 * @}
caoyuan9642 0:7cf972f622d3 167 */
caoyuan9642 0:7cf972f622d3 168 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
caoyuan9642 0:7cf972f622d3 169
caoyuan9642 0:7cf972f622d3 170