]> mj.ucw.cz Git - home-hw.git/blob - Src/usb_device.c
Experiments with USBD
[home-hw.git] / Src / usb_device.c
1 /**
2   ******************************************************************************
3   * @file           : usb_device.c
4   * @version        : v2.0_Cube
5   * @brief          : This file implements the USB Device
6   ******************************************************************************
7   * This notice applies to any and all portions of this file
8   * that are not between comment pairs USER CODE BEGIN and
9   * USER CODE END. Other portions of this file, whether 
10   * inserted by the user or by software development tools
11   * are owned by their respective copyright owners.
12   *
13   * Copyright (c) 2018 STMicroelectronics International N.V. 
14   * All rights reserved.
15   *
16   * Redistribution and use in source and binary forms, with or without 
17   * modification, are permitted, provided that the following conditions are met:
18   *
19   * 1. Redistribution of source code must retain the above copyright notice, 
20   *    this list of conditions and the following disclaimer.
21   * 2. Redistributions in binary form must reproduce the above copyright notice,
22   *    this list of conditions and the following disclaimer in the documentation
23   *    and/or other materials provided with the distribution.
24   * 3. Neither the name of STMicroelectronics nor the names of other 
25   *    contributors to this software may be used to endorse or promote products 
26   *    derived from this software without specific written permission.
27   * 4. This software, including modifications and/or derivative works of this 
28   *    software, must execute solely and exclusively on microcontroller or
29   *    microprocessor devices manufactured by or for STMicroelectronics.
30   * 5. Redistribution and use of this software other than as permitted under 
31   *    this license is void and will automatically terminate your rights under 
32   *    this license. 
33   *
34   * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
35   * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
36   * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
37   * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
38   * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
39   * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
40   * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
41   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
42   * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
43   * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
44   * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
45   * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
46   *
47   ******************************************************************************
48   */
49
50 /* Includes ------------------------------------------------------------------*/
51
52 #include "usb_device.h"
53 #include "usbd_core.h"
54 #include "usbd_desc.h"
55 #include "usbd_dfu.h"
56 #include "usbd_dfu_if.h"
57
58 /* USER CODE BEGIN Includes */
59
60 /* USER CODE END Includes */
61
62 /* USER CODE BEGIN PV */
63 /* Private variables ---------------------------------------------------------*/
64
65 /* USER CODE END PV */
66
67 /* USER CODE BEGIN PFP */
68 /* Private function prototypes -----------------------------------------------*/
69
70 /* USER CODE END PFP */
71
72 /* USB Device Core handle declaration. */
73 USBD_HandleTypeDef hUsbDeviceFS;
74
75 /*
76  * -- Insert your variables declaration here --
77  */
78 /* USER CODE BEGIN 0 */
79
80 /* USER CODE END 0 */
81
82 /*
83  * -- Insert your external function declaration here --
84  */
85 /* USER CODE BEGIN 1 */
86
87 /* USER CODE END 1 */
88
89 /**
90   * Init USB device Library, add supported class and start the library
91   * @retval None
92   */
93 void MX_USB_DEVICE_Init(void)
94 {
95   /* USER CODE BEGIN USB_DEVICE_Init_PreTreatment */
96   
97   /* USER CODE END USB_DEVICE_Init_PreTreatment */
98   
99   /* Init Device Library, add supported class and start the library. */
100   USBD_Init(&hUsbDeviceFS, &FS_Desc, DEVICE_FS);
101
102   USBD_RegisterClass(&hUsbDeviceFS, &USBD_DFU);
103
104   USBD_DFU_RegisterMedia(&hUsbDeviceFS, &USBD_DFU_fops_FS);
105
106   USBD_Start(&hUsbDeviceFS);
107
108   /* USER CODE BEGIN USB_DEVICE_Init_PostTreatment */
109   
110   /* USER CODE END USB_DEVICE_Init_PostTreatment */
111 }
112
113 /**
114   * @}
115   */
116
117 /**
118   * @}
119   */
120
121 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/