USB CDC library for MBED on STM32

Dependents:   PushToGo-F429

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers usbd_core.h Source File

usbd_core.h

Go to the documentation of this file.
00001 /**
00002   ******************************************************************************
00003   * @file    usbd_core.h
00004   * @author  MCD Application Team
00005   * @version V2.4.2
00006   * @date    11-December-2015
00007   * @brief   Header file for usbd_core.c file
00008   ******************************************************************************
00009   * @attention
00010   *
00011   * <h2><center>&copy; COPYRIGHT 2015 STMicroelectronics</center></h2>
00012   *
00013   * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
00014   * You may not use this file except in compliance with the License.
00015   * You may obtain a copy of the License at:
00016   *
00017   *        http://www.st.com/software_license_agreement_liberty_v2
00018   *
00019   * Unless required by applicable law or agreed to in writing, software 
00020   * distributed under the License is distributed on an "AS IS" BASIS, 
00021   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00022   * See the License for the specific language governing permissions and
00023   * limitations under the License.
00024   *
00025   ******************************************************************************
00026   */ 
00027 
00028 /* Define to prevent recursive inclusion -------------------------------------*/
00029 #ifndef __USBD_CORE_H
00030 #define __USBD_CORE_H
00031 
00032 #ifdef __cplusplus
00033  extern "C" {
00034 #endif
00035 
00036 /* Includes ------------------------------------------------------------------*/
00037 #include "usbd_conf.h"
00038 #include "usbd_def.h"
00039 #include "usbd_ioreq.h"
00040 #include "usbd_ctlreq.h"
00041 
00042 /** @addtogroup STM32_USB_DEVICE_LIBRARY
00043   * @{
00044   */
00045   
00046 /** @defgroup USBD_CORE
00047   * @brief This file is the Header file for usbd_core.c file
00048   * @{
00049   */ 
00050 
00051 
00052 /** @defgroup USBD_CORE_Exported_Defines
00053   * @{
00054   */ 
00055 
00056 /**
00057   * @}
00058   */ 
00059 
00060 
00061 /** @defgroup USBD_CORE_Exported_TypesDefinitions
00062   * @{
00063   */
00064  
00065 
00066 /**
00067   * @}
00068   */ 
00069 
00070 
00071 
00072 /** @defgroup USBD_CORE_Exported_Macros
00073   * @{
00074   */ 
00075 
00076 /**
00077   * @}
00078   */ 
00079 
00080 /** @defgroup USBD_CORE_Exported_Variables
00081   * @{
00082   */ 
00083 #define USBD_SOF          USBD_LL_SOF
00084 /**
00085   * @}
00086   */ 
00087 
00088 /** @defgroup USBD_CORE_Exported_FunctionsPrototype
00089   * @{
00090   */ 
00091 USBD_StatusTypeDef USBD_Init(USBD_HandleTypeDef *pdev, USBD_DescriptorsTypeDef *pdesc, uint8_t id);
00092 USBD_StatusTypeDef USBD_DeInit(USBD_HandleTypeDef *pdev);
00093 USBD_StatusTypeDef USBD_Start  (USBD_HandleTypeDef *pdev);
00094 USBD_StatusTypeDef USBD_Stop   (USBD_HandleTypeDef *pdev);
00095 USBD_StatusTypeDef USBD_RegisterClass(USBD_HandleTypeDef *pdev, USBD_ClassTypeDef *pclass);
00096 
00097 USBD_StatusTypeDef USBD_RunTestMode (USBD_HandleTypeDef  *pdev); 
00098 USBD_StatusTypeDef USBD_SetClassConfig(USBD_HandleTypeDef  *pdev, uint8_t cfgidx);
00099 USBD_StatusTypeDef USBD_ClrClassConfig(USBD_HandleTypeDef  *pdev, uint8_t cfgidx);
00100 
00101 USBD_StatusTypeDef USBD_LL_SetupStage(USBD_HandleTypeDef *pdev, uint8_t *psetup);
00102 USBD_StatusTypeDef USBD_LL_DataOutStage(USBD_HandleTypeDef *pdev , uint8_t epnum, uint8_t *pdata);
00103 USBD_StatusTypeDef USBD_LL_DataInStage(USBD_HandleTypeDef *pdev , uint8_t epnum, uint8_t *pdata);
00104 
00105 USBD_StatusTypeDef USBD_LL_Reset(USBD_HandleTypeDef  *pdev);
00106 USBD_StatusTypeDef USBD_LL_SetSpeed(USBD_HandleTypeDef  *pdev, USBD_SpeedTypeDef speed);
00107 USBD_StatusTypeDef USBD_LL_Suspend(USBD_HandleTypeDef  *pdev);
00108 USBD_StatusTypeDef USBD_LL_Resume(USBD_HandleTypeDef  *pdev);
00109 
00110 USBD_StatusTypeDef USBD_LL_SOF(USBD_HandleTypeDef  *pdev);
00111 USBD_StatusTypeDef USBD_LL_IsoINIncomplete(USBD_HandleTypeDef  *pdev, uint8_t epnum);
00112 USBD_StatusTypeDef USBD_LL_IsoOUTIncomplete(USBD_HandleTypeDef  *pdev, uint8_t epnum);
00113 
00114 USBD_StatusTypeDef USBD_LL_DevConnected(USBD_HandleTypeDef  *pdev);
00115 USBD_StatusTypeDef USBD_LL_DevDisconnected(USBD_HandleTypeDef  *pdev);
00116 
00117 /* USBD Low Level Driver */
00118 USBD_StatusTypeDef  USBD_LL_Init (USBD_HandleTypeDef *pdev);
00119 USBD_StatusTypeDef  USBD_LL_DeInit (USBD_HandleTypeDef *pdev);
00120 USBD_StatusTypeDef  USBD_LL_Start(USBD_HandleTypeDef *pdev);
00121 USBD_StatusTypeDef  USBD_LL_Stop (USBD_HandleTypeDef *pdev);
00122 USBD_StatusTypeDef  USBD_LL_OpenEP  (USBD_HandleTypeDef *pdev, 
00123                                       uint8_t  ep_addr,                                      
00124                                       uint8_t  ep_type,
00125                                       uint16_t ep_mps);
00126 
00127 USBD_StatusTypeDef  USBD_LL_CloseEP (USBD_HandleTypeDef *pdev, uint8_t ep_addr);   
00128 USBD_StatusTypeDef  USBD_LL_FlushEP (USBD_HandleTypeDef *pdev, uint8_t ep_addr);   
00129 USBD_StatusTypeDef  USBD_LL_StallEP (USBD_HandleTypeDef *pdev, uint8_t ep_addr);   
00130 USBD_StatusTypeDef  USBD_LL_ClearStallEP (USBD_HandleTypeDef *pdev, uint8_t ep_addr);   
00131 uint8_t             USBD_LL_IsStallEP (USBD_HandleTypeDef *pdev, uint8_t ep_addr);   
00132 USBD_StatusTypeDef  USBD_LL_SetUSBAddress (USBD_HandleTypeDef *pdev, uint8_t dev_addr);   
00133 USBD_StatusTypeDef  USBD_LL_Transmit (USBD_HandleTypeDef *pdev, 
00134                                       uint8_t  ep_addr,                                      
00135                                       uint8_t  *pbuf,
00136                                       uint16_t  size);
00137 
00138 USBD_StatusTypeDef  USBD_LL_PrepareReceive(USBD_HandleTypeDef *pdev, 
00139                                            uint8_t  ep_addr,                                      
00140                                            uint8_t  *pbuf,
00141                                            uint16_t  size);
00142 
00143 uint32_t USBD_LL_GetRxDataSize  (USBD_HandleTypeDef *pdev, uint8_t  ep_addr);  
00144 void  USBD_LL_Delay (uint32_t Delay);
00145 
00146 /**
00147   * @}
00148   */ 
00149 
00150 #ifdef __cplusplus
00151 }
00152 #endif
00153 
00154 #endif /* __USBD_CORE_H */
00155 
00156 /**
00157   * @}
00158   */ 
00159 
00160 /**
00161 * @}
00162 */ 
00163 
00164 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
00165 
00166 
00167 
00168