|
- /**
- ******************************************************************************
- * @file usbd_customhid.h
- * @author MCD Application Team
- * @brief header file for the usbd_customhid.c file.
- ******************************************************************************
- * @attention
- *
- * <h2><center>© Copyright (c) 2015 STMicroelectronics.
- * All rights reserved.</center></h2>
- *
- * This software component is licensed by ST under Ultimate Liberty license
- * SLA0044, the "License"; You may not use this file except in compliance with
- * the License. You may obtain a copy of the License at:
- * www.st.com/SLA0044
- *
- ******************************************************************************
- */
-
- /* Define to prevent recursive inclusion -------------------------------------*/
- #ifndef __USB_CUSTOMHID_H
- #define __USB_CUSTOMHID_H
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- /* Includes ------------------------------------------------------------------*/
- #include "usbd_ioreq.h"
-
- /** @addtogroup STM32_USB_DEVICE_LIBRARY
- * @{
- */
-
- /** @defgroup USBD_CUSTOM_HID
- * @brief This file is the Header file for USBD_customhid.c
- * @{
- */
-
-
- /** @defgroup USBD_CUSTOM_HID_Exported_Defines
- * @{
- */
- #define CUSTOM_HID_EPIN_ADDR 0x81U
- #define CUSTOM_HID_EPIN_SIZE 0x02U
-
- #define CUSTOM_HID_EPOUT_ADDR 0x01U
- #define CUSTOM_HID_EPOUT_SIZE 0x02U
-
- #define USB_CUSTOM_HID_CONFIG_DESC_SIZ 41U
- #define USB_CUSTOM_HID_DESC_SIZ 9U
-
- #ifndef CUSTOM_HID_HS_BINTERVAL
- #define CUSTOM_HID_HS_BINTERVAL 0x05U
- #endif /* CUSTOM_HID_HS_BINTERVAL */
-
- #ifndef CUSTOM_HID_FS_BINTERVAL
- #define CUSTOM_HID_FS_BINTERVAL 0x05U
- #endif /* CUSTOM_HID_FS_BINTERVAL */
-
- #ifndef USBD_CUSTOMHID_OUTREPORT_BUF_SIZE
- #define USBD_CUSTOMHID_OUTREPORT_BUF_SIZE 0x02U
- #endif /* USBD_CUSTOMHID_OUTREPORT_BUF_SIZE */
- #ifndef USBD_CUSTOM_HID_REPORT_DESC_SIZE
- #define USBD_CUSTOM_HID_REPORT_DESC_SIZE 163U
- #endif /* USBD_CUSTOM_HID_REPORT_DESC_SIZE */
-
- #define CUSTOM_HID_DESCRIPTOR_TYPE 0x21U
- #define CUSTOM_HID_REPORT_DESC 0x22U
-
- #define CUSTOM_HID_REQ_SET_PROTOCOL 0x0BU
- #define CUSTOM_HID_REQ_GET_PROTOCOL 0x03U
-
- #define CUSTOM_HID_REQ_SET_IDLE 0x0AU
- #define CUSTOM_HID_REQ_GET_IDLE 0x02U
-
- #define CUSTOM_HID_REQ_SET_REPORT 0x09U
- #define CUSTOM_HID_REQ_GET_REPORT 0x01U
- /**
- * @}
- */
-
-
- /** @defgroup USBD_CORE_Exported_TypesDefinitions
- * @{
- */
- typedef enum
- {
- CUSTOM_HID_IDLE = 0U,
- CUSTOM_HID_BUSY,
- }
- CUSTOM_HID_StateTypeDef;
-
- typedef struct _USBD_CUSTOM_HID_Itf
- {
- uint8_t *pReport;
- uint16_t pReportLen;
- int8_t (* Init)(void);
- int8_t (* DeInit)(void);
- int8_t (* OutEvent)(uint8_t event_idx, uint8_t state);
-
- } USBD_CUSTOM_HID_ItfTypeDef;
-
- typedef struct
- {
- uint8_t Report_buf[USBD_CUSTOMHID_OUTREPORT_BUF_SIZE];
- uint32_t Protocol;
- uint32_t IdleState;
- uint32_t AltSetting;
- uint32_t IsReportAvailable;
- CUSTOM_HID_StateTypeDef state;
- }
- USBD_CUSTOM_HID_HandleTypeDef;
- /**
- * @}
- */
-
-
-
- /** @defgroup USBD_CORE_Exported_Macros
- * @{
- */
-
- /**
- * @}
- */
-
- /** @defgroup USBD_CORE_Exported_Variables
- * @{
- */
-
- extern USBD_ClassTypeDef USBD_CUSTOM_HID;
- #define USBD_CUSTOM_HID_CLASS &USBD_CUSTOM_HID
- /**
- * @}
- */
-
- /** @defgroup USB_CORE_Exported_Functions
- * @{
- */
- uint8_t USBD_CUSTOM_HID_SendReport(USBD_HandleTypeDef *pdev,
- uint8_t *report,
- uint16_t len);
-
-
-
- uint8_t USBD_CUSTOM_HID_RegisterInterface(USBD_HandleTypeDef *pdev,
- USBD_CUSTOM_HID_ItfTypeDef *fops);
-
- /**
- * @}
- */
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* __USB_CUSTOMHID_H */
- /**
- * @}
- */
-
- /**
- * @}
- */
-
- /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|