STM32F769IDiscovery  1.00
uDANTE Audio Networking with STM32F7 DISCO board
usbd_main.c
Go to the documentation of this file.
1 /*
2  * usbd_main.c
3  *
4  * Created on: Mar 14, 2016
5  * Author: Torsten
6  */
7 
8 #include "main.h"
9 
11 
12 int gUSBInterface = 0;
14 
15 void USB_Interface(int mode)
16 {
17  (void)mode;
18 
19  if ( ! gUSBInterface)
20  {
21 
22 #if 0
23  //it does not work (yet) for 96KHz
24  USBD_AUDIO_Set(mode);
25 #endif
26 
27  /* Init Device Library */
28  USBD_Init(&USBD_Device, &AUDIO_Desc, 0);
29 
30  /* Add Supported Class */
31  USBD_RegisterClass(&USBD_Device, USBD_AUDIO_CLASS);
32 
33  /* Add Interface call backs for AUDIO Class */
35 
36  /* Start Device Process */
37  USBD_Start(&USBD_Device);
38 
39  gUSBInterface = 1;
40  }
41 }
42 
44 {
45  if (gUSBInterface)
46  {
47  gUSBInterface = 0;
48 
49  USBD_DeInit(&USBD_Device);
50  }
51 }
52 
53 void USB_ClearBuffer(void)
54 {
55  //if (gUSBInterface)
56  // USBD_AUDIO_ClearBuffer(&USBD_Device);
57 }
int gUSBrunning
Definition: usbd_main.c:13
void USB_ClearBuffer(void)
Definition: usbd_main.c:53
void USB_InterfaceDeinit(void)
Definition: usbd_main.c:43
USBD_DescriptorsTypeDef AUDIO_Desc
Definition: usbd_desc.c:60
USBD_StatusTypeDef USBD_DeInit(USBD_HandleTypeDef *pdev)
USBD_DeInit Re-Initialize th device library.
Definition: usbd_core.c:132
#define USBD_AUDIO_CLASS
Definition: usbd_audio.h:189
void USB_Interface(int mode)
Definition: usbd_main.c:15
USBD_AUDIO_ItfTypeDef USBD_AUDIO_fops
Definition: usbd_audio_if.c:46
uint8_t USBD_AUDIO_RegisterInterface(USBD_HandleTypeDef *pdev, USBD_AUDIO_ItfTypeDef *fops)
USBD_AUDIO_RegisterInterface.
Definition: usbd_audio.c:783
USBD_HandleTypeDef USBD_Device
Definition: usbd_main.c:10
USBD_StatusTypeDef USBD_Init(USBD_HandleTypeDef *pdev, USBD_DescriptorsTypeDef *pdesc, uint8_t id)
USBD_Init Initializes the device stack and load the class driver.
Definition: usbd_core.c:96
USBD_StatusTypeDef USBD_Start(USBD_HandleTypeDef *pdev)
USBD_Start Start the USB Device Core.
Definition: usbd_core.c:181
USBD_StatusTypeDef USBD_RegisterClass(USBD_HandleTypeDef *pdev, USBD_ClassTypeDef *pclass)
USBD_RegisterClass Link class driver to Device Core.
Definition: usbd_core.c:157
int gUSBInterface
Definition: usbd_main.c:12