STM32F769IDiscovery  1.00
uDANTE Audio Networking with STM32F7 DISCO board
usbd_conf.c
Go to the documentation of this file.
1 
48 /* Includes ------------------------------------------------------------------*/
49 #include "main.h"
50 
51 /* Private typedef -----------------------------------------------------------*/
52 /* Private define ------------------------------------------------------------*/
53 /* Private macro -------------------------------------------------------------*/
54 /* Private variables ---------------------------------------------------------*/
56 
57 /* Private function prototypes -----------------------------------------------*/
58 /* Private functions ---------------------------------------------------------*/
59 
60 /*******************************************************************************
61  PCD BSP Routines
62 *******************************************************************************/
63 
70 {
71  GPIO_InitTypeDef GPIO_InitStruct;
72 
73  if(hpcd->Instance == USB_OTG_FS)
74  {
75  /* Configure USB FS GPIOs */
77 
78  /* Configure DM DP Pins */
79  GPIO_InitStruct.Pin = (GPIO_PIN_11 | GPIO_PIN_12);
80  GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
81  GPIO_InitStruct.Pull = GPIO_NOPULL;
82  GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;
83  GPIO_InitStruct.Alternate = GPIO_AF10_OTG_FS;
84  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
85 
86  /* Configure VBUS Pin */
87  GPIO_InitStruct.Pin = GPIO_PIN_9;
88  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
89  GPIO_InitStruct.Pull = GPIO_NOPULL;
90  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
91 
92  /* Configure ID pin */
93  GPIO_InitStruct.Pin = GPIO_PIN_10;
94  GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
95  GPIO_InitStruct.Pull = GPIO_PULLUP;
96  GPIO_InitStruct.Alternate = GPIO_AF10_OTG_FS;
97  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
98 
99  /* Enable USB FS Clock */
101 
102  /* Set USBFS Interrupt priority */
104 
105  /* Enable USBFS Interrupt */
107  }
108  else if(hpcd->Instance == USB_OTG_HS)
109  {
110 #ifdef USE_USB_HS_IN_FS
111 
113 
114  /*Configure GPIO for HS on FS mode*/
115  GPIO_InitStruct.Pin = GPIO_PIN_12 | GPIO_PIN_14 |GPIO_PIN_15;
116  GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
117  GPIO_InitStruct.Pull = GPIO_NOPULL;
118  GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;
119  GPIO_InitStruct.Alternate = GPIO_AF12_OTG_HS_FS;
120  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
121 
122  /* Configure VBUS Pin */
123  GPIO_InitStruct.Pin = GPIO_PIN_13 ;
124  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
125  GPIO_InitStruct.Pull = GPIO_NOPULL;
126  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
127 
128 #else
129  /* Configure USB FS GPIOs */
135 
136  /* CLK */
137  GPIO_InitStruct.Pin = GPIO_PIN_5;
138  GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
139  GPIO_InitStruct.Pull = GPIO_NOPULL;
140  GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;
141  GPIO_InitStruct.Alternate = GPIO_AF10_OTG_HS;
142  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
143 
144  /* D0 */
145  GPIO_InitStruct.Pin = GPIO_PIN_3;
146  GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
147  GPIO_InitStruct.Pull = GPIO_NOPULL;
148  GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;
149  GPIO_InitStruct.Alternate = GPIO_AF10_OTG_HS;
150  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
151 
152  /* D1 D2 D3 D4 D5 D6 D7 */
153  GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_5 |\
154  GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_12 | GPIO_PIN_13;
155  GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
156  GPIO_InitStruct.Pull = GPIO_NOPULL;
157  GPIO_InitStruct.Alternate = GPIO_AF10_OTG_HS;
158  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
159 
160  /* STP */
161  GPIO_InitStruct.Pin = GPIO_PIN_0;
162  GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
163  GPIO_InitStruct.Pull = GPIO_NOPULL;
164  GPIO_InitStruct.Alternate = GPIO_AF10_OTG_HS;
165  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
166 
167  /* NXT */
168  GPIO_InitStruct.Pin = GPIO_PIN_4;
169  GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
170  GPIO_InitStruct.Pull = GPIO_NOPULL;
171  GPIO_InitStruct.Alternate = GPIO_AF10_OTG_HS;
172  HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
173 
174  /* DIR */
175  GPIO_InitStruct.Pin = GPIO_PIN_11;
176  GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
177  GPIO_InitStruct.Pull = GPIO_NOPULL;
178  GPIO_InitStruct.Alternate = GPIO_AF10_OTG_HS;
179  HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
181 #endif
182  /* Enable USB HS Clocks */
184 
185  /* Set USBHS Interrupt to the lowest priority */
187 
188  /* Enable USBHS Interrupt */
190  }
191 }
192 
199 {
200  if(hpcd->Instance == USB_OTG_FS)
201  {
202  /* Disable USB FS Clock */
205  }
206  else if(hpcd->Instance == USB_OTG_HS)
207  {
208  /* Disable USB HS Clocks */
211  }
212 }
213 
214 /*******************************************************************************
215  LL Driver Callbacks (PCD -> USB Device Library)
216 *******************************************************************************/
217 
224 {
225  USBD_LL_SetupStage(hpcd->pData, (uint8_t *)hpcd->Setup);
226 }
227 
235 {
236  USBD_LL_DataOutStage(hpcd->pData, epnum, hpcd->OUT_ep[epnum].xfer_buff);
237 }
238 
246 {
247  USBD_LL_DataInStage(hpcd->pData, epnum, hpcd->IN_ep[epnum].xfer_buff);
248 }
249 
256 {
257  USBD_LL_SOF(hpcd->pData);
258 }
259 
266 {
268 
269  /* Set USB Current Speed */
270  switch(hpcd->Init.speed)
271  {
272  case PCD_SPEED_HIGH:
273  speed = USBD_SPEED_HIGH;
274  break;
275 
276  case PCD_SPEED_FULL:
277  speed = USBD_SPEED_FULL;
278  break;
279 
280  default:
281  speed = USBD_SPEED_FULL;
282  break;
283  }
284 
285  /* Reset Device */
286  USBD_LL_Reset(hpcd->pData);
287 
288  USBD_LL_SetSpeed(hpcd->pData, speed);
289 }
290 
297 {
298  USBD_LL_Suspend(hpcd->pData);
299 }
300 
307 {
308  USBD_LL_Resume(hpcd->pData);
309 }
310 
318 {
319  USBD_LL_IsoOUTIncomplete(hpcd->pData, epnum);
320 }
321 
329 {
330  USBD_LL_IsoINIncomplete(hpcd->pData, epnum);
331 }
332 
339 {
341 }
342 
349 {
351 }
352 
353 
354 /*******************************************************************************
355  LL Driver Interface (USB Device Library --> PCD)
356 *******************************************************************************/
357 
364 {
365 #ifdef USE_USB_FS
366  /* Set LL Driver parameters */
367  hpcd.Instance = USB_OTG_FS;
368  hpcd.Init.dev_endpoints = 4;
369  hpcd.Init.use_dedicated_ep1 = 0;
370  hpcd.Init.ep0_mps = 0x40;
371  hpcd.Init.dma_enable = 0;
372  hpcd.Init.low_power_enable = 0;
374  hpcd.Init.Sof_enable = 0;
375  hpcd.Init.speed = PCD_SPEED_FULL;
376  hpcd.Init.vbus_sensing_enable = 1;
377  hpcd.Init.lpm_enable = 0;
378 
379  /* Link The driver to the stack */
380  hpcd.pData = pdev;
381  pdev->pData = &hpcd;
382 
383  /* Initialize LL Driver */
384  HAL_PCD_Init(&hpcd);
385 
386  HAL_PCDEx_SetRxFiFo(&hpcd, 0x80);
387  HAL_PCDEx_SetTxFiFo(&hpcd, 0, 0x40);
388  HAL_PCDEx_SetTxFiFo(&hpcd, 1, 0x80);
389 #endif
390 
391 #ifdef USE_USB_HS
392  /* Set LL Driver parameters */
393  hpcd.Instance = USB_OTG_HS;
394  hpcd.Init.dev_endpoints = 6;
395  hpcd.Init.use_dedicated_ep1 = 0;
396  hpcd.Init.ep0_mps = 0x40;
397 
398  /* Be aware that enabling DMA mode will result in data being sent only by
399  multiple of 4 packet sizes. This is due to the fact that USB DMA does
400  not allow sending data from non word-aligned addresses.
401  For this specific application, it is advised to not enable this option
402  unless required. */
403  hpcd.Init.dma_enable = 0;
404  hpcd.Init.low_power_enable = 0;
405  hpcd.Init.lpm_enable = 0;
406 
407 #ifdef USE_USB_HS_IN_FS
409 #else
410  hpcd.Init.phy_itface = PCD_PHY_ULPI;
411 #endif
412  hpcd.Init.Sof_enable = 0;
413  //hpcd.Init.speed = PCD_SPEED_HIGH;
414  hpcd.Init.speed = PCD_SPEED_FULL;
415  hpcd.Init.vbus_sensing_enable = 1;
416 
417  /* Link The driver to the stack */
418  hpcd.pData = pdev;
419  pdev->pData = &hpcd;
420 
421  /* Initialize LL Driver */
422  HAL_PCD_Init(&hpcd);
423 
424  HAL_PCDEx_SetRxFiFo(&hpcd, 0x200);
425  HAL_PCDEx_SetTxFiFo(&hpcd, 0, 0x80);
426  HAL_PCDEx_SetTxFiFo(&hpcd, 1, 0x174);
427 #endif
428 
429  return USBD_OK;
430 }
431 
438 {
439  HAL_PCD_DeInit(pdev->pData);
440  return USBD_OK;
441 }
442 
449 {
450  HAL_PCD_Start(pdev->pData);
451  return USBD_OK;
452 }
453 
460 {
461  HAL_PCD_Stop(pdev->pData);
462  return USBD_OK;
463 }
464 
474  uint8_t ep_addr,
475  uint8_t ep_type,
476  uint16_t ep_mps)
477 {
478  HAL_PCD_EP_Open(pdev->pData,
479  ep_addr,
480  ep_mps,
481  ep_type);
482 
483  return USBD_OK;
484 }
485 
493 {
494  HAL_PCD_EP_Close(pdev->pData, ep_addr);
495  return USBD_OK;
496 }
497 
505 {
506  HAL_PCD_EP_Flush(pdev->pData, ep_addr);
507  return USBD_OK;
508 }
509 
517 {
518  HAL_PCD_EP_SetStall(pdev->pData, ep_addr);
519  return USBD_OK;
520 }
521 
529 {
530  HAL_PCD_EP_ClrStall(pdev->pData, ep_addr);
531  return USBD_OK;
532 }
533 
540 uint8_t USBD_LL_IsStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
541 {
542  PCD_HandleTypeDef *hpcd = pdev->pData;
543 
544  if((ep_addr & 0x80) == 0x80)
545  {
546  return hpcd->IN_ep[ep_addr & 0x7F].is_stall;
547  }
548  else
549  {
550  return hpcd->OUT_ep[ep_addr & 0x7F].is_stall;
551  }
552 }
553 
561 {
562  HAL_PCD_SetAddress(pdev->pData, dev_addr);
563  return USBD_OK;
564 }
565 
575  uint8_t ep_addr,
576  uint8_t *pbuf,
577  uint16_t size)
578 {
579  HAL_PCD_EP_Transmit(pdev->pData, ep_addr, pbuf, size);
580  return USBD_OK;
581 }
582 
592  uint8_t ep_addr,
593  uint8_t *pbuf,
594  uint16_t size)
595 {
596  HAL_PCD_EP_Receive(pdev->pData, ep_addr, pbuf, size);
597  return USBD_OK;
598 }
599 
606 uint32_t USBD_LL_GetRxDataSize(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
607 {
608  return HAL_PCD_EP_GetRxCount(pdev->pData, ep_addr);
609 }
610 
616 void USBD_LL_Delay(uint32_t Delay)
617 {
618  HAL_Delay(Delay);
619 }
620 
621 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
USBD_StatusTypeDef
Definition: usbd_def.h:194
USBD_StatusTypeDef USBD_LL_FlushEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
Flushes an endpoint of the Low Level Driver.
Definition: usbd_conf.c:504
#define GPIO_PIN_13
USBD_StatusTypeDef USBD_LL_Resume(USBD_HandleTypeDef *pdev)
USBD_Resume Handle Resume event.
Definition: usbd_core.c:478
USBD_StatusTypeDef USBD_LL_CloseEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
Closes an endpoint of the Low Level Driver.
Definition: usbd_conf.c:492
USBD_StatusTypeDef USBD_LL_SOF(USBD_HandleTypeDef *pdev)
USBD_SOF Handle SOF event.
Definition: usbd_core.c:491
#define GPIO_AF12_OTG_HS_FS
#define __HAL_RCC_GPIOC_CLK_ENABLE()
#define GPIO_MODE_AF_OD
HAL_StatusTypeDef HAL_PCDEx_SetRxFiFo(PCD_HandleTypeDef *hpcd, uint16_t size)
void USBD_LL_Delay(uint32_t Delay)
Delays routine for the USB Device Library.
Definition: usbd_conf.c:616
#define GPIO_NOPULL
HAL_StatusTypeDef HAL_PCD_Stop(PCD_HandleTypeDef *hpcd)
void HAL_PCD_ISOINIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
ISOINIncomplete callback.
Definition: usbd_conf.c:328
#define GPIOA
Definition: stm32f745xx.h:1313
HAL_StatusTypeDef HAL_PCD_SetAddress(PCD_HandleTypeDef *hpcd, uint8_t address)
USBD_SpeedTypeDef
Definition: usbd_def.h:186
void HAL_Delay(__IO uint32_t Delay)
This function provides accurate delay (in milliseconds) based on variable incremented.
HAL_StatusTypeDef HAL_PCD_EP_Transmit(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint8_t *pBuf, uint32_t len)
uint32_t USBD_LL_GetRxDataSize(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
Returns the last transferred packet size.
Definition: usbd_conf.c:606
HAL_StatusTypeDef HAL_PCD_Start(PCD_HandleTypeDef *hpcd)
USBD_StatusTypeDef USBD_LL_Transmit(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t *pbuf, uint16_t size)
Transmits data over an endpoint.
Definition: usbd_conf.c:574
HAL_StatusTypeDef HAL_PCD_EP_Receive(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint8_t *pBuf, uint32_t len)
HAL_StatusTypeDef HAL_PCD_Init(PCD_HandleTypeDef *hpcd)
USBD_StatusTypeDef USBD_LL_DataInStage(USBD_HandleTypeDef *pdev, uint8_t epnum, uint8_t *pdata)
USBD_DataInStage Handle data in stage.
Definition: usbd_core.c:343
HAL_StatusTypeDef HAL_PCD_EP_SetStall(PCD_HandleTypeDef *hpcd, uint8_t ep_addr)
#define GPIOB
Definition: stm32f745xx.h:1314
#define GPIO_AF10_OTG_HS
HAL_StatusTypeDef HAL_PCD_EP_Close(PCD_HandleTypeDef *hpcd, uint8_t ep_addr)
void HAL_PCD_ResumeCallback(PCD_HandleTypeDef *hpcd)
Resume callback.
Definition: usbd_conf.c:306
USBD_StatusTypeDef USBD_LL_SetSpeed(USBD_HandleTypeDef *pdev, USBD_SpeedTypeDef speed)
USBD_LL_Reset Handle Reset event.
Definition: usbd_core.c:451
USBD_StatusTypeDef USBD_LL_Start(USBD_HandleTypeDef *pdev)
Starts the Low Level portion of the Device driver.
Definition: usbd_conf.c:448
HAL_StatusTypeDef HAL_PCD_EP_ClrStall(PCD_HandleTypeDef *hpcd, uint8_t ep_addr)
#define GPIO_PIN_11
void HAL_PCD_SuspendCallback(PCD_HandleTypeDef *hpcd)
Suspend callback.
Definition: usbd_conf.c:296
#define GPIO_AF10_OTG_FS
AF 10 selection.
USBD_StatusTypeDef USBD_LL_DevDisconnected(USBD_HandleTypeDef *pdev)
USBD_DevDisconnected Handle device disconnection event.
Definition: usbd_core.c:542
#define __HAL_RCC_USB_OTG_HS_ULPI_CLK_ENABLE()
#define GPIO_PIN_4
#define PCD_PHY_EMBEDDED
void HAL_PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd)
Disconnect callback.
Definition: usbd_conf.c:348
USBD_StatusTypeDef USBD_LL_ClearStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
Clears a Stall condition on an endpoint of the Low Level Driver.
Definition: usbd_conf.c:528
HAL_StatusTypeDef HAL_PCD_DeInit(PCD_HandleTypeDef *hpcd)
PCD_TypeDef * Instance
#define __HAL_RCC_GPIOI_CLK_ENABLE()
uint8_t USBD_LL_IsStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
Returns Stall condition.
Definition: usbd_conf.c:540
#define GPIO_MODE_INPUT
void HAL_PCD_DataOutStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
DataOut Stage callback.
Definition: usbd_conf.c:234
#define GPIO_PULLUP
void HAL_PCD_SOFCallback(PCD_HandleTypeDef *hpcd)
SOF callback.
Definition: usbd_conf.c:255
#define GPIO_PIN_0
#define USB_OTG_FS
Definition: stm32f745xx.h:1355
USBD_StatusTypeDef USBD_LL_PrepareReceive(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t *pbuf, uint16_t size)
Prepares an endpoint for reception.
Definition: usbd_conf.c:591
#define GPIO_PIN_10
#define PCD_SPEED_FULL
USBD_StatusTypeDef USBD_LL_Init(USBD_HandleTypeDef *pdev)
Initializes the Low Level portion of the Device driver.
Definition: usbd_conf.c:363
USBD_StatusTypeDef USBD_LL_Suspend(USBD_HandleTypeDef *pdev)
USBD_Suspend Handle Suspend event.
Definition: usbd_core.c:464
#define GPIO_PIN_14
#define __HAL_RCC_USB_OTG_HS_CLK_DISABLE()
USBD_StatusTypeDef USBD_LL_DevConnected(USBD_HandleTypeDef *pdev)
USBD_DevConnected Handle device connection event.
Definition: usbd_core.c:531
USBD_StatusTypeDef USBD_LL_DataOutStage(USBD_HandleTypeDef *pdev, uint8_t epnum, uint8_t *pdata)
USBD_DataOutStage Handle data OUT stage.
Definition: usbd_core.c:299
PCD_EPTypeDef OUT_ep[15]
void HAL_PCD_DataInStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
DataIn Stage callback.
Definition: usbd_conf.c:245
void HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority)
HAL_StatusTypeDef HAL_PCD_EP_Flush(PCD_HandleTypeDef *hpcd, uint8_t ep_addr)
#define __HAL_RCC_USB_OTG_FS_CLK_DISABLE()
uint16_t HAL_PCD_EP_GetRxCount(PCD_HandleTypeDef *hpcd, uint8_t ep_addr)
USBD_StatusTypeDef USBD_LL_Reset(USBD_HandleTypeDef *pdev)
USBD_LL_Reset Handle Reset event.
Definition: usbd_core.c:415
#define GPIOI
Definition: stm32f745xx.h:1321
Definition: pbuf.h:108
USBD_StatusTypeDef USBD_LL_StallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
Sets a Stall condition on an endpoint of the Low Level Driver.
Definition: usbd_conf.c:516
#define GPIO_PIN_12
USBD_StatusTypeDef USBD_LL_IsoINIncomplete(USBD_HandleTypeDef *pdev, uint8_t epnum)
USBD_IsoINIncomplete Handle iso in incomplete event.
Definition: usbd_core.c:509
#define GPIOH
Definition: stm32f745xx.h:1320
void HAL_NVIC_EnableIRQ(IRQn_Type IRQn)
HAL_StatusTypeDef HAL_PCD_EP_Open(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint16_t ep_mps, uint8_t ep_type)
#define PCD_PHY_ULPI
#define __HAL_RCC_USB_OTG_FS_CLK_ENABLE()
GPIO Init structure definition.
#define GPIO_PIN_3
#define GPIO_PIN_15
#define __HAL_RCC_GPIOA_CLK_ENABLE()
USBD_StatusTypeDef USBD_LL_SetUSBAddress(USBD_HandleTypeDef *pdev, uint8_t dev_addr)
Assigns a USB address to the device.
Definition: usbd_conf.c:560
#define __HAL_RCC_USB_OTG_HS_CLK_ENABLE()
void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init)
void HAL_PCD_SetupStageCallback(PCD_HandleTypeDef *hpcd)
SetupStage callback.
Definition: usbd_conf.c:223
#define GPIO_PIN_9
PCD Handle Structure definition.
#define GPIO_PIN_1
#define __HAL_RCC_GPIOB_CLK_ENABLE()
PCD_EPTypeDef IN_ep[15]
#define __HAL_RCC_GPIOH_CLK_ENABLE()
#define GPIO_PIN_5
void HAL_PCD_ResetCallback(PCD_HandleTypeDef *hpcd)
Reset callback.
Definition: usbd_conf.c:265
void HAL_PCD_ConnectCallback(PCD_HandleTypeDef *hpcd)
ConnectCallback callback.
Definition: usbd_conf.c:338
void HAL_PCD_MspInit(PCD_HandleTypeDef *hpcd)
Initializes the PCD MSP.
Definition: usbd_conf.c:69
void HAL_PCD_ISOOUTIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
ISOOUTIncomplete callback.
Definition: usbd_conf.c:317
USBD_StatusTypeDef USBD_LL_IsoOUTIncomplete(USBD_HandleTypeDef *pdev, uint8_t epnum)
USBD_IsoOUTIncomplete Handle iso out incomplete event.
Definition: usbd_core.c:520
PCD_HandleTypeDef hpcd
Definition: usbd_conf.c:55
#define PCD_SPEED_HIGH
#define USB_OTG_HS
Definition: stm32f745xx.h:1356
void HAL_PCD_MspDeInit(PCD_HandleTypeDef *hpcd)
De-Initializes the PCD MSP.
Definition: usbd_conf.c:198
USBD_StatusTypeDef USBD_LL_Stop(USBD_HandleTypeDef *pdev)
Stops the Low Level portion of the Device driver.
Definition: usbd_conf.c:459
USBD_StatusTypeDef USBD_LL_SetupStage(USBD_HandleTypeDef *pdev, uint8_t *psetup)
USBD_SetupStage Handle the setup stage.
Definition: usbd_core.c:263
USBD_StatusTypeDef USBD_LL_OpenEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t ep_type, uint16_t ep_mps)
Opens an endpoint of the Low Level Driver.
Definition: usbd_conf.c:473
PCD_InitTypeDef Init
#define GPIO_MODE_AF_PP
#define __HAL_RCC_SYSCFG_CLK_DISABLE()
#define GPIOC
Definition: stm32f745xx.h:1315
HAL_StatusTypeDef HAL_PCDEx_SetTxFiFo(PCD_HandleTypeDef *hpcd, uint8_t fifo, uint16_t size)
USBD_StatusTypeDef USBD_LL_DeInit(USBD_HandleTypeDef *pdev)
De-Initializes the Low Level portion of the Device driver.
Definition: usbd_conf.c:437