Subversion Repositories dualCDC

Rev

Details | Last modification | View Log | RSS feed

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