/* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : usbd_cdc_if.h * @version : v2.0_Cube * @brief : Header for usbd_cdc_if.c file. ****************************************************************************** * @attention * * Copyright (c) 2025 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** */ /* USER CODE END Header */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __USBD_CDC_IF_H__ #define __USBD_CDC_IF_H__ #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ #include "usbd_cdc.h" /* USER CODE BEGIN INCLUDE */ /* USER CODE END INCLUDE */ /** @addtogroup STM32_USB_OTG_DEVICE_LIBRARY * @brief For Usb device. * @{ */ /** @defgroup USBD_CDC_IF USBD_CDC_IF * @brief Usb VCP device module * @{ */ /** @defgroup USBD_CDC_IF_Exported_Defines USBD_CDC_IF_Exported_Defines * @brief Defines. * @{ */ /* Define size for the receive and transmit buffer over CDC */ #define APP_RX_DATA_SIZE 1024 #define APP_TX_DATA_SIZE 1024 /* USER CODE BEGIN EXPORTED_DEFINES */ extern void BSP_USB_printf(char* fmt,...); #define __USB_LOG_INFO__ #ifdef __USB_LOG_INFO__ #define usb_log_info(format, ...) BSP_USB_printf("|INFO|"format"|(File: "__FILE__", Line: %d)\r\n", ##__VA_ARGS__, __LINE__) #else #define usb_log_info(format,...) #endif #define __USB_LOG_DEBUG__ #ifdef __USB_LOG_DEBUG__ #define usb_log_debug(format, ...) BSP_USB_printf("|DEBUG|"format"|(File: "__FILE__", Line: %d)\r\n", ##__VA_ARGS__, __LINE__) #else #define usb_log_debug(format,...) #endif /* USER CODE END EXPORTED_DEFINES */ /** * @} */ /** @defgroup USBD_CDC_IF_Exported_Types USBD_CDC_IF_Exported_Types * @brief Types. * @{ */ /* USER CODE BEGIN EXPORTED_TYPES */ typedef struct { volatile uint16_t recFlag; volatile uint32_t recLen; } USB_REC_Typedef; extern USB_REC_Typedef usb_com; extern uint16_t tx_len; /* USER CODE END EXPORTED_TYPES */ /** * @} */ /** @defgroup USBD_CDC_IF_Exported_Macros USBD_CDC_IF_Exported_Macros * @brief Aliases. * @{ */ /* USER CODE BEGIN EXPORTED_MACRO */ extern uint8_t UserRxBufferFS[APP_RX_DATA_SIZE]; extern uint8_t UserTxBufferFS[APP_TX_DATA_SIZE]; /* USER CODE END EXPORTED_MACRO */ /** * @} */ /** @defgroup USBD_CDC_IF_Exported_Variables USBD_CDC_IF_Exported_Variables * @brief Public variables. * @{ */ /** CDC Interface callback. */ extern USBD_CDC_ItfTypeDef USBD_Interface_fops_FS; /* USER CODE BEGIN EXPORTED_VARIABLES */ /* USER CODE END EXPORTED_VARIABLES */ /** * @} */ /** @defgroup USBD_CDC_IF_Exported_FunctionsPrototype USBD_CDC_IF_Exported_FunctionsPrototype * @brief Public functions declaration. * @{ */ uint8_t CDC_Transmit_FS(uint8_t* Buf, uint16_t Len); /* USER CODE BEGIN EXPORTED_FUNCTIONS */ /* USER CODE END EXPORTED_FUNCTIONS */ /** * @} */ /** * @} */ /** * @} */ #ifdef __cplusplus } #endif #endif /* __USBD_CDC_IF_H__ */