• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /******************************************************************************
2  * Copyright (c) 2022 Telink Semiconductor (Shanghai) Co., Ltd. ("TELINK")
3  * All rights reserved.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *****************************************************************************/
18 #pragma once
19 
20 /**
21  * @brief	hids_uuid Hids Characteristic UUID
22  */
23 #define CHARACTERISTIC_UUID_HID_BOOT_KEY_INPUT   0x2A22  // !< HID Boot Keyboard Input Report
24 #define CHARACTERISTIC_UUID_HID_BOOT_KEY_OUTPUT  0x2A32  // !< HID Boot Keyboard Output Report
25 #define CHARACTERISTIC_UUID_HID_BOOT_MOUSE_INPUT 0x2A33  // !< HID Boot Mouse Input Report
26 #define CHARACTERISTIC_UUID_HID_INFORMATION      0x2A4A  // !< HID Information
27 #define CHARACTERISTIC_UUID_HID_REPORT_MAP       0x2A4B  // !< HID Report Map
28 #define CHARACTERISTIC_UUID_HID_CONTROL_POINT    0x2A4C  // !< HID Control Point
29 #define CHARACTERISTIC_UUID_HID_REPORT           0x2A4D  // !< HID Report
30 #define CHARACTERISTIC_UUID_HID_PROTOCOL_MODE    0x2A4E  // !< HID Protocol Mode
31 
32 /**
33  *  @brief  HID Report ID
34  */
35 #define HID_REPORT_ID_KEYBOARD_INPUT        1  // !< Keyboard input report ID
36 #define HID_REPORT_ID_CONSUME_CONTROL_INPUT 2  // !< Consumer Control input report ID
37 #define HID_REPORT_ID_MOUSE_INPUT           3  // !< Mouse input report ID
38 #define HID_REPORT_ID_GAMEPAD_INPUT         4  // !< Gamepad  input report ID
39 #define HID_REPORT_ID_LED_OUT               0  // !< LED output report ID
40 #define HID_REPORT_ID_FEATURE               0  // !< Feature report ID
41 
42 #define HID_REPORT_ID_CTRL_VOICE 9
43 
44 #define HID_REPORT_ID_AUDIO_FIRST_INPUT 10  // 250
45 #define HID_REPORT_ID_AUDIO_SECND_INPUT 11  // 251
46 #define HID_REPORT_ID_AUDIO_THIRD_INPUT 12  // 247
47 
48 /**
49  *  @brief  HID Report type
50  */
51 
52 #define HID_REPORT_TYPE_INPUT   1
53 #define HID_REPORT_TYPE_OUTPUT  2
54 #define HID_REPORT_TYPE_FEATURE 3
55 
56 /**
57  *  @brief  Definition for HID protocol mode
58  */
59 #define HID_PROTOCOL_MODE_BOOT   0
60 #define HID_PROTOCOL_MODE_REPORT 1
61 #define DFLT_HID_PROTOCOL_MODE   HID_PROTOCOL_MODE_REPORT
62 
63 /**
64  *  @brief  Definition for HID information flags
65  */
66 #define HID_FLAGS_REMOTE_WAKE          0x01  // RemoteWake
67 #define HID_FLAGS_NORMALLY_CONNECTABLE 0x02  // NormallyConnectable
68