STM CMSIS
stm32f4xx_hal_pcd_ex.h
Go to the documentation of this file.
1 
38 /* Define to prevent recursive inclusion -------------------------------------*/
39 #ifndef __STM32F4xx_HAL_PCD_EX_H
40 #define __STM32F4xx_HAL_PCD_EX_H
41 
42 #ifdef __cplusplus
43  extern "C" {
44 #endif
45 #if defined(STM32F405xx) || defined(STM32F415xx) || defined(STM32F407xx) || defined(STM32F417xx) || \
46  defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx) || \
47  defined(STM32F401xC) || defined(STM32F401xE) || defined(STM32F411xE) || defined(STM32F446xx) || \
48  defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412Zx) || defined(STM32F412Vx) || \
49  defined(STM32F412Rx) || defined(STM32F412Cx)
50 /* Includes ------------------------------------------------------------------*/
51 #include "stm32f4xx_hal_def.h"
52 
60 /* Exported types ------------------------------------------------------------*/
61 #if defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412Zx) || defined(STM32F412Vx) || \
62  defined(STM32F412Rx) || defined(STM32F412Cx)
63 typedef enum
64 {
65  PCD_LPM_L0_ACTIVE = 0x00U, /* on */
66  PCD_LPM_L1_ACTIVE = 0x01U /* LPM L1 sleep */
67 }PCD_LPM_MsgTypeDef;
68 #endif /* STM32F446xx || STM32F469xx || STM32F479xx || STM32F412Zx || STM32F412Rx || STM32F412Vx || STM32F412Cx */
69 
70 #if defined(STM32F412Zx) || defined(STM32F412Vx) || defined(STM32F412Rx) || defined(STM32F412Cx)
71 typedef enum
72 {
73  PCD_BCD_ERROR = 0xFFU,
74  PCD_BCD_CONTACT_DETECTION = 0xFEU,
75  PCD_BCD_STD_DOWNSTREAM_PORT = 0xFDU,
76  PCD_BCD_CHARGING_DOWNSTREAM_PORT = 0xFCU,
77  PCD_BCD_DEDICATED_CHARGING_PORT = 0xFBU,
78  PCD_BCD_DISCOVERY_COMPLETED = 0x00U
79 }PCD_BCD_MsgTypeDef;
80 #endif /* STM32F412Zx || STM32F412Rx || STM32F412Vx || STM32F412Cx */
81 
82 /* Exported constants --------------------------------------------------------*/
83 /* Exported macros -----------------------------------------------------------*/
84 /* Exported functions --------------------------------------------------------*/
91 HAL_StatusTypeDef HAL_PCDEx_SetTxFiFo(PCD_HandleTypeDef *hpcd, uint8_t fifo, uint16_t size);
92 HAL_StatusTypeDef HAL_PCDEx_SetRxFiFo(PCD_HandleTypeDef *hpcd, uint16_t size);
93 #if defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412Zx) || defined(STM32F412Vx) || \
94  defined(STM32F412Rx) || defined(STM32F412Cx)
95 HAL_StatusTypeDef HAL_PCDEx_ActivateLPM(PCD_HandleTypeDef *hpcd);
96 HAL_StatusTypeDef HAL_PCDEx_DeActivateLPM(PCD_HandleTypeDef *hpcd);
97 void HAL_PCDEx_LPM_Callback(PCD_HandleTypeDef *hpcd, PCD_LPM_MsgTypeDef msg);
98 #endif /* STM32F446xx || STM32F469xx || STM32F479xx || STM32F412Zx || STM32F412Rx || STM32F412Vx || STM32F412Cx */
99 #if defined(STM32F412Zx) || defined(STM32F412Vx) || defined(STM32F412Rx) || defined(STM32F412Cx)
100 HAL_StatusTypeDef HAL_PCDEx_ActivateBCD(PCD_HandleTypeDef *hpcd);
101 HAL_StatusTypeDef HAL_PCDEx_DeActivateBCD(PCD_HandleTypeDef *hpcd);
102 void HAL_PCDEx_BCD_VBUSDetect(PCD_HandleTypeDef *hpcd);
103 void HAL_PCDEx_BCD_Callback(PCD_HandleTypeDef *hpcd, PCD_BCD_MsgTypeDef msg);
104 void HAL_PCDEx_ADP_Sensing_Start(PCD_HandleTypeDef *hpcd);
105 void HAL_PCDEx_ADP_Sensing_Callback(PCD_HandleTypeDef *hpcd);
106 #endif /* STM32F412Zx || STM32F412Rx || STM32F412Vx || STM32F412Cx */
107 
123 #endif /* STM32F405xx || STM32F415xx || STM32F407xx || STM32F417xx || STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx ||
124  STM32F401xC || STM32F401xE || STM32F411xE || STM32F446xx || STM32F469xx || STM32F479xx || STM32F412Zx || STM32F412Rx ||
125  STM32F412Vx || STM32F412Cx */
126 #ifdef __cplusplus
127 }
128 #endif
129 
130 
131 #endif /* __STM32F4xx_HAL_PCD_EX_H */
132 
133 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
This file contains HAL common defines, enumeration, macros and structures definitions.
HAL_StatusTypeDef
HAL Status structures definition.
Definition: stm32f4xx_hal_def.h:57