1 /** 2 ****************************************************************************** 3 * @file usbd_core.h 4 * @author MCD Application Team 5 * @version V2.4.2 6 * @date 11-December-2015 7 * @brief Header file for usbd_core.c file 8 ****************************************************************************** 9 * @attention 10 * 11 * <h2><center>© COPYRIGHT 2015 STMicroelectronics</center></h2> 12 * 13 * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 14 * You may not use this file except in compliance with the License. 15 * You may obtain a copy of the License at: 16 * 17 * http://www.st.com/software_license_agreement_liberty_v2 18 * 19 * Unless required by applicable law or agreed to in writing, software 20 * distributed under the License is distributed on an "AS IS" BASIS, 21 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 * See the License for the specific language governing permissions and 23 * limitations under the License. 24 * 25 ****************************************************************************** 26 */ 27 28 /* Define to prevent recursive inclusion -------------------------------------*/ 29 #ifndef __USBD_CORE_H 30 #define __USBD_CORE_H 31 32 #ifdef __cplusplus 33 extern "C" { 34 #endif 35 36 /* Includes ------------------------------------------------------------------*/ 37 #include "usbd_conf.h" 38 #include "usbd_def.h" 39 #include "usbd_ioreq.h" 40 #include "usbd_ctlreq.h" 41 42 /** @addtogroup STM32_USB_DEVICE_LIBRARY 43 * @{ 44 */ 45 46 /** @defgroup USBD_CORE 47 * @brief This file is the Header file for usbd_core.c file 48 * @{ 49 */ 50 51 52 /** @defgroup USBD_CORE_Exported_Defines 53 * @{ 54 */ 55 56 /** 57 * @} 58 */ 59 60 61 /** @defgroup USBD_CORE_Exported_TypesDefinitions 62 * @{ 63 */ 64 65 66 /** 67 * @} 68 */ 69 70 71 72 /** @defgroup USBD_CORE_Exported_Macros 73 * @{ 74 */ 75 76 /** 77 * @} 78 */ 79 80 /** @defgroup USBD_CORE_Exported_Variables 81 * @{ 82 */ 83 #define USBD_SOF USBD_LL_SOF 84 /** 85 * @} 86 */ 87 88 /** @defgroup USBD_CORE_Exported_FunctionsPrototype 89 * @{ 90 */ 91 USBD_StatusTypeDef USBD_Init(USBD_HandleTypeDef *pdev, USBD_DescriptorsTypeDef *pdesc, uint8_t id); 92 USBD_StatusTypeDef USBD_DeInit(USBD_HandleTypeDef *pdev); 93 USBD_StatusTypeDef USBD_Start (USBD_HandleTypeDef *pdev); 94 USBD_StatusTypeDef USBD_Stop (USBD_HandleTypeDef *pdev); 95 USBD_StatusTypeDef USBD_RegisterClass(USBD_HandleTypeDef *pdev, USBD_ClassTypeDef *pclass); 96 97 USBD_StatusTypeDef USBD_RunTestMode (USBD_HandleTypeDef *pdev); 98 USBD_StatusTypeDef USBD_SetClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx); 99 USBD_StatusTypeDef USBD_ClrClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx); 100 101 USBD_StatusTypeDef USBD_LL_SetupStage(USBD_HandleTypeDef *pdev, uint8_t *psetup); 102 USBD_StatusTypeDef USBD_LL_DataOutStage(USBD_HandleTypeDef *pdev , uint8_t epnum, uint8_t *pdata); 103 USBD_StatusTypeDef USBD_LL_DataInStage(USBD_HandleTypeDef *pdev , uint8_t epnum, uint8_t *pdata); 104 105 USBD_StatusTypeDef USBD_LL_Reset(USBD_HandleTypeDef *pdev); 106 USBD_StatusTypeDef USBD_LL_SetSpeed(USBD_HandleTypeDef *pdev, USBD_SpeedTypeDef speed); 107 USBD_StatusTypeDef USBD_LL_Suspend(USBD_HandleTypeDef *pdev); 108 USBD_StatusTypeDef USBD_LL_Resume(USBD_HandleTypeDef *pdev); 109 110 USBD_StatusTypeDef USBD_LL_SOF(USBD_HandleTypeDef *pdev); 111 USBD_StatusTypeDef USBD_LL_IsoINIncomplete(USBD_HandleTypeDef *pdev, uint8_t epnum); 112 USBD_StatusTypeDef USBD_LL_IsoOUTIncomplete(USBD_HandleTypeDef *pdev, uint8_t epnum); 113 114 USBD_StatusTypeDef USBD_LL_DevConnected(USBD_HandleTypeDef *pdev); 115 USBD_StatusTypeDef USBD_LL_DevDisconnected(USBD_HandleTypeDef *pdev); 116 117 /* USBD Low Level Driver */ 118 USBD_StatusTypeDef USBD_LL_Init (USBD_HandleTypeDef *pdev); 119 USBD_StatusTypeDef USBD_LL_DeInit (USBD_HandleTypeDef *pdev); 120 USBD_StatusTypeDef USBD_LL_Start(USBD_HandleTypeDef *pdev); 121 USBD_StatusTypeDef USBD_LL_Stop (USBD_HandleTypeDef *pdev); 122 USBD_StatusTypeDef USBD_LL_OpenEP (USBD_HandleTypeDef *pdev, 123 uint8_t ep_addr, 124 uint8_t ep_type, 125 uint16_t ep_mps); 126 127 USBD_StatusTypeDef USBD_LL_CloseEP (USBD_HandleTypeDef *pdev, uint8_t ep_addr); 128 USBD_StatusTypeDef USBD_LL_FlushEP (USBD_HandleTypeDef *pdev, uint8_t ep_addr); 129 USBD_StatusTypeDef USBD_LL_StallEP (USBD_HandleTypeDef *pdev, uint8_t ep_addr); 130 USBD_StatusTypeDef USBD_LL_ClearStallEP (USBD_HandleTypeDef *pdev, uint8_t ep_addr); 131 uint8_t USBD_LL_IsStallEP (USBD_HandleTypeDef *pdev, uint8_t ep_addr); 132 USBD_StatusTypeDef USBD_LL_SetUSBAddress (USBD_HandleTypeDef *pdev, uint8_t dev_addr); 133 USBD_StatusTypeDef USBD_LL_Transmit (USBD_HandleTypeDef *pdev, 134 uint8_t ep_addr, 135 uint8_t *pbuf, 136 uint16_t size); 137 138 USBD_StatusTypeDef USBD_LL_PrepareReceive(USBD_HandleTypeDef *pdev, 139 uint8_t ep_addr, 140 uint8_t *pbuf, 141 uint16_t size); 142 143 uint32_t USBD_LL_GetRxDataSize (USBD_HandleTypeDef *pdev, uint8_t ep_addr); 144 void USBD_LL_Delay (uint32_t Delay); 145 146 /** 147 * @} 148 */ 149 150 #ifdef __cplusplus 151 } 152 #endif 153 154 #endif /* __USBD_CORE_H */ 155 156 /** 157 * @} 158 */ 159 160 /** 161 * @} 162 */ 163 164 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 165 166 167 168