Subversion Repositories LedShow

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  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>&copy; 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.