summaryrefslogtreecommitdiff
path: root/fw/hid-dials/Inc/usbd_hid.h
diff options
context:
space:
mode:
Diffstat (limited to 'fw/hid-dials/Inc/usbd_hid.h')
-rw-r--r--fw/hid-dials/Inc/usbd_hid.h193
1 files changed, 193 insertions, 0 deletions
diff --git a/fw/hid-dials/Inc/usbd_hid.h b/fw/hid-dials/Inc/usbd_hid.h
new file mode 100644
index 0000000..fa2f0a2
--- /dev/null
+++ b/fw/hid-dials/Inc/usbd_hid.h
@@ -0,0 +1,193 @@
+/**
+ ******************************************************************************
+ * @file usbd_hid.h
+ * @author MCD Application Team
+ * @version V2.4.2
+ * @date 11-December-2015
+ * @brief Header file for the usbd_hid_core.c file.
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>&copy; COPYRIGHT 2015 STMicroelectronics</center></h2>
+ *
+ * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
+ * You may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.st.com/software_license_agreement_liberty_v2
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ ******************************************************************************
+ */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __USB_HID_H
+#define __USB_HID_H
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "usbd_ioreq.h"
+
+/** @addtogroup STM32_USB_DEVICE_LIBRARY
+ * @{
+ */
+
+/** @defgroup USBD_HID
+ * @brief This file is the Header file for usbd_hid.c
+ * @{
+ */
+
+/** set this to 0/1 if to have led or not
+ * it can be defined in the build configuraton symbol */
+#ifndef HID_LED_SUPPORT
+# define HID_LED_SUPPORT 0
+#endif
+
+ /** define VOLUME_REPORT to tehr eport ID to use for volume or 0 if not support*/
+#define HID_MEDIA_REPORT 2
+#ifdef HID_MEDIA_REPORT
+# define HID_MEDIA_SIZE 25
+#else
+# define HID_MEDIA_SIZE 0
+#endif
+
+#if HID_MEDIA_REPORT == 1
+# error "volume report can't be 1 already sued for stad report"
+#endif
+
+/** @defgroup USBD_HID_Exported_Defines
+ * @{
+ */
+#define HID_EPIN_ADDR 0x81
+
+#define HID_EPOUT_ADDR 0x01
+#define HID_EPOUT_SIZE 0x08
+
+#define HID_EPIN_SIZE 16
+
+ #if HID_LED_SUPPORT
+# define CFG_ADD_SIZE 7 /* one ep */
+# define HID_NUM_EP 2
+#else
+# define CFG_ADD_SIZE 0
+# define HID_NUM_EP 1
+#endif
+
+#define USB_HID_CONFIG_DESC_SIZ (34+CFG_ADD_SIZE)
+
+#define USB_HID_DESC_SIZ 9
+
+
+
+#if HID_LED_SUPPORT
+# define HID_LED_SIZE 18
+#else
+# define HID_LED_SIZE 0
+#endif
+
+
+
+#define HID_REPORT_DESC_SIZE 104
+
+
+#define HID_DESCRIPTOR_TYPE 0x21
+#define HID_REPORT_DESC 0x22
+
+#define HID_HS_BINTERVAL 0x07
+#define HID_FS_BINTERVAL 0x0A
+#define HID_POLLING_INTERVAL 0x0A
+
+#define HID_REQ_SET_PROTOCOL 0x0B
+#define HID_REQ_GET_PROTOCOL 0x03
+
+#define HID_REQ_SET_IDLE 0x0A
+#define HID_REQ_GET_IDLE 0x02
+
+#define HID_REQ_SET_REPORT 0x09
+#define HID_REQ_GET_REPORT 0x01
+/**
+ * @}
+ */
+
+
+/** @defgroup USBD_CORE_Exported_TypesDefinitions
+ * @{
+ */
+typedef enum
+{
+ HID_IDLE = 0,
+ HID_BUSY,
+}
+HID_StateTypeDef;
+
+
+typedef struct
+{
+ uint32_t Protocol;
+ uint32_t IdleState;
+ uint32_t AltSetting;
+ HID_StateTypeDef state;
+}
+USBD_HID_HandleTypeDef;
+/**
+ * @}
+ */
+
+
+
+/** @defgroup USBD_CORE_Exported_Macros
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_CORE_Exported_Variables
+ * @{
+ */
+
+extern USBD_ClassTypeDef USBD_HID;
+#define USBD_HID_CLASS &USBD_HID
+/**
+ * @}
+ */
+
+/** @defgroup USB_CORE_Exported_Functions
+ * @{
+ */
+uint8_t USBD_HID_SendReport (USBD_HandleTypeDef *pdev,
+ uint8_t *report,
+ uint16_t len);
+
+uint32_t USBD_HID_GetPollingInterval (USBD_HandleTypeDef *pdev);
+
+
+/** user redifinable */
+void USBD_HID_GetReport(uint8_t * OutData, int len);
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __USB_HID_H */
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/