1 /** 2 ****************************************************************************** 3 * @file stm32f4xx_hal_pcd_ex.h 4 * @author MCD Application Team 5 * @brief Header file of PCD HAL Extension module. 6 ****************************************************************************** 7 * @attention 8 * 9 * Copyright (c) 2016 STMicroelectronics. 10 * All rights reserved. 11 * 12 * This software is licensed under terms that can be found in the LICENSE file 13 * in the root directory of this software component. 14 * If no LICENSE file comes with this software, it is provided AS-IS. 15 * 16 ****************************************************************************** 17 */ 18 19 /* Define to prevent recursive inclusion -------------------------------------*/ 20 #ifndef STM32F4xx_HAL_PCD_EX_H 21 #define STM32F4xx_HAL_PCD_EX_H 22 23 #ifdef __cplusplus 24 extern "C" { 25 #endif /* __cplusplus */ 26 27 /* Includes ------------------------------------------------------------------*/ 28 #include "stm32f4xx_hal_def.h" 29 30 #if defined (USB_OTG_FS) || defined (USB_OTG_HS) 31 /** @addtogroup STM32F4xx_HAL_Driver 32 * @{ 33 */ 34 35 /** @addtogroup PCDEx 36 * @{ 37 */ 38 /* Exported types ------------------------------------------------------------*/ 39 /* Exported constants --------------------------------------------------------*/ 40 /* Exported macros -----------------------------------------------------------*/ 41 /* Exported functions --------------------------------------------------------*/ 42 /** @addtogroup PCDEx_Exported_Functions PCDEx Exported Functions 43 * @{ 44 */ 45 /** @addtogroup PCDEx_Exported_Functions_Group1 Peripheral Control functions 46 * @{ 47 */ 48 #if defined (USB_OTG_FS) || defined (USB_OTG_HS) 49 HAL_StatusTypeDef HAL_PCDEx_SetTxFiFo(PCD_HandleTypeDef *hpcd, uint8_t fifo, uint16_t size); 50 HAL_StatusTypeDef HAL_PCDEx_SetRxFiFo(PCD_HandleTypeDef *hpcd, uint16_t size); 51 #endif /* defined (USB_OTG_FS) || defined (USB_OTG_HS) */ 52 53 #if defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412Zx) \ 54 || defined(STM32F412Vx) || defined(STM32F412Rx) || defined(STM32F412Cx) || defined(STM32F413xx) \ 55 || defined(STM32F423xx) 56 HAL_StatusTypeDef HAL_PCDEx_ActivateLPM(PCD_HandleTypeDef *hpcd); 57 HAL_StatusTypeDef HAL_PCDEx_DeActivateLPM(PCD_HandleTypeDef *hpcd); 58 #endif /* defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412Zx) || 59 defined(STM32F412Vx) || defined(STM32F412Rx) || defined(STM32F412Cx) || defined(STM32F413xx) || 60 defined(STM32F423xx) */ 61 #if defined(STM32F412Zx) || defined(STM32F412Vx) || defined(STM32F412Rx) \ 62 || defined(STM32F412Cx) || defined(STM32F413xx) || defined(STM32F423xx) 63 HAL_StatusTypeDef HAL_PCDEx_ActivateBCD(PCD_HandleTypeDef *hpcd); 64 HAL_StatusTypeDef HAL_PCDEx_DeActivateBCD(PCD_HandleTypeDef *hpcd); 65 void HAL_PCDEx_BCD_VBUSDetect(PCD_HandleTypeDef *hpcd); 66 #endif /* defined(STM32F412Zx) || defined(STM32F412Vx) || defined(STM32F412Rx) || 67 defined(STM32F412Cx) || defined(STM32F413xx) || defined(STM32F423xx) */ 68 void HAL_PCDEx_LPM_Callback(PCD_HandleTypeDef *hpcd, PCD_LPM_MsgTypeDef msg); 69 void HAL_PCDEx_BCD_Callback(PCD_HandleTypeDef *hpcd, PCD_BCD_MsgTypeDef msg); 70 71 /** 72 * @} 73 */ 74 75 /** 76 * @} 77 */ 78 79 /** 80 * @} 81 */ 82 83 /** 84 * @} 85 */ 86 #endif /* defined (USB_OTG_FS) || defined (USB_OTG_HS) */ 87 88 #ifdef __cplusplus 89 } 90 #endif /* __cplusplus */ 91 92 93 #endif /* STM32F4xx_HAL_PCD_EX_H */ 94