usbd_conf.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. /* USER CODE BEGIN Header */
  2. /**
  3. ******************************************************************************
  4. * @file : usbd_conf.h
  5. * @version : v1.0_Cube
  6. * @brief : Header for usbd_conf.c file.
  7. ******************************************************************************
  8. * @attention
  9. *
  10. * Copyright (c) 2024 STMicroelectronics.
  11. * All rights reserved.
  12. *
  13. * This software is licensed under terms that can be found in the LICENSE file
  14. * in the root directory of this software component.
  15. * If no LICENSE file comes with this software, it is provided AS-IS.
  16. *
  17. ******************************************************************************
  18. */
  19. /* USER CODE END Header */
  20. /* Define to prevent recursive inclusion -------------------------------------*/
  21. #ifndef __USBD_CONF__H__
  22. #define __USBD_CONF__H__
  23. #ifdef __cplusplus
  24. extern "C" {
  25. #endif
  26. /* Includes ------------------------------------------------------------------*/
  27. #include <stdio.h>
  28. #include <stdlib.h>
  29. #include <string.h>
  30. #include "main.h"
  31. #include "stm32f4xx.h"
  32. #include "stm32f4xx_hal.h"
  33. /* USER CODE BEGIN INCLUDE */
  34. /* USER CODE END INCLUDE */
  35. /** @addtogroup USBD_OTG_DRIVER
  36. * @brief Driver for Usb device.
  37. * @{
  38. */
  39. /** @defgroup USBD_CONF USBD_CONF
  40. * @brief Configuration file for Usb otg low level driver.
  41. * @{
  42. */
  43. /** @defgroup USBD_CONF_Exported_Variables USBD_CONF_Exported_Variables
  44. * @brief Public variables.
  45. * @{
  46. */
  47. /**
  48. * @}
  49. */
  50. /** @defgroup USBD_CONF_Exported_Defines USBD_CONF_Exported_Defines
  51. * @brief Defines for configuration of the Usb device.
  52. * @{
  53. */
  54. /*---------- -----------*/
  55. #define USBD_MAX_NUM_INTERFACES 1U
  56. /*---------- -----------*/
  57. #define USBD_MAX_NUM_CONFIGURATION 1U
  58. /*---------- -----------*/
  59. #define USBD_MAX_STR_DESC_SIZ 512U
  60. /*---------- -----------*/
  61. #define USBD_DEBUG_LEVEL 0U
  62. /*---------- -----------*/
  63. #define USBD_LPM_ENABLED 0U
  64. /*---------- -----------*/
  65. #define USBD_SELF_POWERED 1U
  66. /*---------- -----------*/
  67. #define USBD_AUDIO_FREQ 48000U
  68. /****************************************/
  69. /* #define for FS and HS identification */
  70. #define DEVICE_FS 0
  71. #define DEVICE_HS 1
  72. /**
  73. * @}
  74. */
  75. /** @defgroup USBD_CONF_Exported_Macros USBD_CONF_Exported_Macros
  76. * @brief Aliases.
  77. * @{
  78. */
  79. /* Memory management macros make sure to use static memory allocation */
  80. /** Alias for memory allocation. */
  81. #define USBD_malloc (void *)USBD_static_malloc
  82. /** Alias for memory release. */
  83. #define USBD_free USBD_static_free
  84. /** Alias for memory set. */
  85. #define USBD_memset memset
  86. /** Alias for memory copy. */
  87. #define USBD_memcpy memcpy
  88. /** Alias for delay. */
  89. #define USBD_Delay HAL_Delay
  90. /* DEBUG macros */
  91. #if (USBD_DEBUG_LEVEL > 0)
  92. #define USBD_UsrLog(...) printf(__VA_ARGS__);\
  93. printf("\n");
  94. #else
  95. #define USBD_UsrLog(...)
  96. #endif /* (USBD_DEBUG_LEVEL > 0U) */
  97. #if (USBD_DEBUG_LEVEL > 1)
  98. #define USBD_ErrLog(...) printf("ERROR: ");\
  99. printf(__VA_ARGS__);\
  100. printf("\n");
  101. #else
  102. #define USBD_ErrLog(...)
  103. #endif /* (USBD_DEBUG_LEVEL > 1U) */
  104. #if (USBD_DEBUG_LEVEL > 2)
  105. #define USBD_DbgLog(...) printf("DEBUG : ");\
  106. printf(__VA_ARGS__);\
  107. printf("\n");
  108. #else
  109. #define USBD_DbgLog(...)
  110. #endif /* (USBD_DEBUG_LEVEL > 2U) */
  111. /**
  112. * @}
  113. */
  114. /** @defgroup USBD_CONF_Exported_Types USBD_CONF_Exported_Types
  115. * @brief Types.
  116. * @{
  117. */
  118. /**
  119. * @}
  120. */
  121. /** @defgroup USBD_CONF_Exported_FunctionsPrototype USBD_CONF_Exported_FunctionsPrototype
  122. * @brief Declaration of public functions for Usb device.
  123. * @{
  124. */
  125. /* Exported functions -------------------------------------------------------*/
  126. void *USBD_static_malloc(uint32_t size);
  127. void USBD_static_free(void *p);
  128. /**
  129. * @}
  130. */
  131. /**
  132. * @}
  133. */
  134. /**
  135. * @}
  136. */
  137. #ifdef __cplusplus
  138. }
  139. #endif
  140. #endif /* __USBD_CONF__H__ */