Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Flipper-Zero/STM32CubeWB.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_conf_template.h')
-rw-r--r--Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_conf_template.h116
1 files changed, 85 insertions, 31 deletions
diff --git a/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_conf_template.h b/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_conf_template.h
index 85e18ab78..0527cf275 100644
--- a/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_conf_template.h
+++ b/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_conf_template.h
@@ -44,50 +44,101 @@ extern "C" {
* @{
*/
-#define USBD_MAX_NUM_INTERFACES 1U
-#define USBD_MAX_NUM_CONFIGURATION 1U
-#define USBD_MAX_STR_DESC_SIZ 0x100U
-#define USBD_SELF_POWERED 1U
-#define USBD_DEBUG_LEVEL 2U
+#define USBD_MAX_NUM_INTERFACES 1U
+#define USBD_MAX_NUM_CONFIGURATION 1U
+#define USBD_MAX_STR_DESC_SIZ 0x100U
+#define USBD_SELF_POWERED 1U
+#define USBD_DEBUG_LEVEL 2U
/* ECM, RNDIS, DFU Class Config */
-#define USBD_SUPPORT_USER_STRING_DESC 1U
+#define USBD_SUPPORT_USER_STRING_DESC 1U
/* BillBoard Class Config */
-#define USBD_CLASS_USER_STRING_DESC 1U
-#define USBD_CLASS_BOS_ENABLED 1U
-#define USB_BB_MAX_NUM_ALT_MODE 0x2U
+#define USBD_CLASS_USER_STRING_DESC 1U
+#define USBD_CLASS_BOS_ENABLED 1U
+#define USB_BB_MAX_NUM_ALT_MODE 0x2U
/* MSC Class Config */
-#define MSC_MEDIA_PACKET 8192U
+#define MSC_MEDIA_PACKET 8192U
/* CDC Class Config */
-#define USBD_CDC_INTERVAL 2000U
+#define USBD_CDC_INTERVAL 2000U
/* DFU Class Config */
-#define USBD_DFU_MAX_ITF_NUM 1U
-#define USBD_DFU_XFERS_IZE 1024U
+#define USBD_DFU_MAX_ITF_NUM 1U
+#define USBD_DFU_XFERS_IZE 1024U
/* AUDIO Class Config */
-#define USBD_AUDIO_FREQ 22100U
+#define USBD_AUDIO_FREQ 22100U
+
+/* CustomHID Class Config */
+#define CUSTOM_HID_HS_BINTERVAL 0x05U
+#define CUSTOM_HID_FS_BINTERVAL 0x05U
+#define USBD_CUSTOMHID_OUTREPORT_BUF_SIZE 0x02U
+#define USBD_CUSTOM_HID_REPORT_DESC_SIZE 163U
+
+/* VIDEO Class Config */
+#define UVC_1_1 /* #define UVC_1_0 */
+
+/* To be used only with YUY2 and NV12 Video format, shouldn't be defined for MJPEG format */
+#define USBD_UVC_FORMAT_UNCOMPRESSED
+
+#ifdef USBD_UVC_FORMAT_UNCOMPRESSED
+#define UVC_BITS_PER_PIXEL 12U
+#define UVC_UNCOMPRESSED_GUID UVC_GUID_NV12 /* UVC_GUID_YUY2 */
+
+/* refer to Table 3-18 Color Matching Descriptor video class v1.1 */
+#define UVC_COLOR_PRIMARIE 0x01U
+#define UVC_TFR_CHARACTERISTICS 0x01U
+#define UVC_MATRIX_COEFFICIENTS 0x04U
+#endif
+
+/* Video Stream frame width and height */
+#define UVC_WIDTH 176U
+#define UVC_HEIGHT 144U
+
+/* bEndpointAddress in Endpoint Descriptor */
+#define UVC_IN_EP 0x81U
+
+#define UVC_CAM_FPS_FS 10U
+#define UVC_CAM_FPS_HS 5U
+
+#define UVC_ISO_FS_MPS 512U
+#define UVC_ISO_HS_MPS 512U
+
+#define UVC_PACKET_SIZE UVC_ISO_FS_MPS
+/* To be used with Device Only IP supporting double buffer mode */
+/* #define UVC_HEADER_PACKET_CNT 0x02U */
+/* #define UVC_PACKET_SIZE (UVC_ISO_FS_MPS * UVC_HEADER_PACKET_CNT) */
+
+#define UVC_MAX_FRAME_SIZE (UVC_WIDTH * UVC_HEIGHT * 16U / 8U)
/** @defgroup USBD_Exported_Macros
* @{
*/
-/* Memory management macros */
-#define USBD_malloc malloc
-#define USBD_free free
-#define USBD_memset memset
-#define USBD_memcpy memcpy
-#define USBD_Delay HAL_Delay
+/* Memory management macros make sure to use static memory allocation */
+/** Alias for memory allocation. */
+#define USBD_malloc (void *)USBD_static_malloc
+
+/** Alias for memory release. */
+#define USBD_free USBD_static_free
+
+/** Alias for memory set. */
+#define USBD_memset memset
+
+/** Alias for memory copy. */
+#define USBD_memcpy memcpy
+
+/** Alias for delay. */
+#define USBD_Delay HAL_Delay
/* DEBUG macros */
#if (USBD_DEBUG_LEVEL > 0U)
#define USBD_UsrLog(...) do { \
- printf(__VA_ARGS__); \
- printf("\n"); \
-} while (0)
+ printf(__VA_ARGS__); \
+ printf("\n"); \
+ } while (0)
#else
#define USBD_UsrLog(...) do {} while (0)
#endif
@@ -95,20 +146,20 @@ extern "C" {
#if (USBD_DEBUG_LEVEL > 1U)
#define USBD_ErrLog(...) do { \
- printf("ERROR: ") ; \
- printf(__VA_ARGS__); \
- printf("\n"); \
-} while (0)
+ printf("ERROR: ") ; \
+ printf(__VA_ARGS__); \
+ printf("\n"); \
+ } while (0)
#else
#define USBD_ErrLog(...) do {} while (0)
#endif
#if (USBD_DEBUG_LEVEL > 2U)
#define USBD_DbgLog(...) do { \
- printf("DEBUG : ") ; \
- printf(__VA_ARGS__); \
- printf("\n"); \
-} while (0)
+ printf("DEBUG : ") ; \
+ printf(__VA_ARGS__); \
+ printf("\n"); \
+ } while (0)
#else
#define USBD_DbgLog(...) do {} while (0)
#endif
@@ -149,6 +200,9 @@ extern "C" {
/** @defgroup USBD_CONF_Exported_FunctionsPrototype
* @{
*/
+/* Exported functions -------------------------------------------------------*/
+void *USBD_static_malloc(uint32_t size);
+void USBD_static_free(void *p);
/**
* @}
*/