• 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 #ifndef SERVICE_UUID_H_
19 #define SERVICE_UUID_H_
20 
21 /**
22  *  @brief  GATT 16 bit UUID definition
23  */
24 #define GATT_UUID_PRIMARY_SERVICE     0x2800  // !< Primary Service
25 #define GATT_UUID_SECONDARY_SERVICE   0x2801  // !< Secondary Service
26 #define GATT_UUID_INCLUDE             0x2802  // !< Include
27 #define GATT_UUID_CHARACTER           0x2803  // !< Characteristic
28 #define GATT_UUID_CHAR_EXT_PROPS      0x2900  // !< Characteristic Extended Properties
29 #define GATT_UUID_CHAR_USER_DESC      0x2901  // !< Characteristic User Description
30 #define GATT_UUID_CLIENT_CHAR_CFG     0x2902  // !< Client Characteristic Configuration
31 #define GATT_UUID_SERVER_CHAR_CFG     0x2903  // !< Server Characteristic Configuration
32 #define GATT_UUID_CHAR_PRESENT_FORMAT 0x2904  // !< Characteristic Present Format
33 #define GATT_UUID_CHAR_AGG_FORMAT     0x2905  // !< Characteristic Aggregate Format
34 #define GATT_UUID_VALID_RANGE         0x2906  // !< Valid Range
35 #define GATT_UUID_EXT_REPORT_REF      0x2907  // !< External Report Reference
36 #define GATT_UUID_REPORT_REF          0x2908  // !< Report Reference
37 
38 #define GATT_UUID_DEVICE_NAME              0x2a00  // !< Report Reference
39 #define GATT_UUID_APPEARANCE               0x2a01
40 #define GATT_UUID_PERI_CONN_PARAM          0x2a04
41 #define GATT_UUID_SERVICE_CHANGE           0x2a05
42 #define GATT_UUID_BATTERY_LEVEL            0x2A19
43 #define GATT_UUID_FIRMWARE_VER             0x2a26  // !<Firmware Version
44 #define GATT_UUID_CENTRAL_ADDR_RES         0x2AA6
45 #define GATT_UUID_RAP_ONLY                 0x2AC9
46 #define GATT_UUID_CLIENT_SUPPORTED_FEATURE 0x2b29
47 #define GATT_UUID_SERVER_SUPPORTED_FEATURE 0x2b3A
48 #define GATT_UUID_DATABASE_HASH            0x2B2A
49 
50 /**
51  *  @brief  Definition for Services UUID
52  */
53 #define SERVICE_UUID_ALERT_NOTIFICATION            0x1811
54 #define SERVICE_UUID_BATTERY                       0x180F
55 #define SERVICE_UUID_BLOOD_PRESSURE                0x1810
56 #define SERVICE_UUID_CURRENT_TIME                  0x1805
57 #define SERVICE_UUID_CYCLING_POWER                 0x1818
58 #define SERVICE_UUID_CYCLING_SPEED_AND_CADENCE     0x1816
59 #define SERVICE_UUID_DEVICE_INFORMATION            0x180A
60 #define SERVICE_UUID_GENERIC_ACCESS                0x1800
61 #define SERVICE_UUID_GENERIC_ATTRIBUTE             0x1801
62 #define SERVICE_UUID_GLUCOSE                       0x1808
63 #define SERVICE_UUID_HEALTH_THERMOMETER            0x1809
64 #define SERVICE_UUID_HEART_RATE                    0x180D
65 #define SERVICE_UUID_HUMAN_INTERFACE_DEVICE        0x1812
66 #define SERVICE_UUID_IMMEDIATE_ALERT               0x1802
67 #define SERVICE_UUID_LINK_LOSS                     0x1803
68 #define SERVICE_UUID_LOCATION_AND_NAVIGATION       0x1819
69 #define SERVICE_UUID_NEXT_DST_CHANGE               0x1807
70 #define SERVICE_UUID_PHONE_ALERT_STATUS            0x180E
71 #define SERVICE_UUID_REFERENCE_TIME_UPDATE         0x1806
72 #define SERVICE_UUID_RUNNING_SPEED_AND_CADENCE     0x1814
73 #define SERVICE_UUID_SCAN_PARAMETER                0x1813
74 #define SERVICE_UUID_TX_POWER                      0x1804
75 #define SERVICE_UUID_USER_DATA                     0x181C
76 #define SERVICE_UUID_CONTINUOUS_GLUCOSE_MONITORING 0x181F
77 #define SERVICE_UUID_WEIGHT_SCALE                  0x181D
78 
79 ////////////////////////////////////
80 // Telink Service
81 ////////////////////////////////////
82 #define WRAPPING_BRACES(__DATAS__)                                                                                    \
83     {                                                                                                                 \
84         __DATAS__                                                                                                     \
85     }
86 #define TELINK_SPP_UUID_SERVICE                                                                                       \
87     0x10, 0x19, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01,                         \
88         0x00  // !< TELINK_SPP service
89 #define TELINK_AUDIO_UUID_SERVICE                                                                                     \
90     0x11, 0x19, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01,                         \
91         0x00  // !< TELINK_SPP service
92 #define TELINK_OTA_UUID_SERVICE                                                                                       \
93     0x12, 0x19, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01,                         \
94         0x00  // !< TELINK_OTA service
95 #define TELINK_MESH_UUID_SERVICE                                                                                      \
96     0x20, 0x19, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01,                         \
97         0x00  // !< TELINK_SPP service
98 #define TELINK_MESH_LT_UUID_SERVICE                                                                                   \
99     0x21, 0x19, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01,                         \
100         0x00  // !< TELINK_SPP service
101 
102 #define TELINK_SPP_DATA_SERVER2CLIENT                                                                                 \
103     0x10, 0x2B, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01,                         \
104         0x00  // !< TELINK_SPP data from server to client
105 #define TELINK_SPP_DATA_CLIENT2SERVER                                                                                 \
106     0x11, 0x2B, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01,                         \
107         0x00  // !< TELINK_SPP data from client to server
108 #define TELINK_SPP_DATA_OTA                                                                                           \
109     0x12, 0x2B, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01,                         \
110         0x00  // !< TELINK_SPP data for ota
111 #define TELINK_SPP_DATA_PAIR                                                                                          \
112     0x13, 0x2B, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01,                         \
113         0x00  // !< TELINK_SPP data for ota
114 #define TELINK_SPP_DATA_DEFINE                                                                                        \
115     0x14, 0x2B, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01,                         \
116         0x00  // !< TELINK_SPP data for userdefine data
117 
118 #define TELINK_MIC_DATA                                                                                               \
119     0x18, 0x2B, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01,                         \
120         0x00  // !< TELINK_SPP data from server to client
121 #define TELINK_SPEAKER_DATA                                                                                           \
122     0x19, 0x2B, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01,                         \
123         0x00  // !< TELINK_SPP data from client to server
124 
125 #define AUDIO_GOOGLE_SERVICE_UUID                                                                                     \
126     0x64, 0xB6, 0x17, 0xF6, 0x01, 0xAF, 0x7D, 0xBC, 0x05, 0x4F, 0x21, 0x5A, 0x01, 0x00, 0x5E, 0xAB
127 #define AUDIO_GOOGL_TX_CHAR_UUID                                                                                      \
128     0x64, 0xB6, 0x17, 0xF6, 0x01, 0xAF, 0x7D, 0xBC, 0x05, 0x4F, 0x21, 0x5A, 0x02, 0x00, 0x5E, 0xAB
129 #define AUDIO_GOOGL_RX_CHAR_UUID                                                                                      \
130     0x64, 0xB6, 0x17, 0xF6, 0x01, 0xAF, 0x7D, 0xBC, 0x05, 0x4F, 0x21, 0x5A, 0x03, 0x00, 0x5E, 0xAB
131 #define AUDIO_GOOGL_CTL_CHAR_UUID                                                                                     \
132     0x64, 0xB6, 0x17, 0xF6, 0x01, 0xAF, 0x7D, 0xBC, 0x05, 0x4F, 0x21, 0x5A, 0x04, 0x00, 0x5E, 0xAB
133 
134 #define CHARACTERISTIC_UUID_BATTERY_LEVEL 0x2A19
135 #define CHARACTERISTIC_UUID_ALERT_LEVEL   0x2A06
136 
137 #endif /* SERVICE_UUID_H_ */
138