1 /**
2   ******************************************************************************
3   * @file    uuid.h
4   * @author  GPM WBL Application Team
5   * @brief   Header containing the UUIDs of all the services and characteristics
6   ******************************************************************************
7   * @attention
8   *
9   * Copyright (c) 2024 STMicroelectronics.
10   * All rights reserved.
11   *
12   * This software is licensed under terms that can be found in the LICENSE file
13   * in the root directory of this software component.
14   * If no LICENSE file comes with this software, it is provided AS-IS.
15   *
16   ******************************************************************************
17   */
18 
19 #ifndef _UUID_H_
20 #define _UUID_H_
21 
22 /* Descriptor UUIDs */
23 #define CHAR_EXTENDED_PROPERTIES_DESCRIPTOR_UUID                       (0x2900)
24 #define CHAR_USER_DESCRIPTION_DESCRIPTOR_UUID                          (0x2901)
25 #define CLIENT_CHAR_CONFIG_DESCRIPTOR_UUID                             (0x2902)
26 #define SERVER_CHAR_CONFIG_DESCRIPTOR_UUID                             (0x2903)
27 #define CHAR_PRESENTATION_FORMAT_DESCRIPTOR_UUID                       (0x2904)
28 #define CHAR_AGGREGATE_FORMAT_DESCRIPTOR_UUID                          (0x2905)
29 #define VALID_RANGE_DESCRIPTOR_UUID                                    (0x2906)
30 #define EXTERNAL_REPORT_REFERENCE_DESCRIPTOR_UUID                      (0x2907)
31 #define REPORT_REFERENCE_DESCRIPTOR_UUID                               (0x2908)
32 #define NUMBER_OF_DIGITALS_DESCRIPTOR_UUID                             (0x2909)
33 #define VALUE_TRIGGER_SETTING_DESCRIPTOR_UUID                          (0x290A)
34 #define ES_CONFIGURATION_DESCRIPTOR_UUID                               (0x290B)
35 #define ES_MEASUREMENT_DESCRIPTOR_UUID                                 (0x290C)
36 #define ES_TRIGGER_SETTING_DESCRIPTOR_UUID                             (0x290D)
37 #define TIME_TRIGGER_SETTING_DESCRIPTOR_UUID                           (0x290E)
38 
39 /* UUIDs of Generic Attribute service */
40 #define GATT_SERVICE_UUID                                              (0x1801U)
41 #define PRIMARY_SERVICE_UUID                                           (0x2800U)
42 #define SECONDARY_SERVICE_UUID                                         (0x2801U)
43 #define INCLUDE_SERVICE_UUID                                           (0x2802U)
44 #define CHARACTERISTIC_UUID                                            (0x2803U)
45 #define CHAR_EXTENDED_PROP_DESC_UUID                                   (0x2900U)
46 #define CHAR_USER_DESC_UUID                                            (0x2901U)
47 #define CHAR_CLIENT_CONFIG_DESC_UUID                                   (0x2902U)
48 #define CHAR_SERVER_CONFIG_DESC_UUID                                   (0x2903U)
49 #define CHAR_FORMAT_DESC_UUID                                          (0x2904U)
50 #define CHAR_AGGR_FMT_DESC_UUID                                        (0x2905U)
51 #define SERVICE_CHANGED_UUID                                           (0x2A05U)
52 #define CLIENT_SUPPORTED_FEATURES_UUID                                 (0x2B29U)
53 #define DATABASE_HASH_UUID                                             (0x2B2AU)
54 #define SERVER_SUPPORTED_FEATURES_UUID                                 (0x2B3AU)
55 
56 /* UUIDs of Generic Access Profile */
57 #define GAP_SERVICE_UUID                                               (0x1800U)
58 #define DEVICE_NAME_UUID                                               (0x2A00U)
59 #define APPEARANCE_UUID                                                (0x2A01U)
60 #define PERIPHERAL_PRIVACY_FLAG_UUID                                   (0x2A02U)
61 #define RECONNECTION_ADDR_UUID                                         (0x2A03U)
62 #define PERIPHERAL_PREFERRED_CONN_PARAMS_UUID                          (0x2A04U)
63 #define CENTRAL_ADDRESS_RESOLUTION_UUID                                (0x2AA6U)
64 #define RESOLVABLE_PRIVATE_ADDRESS_ONLY_UUID                           (0x2AC9U)
65 
66 /* UUIDs of immediate alert service */
67 #define IMMEDIATE_ALERT_SERVICE_UUID                                   (0x1802)
68 #define ALERT_LEVEL_CHARACTERISTIC_UUID                                (0x2A06)
69 
70 /* UUIDs for Link Loss service */
71 #define LINK_LOSS_SERVICE_UUID                                         (0x1803)
72 #define LINK_LOSS_ALERT_LEVEL_CHARACTERISTIC_UUID                      (0x2A06)
73 
74 /* UUIDs for TX Power service */
75 #define TX_POWER_SERVICE_UUID                                          (0x1804)
76 #define TX_POWER_LEVEL_CHARACTERISTIC_UUID                             (0x2A07)
77 
78 /* UUIDs for Time service */
79 #define CURRENT_TIME_SERVICE_UUID                                      (0x1805)
80 #define CURRENT_TIME_CHAR_UUID                                         (0x2A2B)
81 #define LOCAL_TIME_INFORMATION_CHAR_UUID                               (0x2A0F)
82 #define REFERENCE_TIME_INFORMATION_CHAR_UUID                           (0x2A14)
83 
84 /* UUIDs for Reference Time Update service */
85 #define REFERENCE_UPDATE_TIME_SERVICE_UUID                             (0x1806)
86 #define TIME_UPDATE_CONTROL_POINT_CHAR_UUID                            (0x2A16)
87 #define TIME_UPDATE_STATE_CHAR_UUID                                    (0x2A17)
88 
89 /* UUIDs for Next DST Change service */
90 #define NEXT_DST_CHANGE_SERVICE_UUID                                   (0x1807)
91 #define TIME_WITH_DST_CHAR_UUID                                        (0x2A11)
92 
93 /* UUIDs for glucose profile */
94 #define GLUCOSE_SERVICE_UUID                                           (0x1808)
95 #define GLUCOSE_MEASUREMENT_CHAR_UUID                                  (0x2A18)
96 #define GLUCOSE_MEASUREMENT_CONTEXT_CHAR_UUID                          (0x2A34)
97 #define GLUCOSE_FEATURE_CHAR_UUID                                      (0x2A51)
98 /* Record Access Control Point (RACP) */
99 #define GLUCOSE_RACP_CHAR_UUID                                         (0x2A52)
100 
101 /* UUIDs for health thermometer profile */
102 #define HEALTH_THERMOMETER_SERVICE_UUID                                (0x1809)
103 #define TEMPERATURE_MEASUREMENT_CHAR_UUID                              (0x2A1C)
104 #define TEMPERATURE_TYPE_CHAR_UUID                                     (0x2A1D)
105 #define INTERMEDIATE_TEMPERATURE_CHAR_UUID                             (0x2A1E)
106 #define MEASUREMENT_INTERVAL_CHAR_UUID                                 (0x2A21)
107 
108 /* UUIDs for Device Information Service */
109 #define DEVICE_INFORMATION_SERVICE_UUID                                (0x180A)
110 #define SYSTEM_ID_UUID                                                 (0x2A23)
111 #define MODEL_NUMBER_UUID                                              (0x2A24)
112 #define SERIAL_NUMBER_UUID                                             (0x2A25)
113 #define FIRMWARE_REVISION_UUID                                         (0x2A26)
114 #define HARDWARE_REVISION_UUID                                         (0x2A27)
115 #define SOFTWARE_REVISION_UUID                                         (0x2A28)
116 #define MANUFACTURER_NAME_UUID                                         (0x2A29)
117 #define IEEE_CERTIFICATION_UUID                                        (0x2A2A)
118 #define PNP_ID_UUID                                                    (0x2A50)
119 
120 /* UUIDs for Heart Rate Service */
121 #define HEART_RATE_SERVICE_UUID                                        (0x180D)
122 #define CLIENT_CHARACTERISTIC_CONFIG_DESCRIPTOR_UUID                   (0x2902)
123 #define HEART_RATE_MEASURMENT_UUID                                     (0x2A37)
124 #define SENSOR_LOCATION_UUID                                           (0x2A38)
125 #define CONTROL_POINT_UUID                                             (0x2A39)
126 
127 /* UUIDs for Phone Alert status profile */
128 #define PHONE_ALERT_SERVICE_UUID                                       (0x180E)
129 #define PHONE_ALERT_STATUS_CHARAC_UUID                                 (0x2A3F)
130 #define RINGER_CNTRL_POINT_CHARAC_UUID                                 (0x2A40)
131 #define RINGER_SETTING_CHARAC_UUID                                     (0x2A41)
132 
133 /* UUIDs for battery service */
134 #define BATTERY_SERVICE_UUID                                           (0x180F)
135 #define BATTERY_LEVEL_CHAR_UUID                                        (0x2A19)
136 
137 /* UUIDs for Blood Pressure profile */
138 #define BLOOD_PRESSURE_SERVICE_UUID                                    (0x1810)
139 #define BLOOD_PRESSURE_MEASUREMENT_CHAR_UUID                           (0x2A35)
140 #define INTERMEDIATE_CUFF_PRESSURE_CHAR_UUID                           (0x2A36)
141 #define BLOOD_PRESSURE_FEATURE_CHAR_UUID                               (0x2A49)
142 
143 /* UUIDs for alert notification profile */
144 #define ALERT_NOTIFICATION_SERVICE_UUID                                (0x1811)
145 #define SUPPORTED_NEW_ALERT_CATEGORY_CHAR_UUID                         (0x2A47)
146 #define NEW_ALERT_CHAR_UUID                                            (0x2A46)
147 #define SUPPORTED_UNREAD_ALERT_CATEGORY_CHAR_UUID                      (0x2A48)
148 #define UNREAD_ALERT_STATUS_CHAR_UUID                                  (0x2A45)
149 #define ALERT_NOTIFICATION_CONTROL_POINT_CHAR_UUID                     (0x2A44)
150 
151 /* UUIDs for human interface device */
152 #define HUMAN_INTERFACE_DEVICE_SERVICE_UUID                            (0x1812)
153 #define PROTOCOL_MODE_CHAR_UUID                                        (0x2A4E)
154 #define REPORT_CHAR_UUID                                               (0x2A4D)
155 #define REPORT_MAP_CHAR_UUID                                           (0x2A4B)
156 #define BOOT_KEYBOARD_INPUT_REPORT_CHAR_UUID                           (0x2A22)
157 #define BOOT_KEYBOARD_OUTPUT_REPORT_CHAR_UUID                          (0x2A32)
158 #define BOOT_MOUSE_INPUT_REPORT_CHAR_UUID                              (0x2A33)
159 #define HID_INFORMATION_CHAR_UUID                                      (0x2A4A)
160 #define HID_CONTROL_POINT_CHAR_UUID                                    (0x2A4C)
161 
162 /* UUIDs for scan parameter service */
163 #define SCAN_PARAMETER_SERVICE_UUID                                    (0x1813)
164 #define SCAN_INTERVAL_WINDOW_CHAR_UUID                                 (0x2A4F)
165 #define SCAN_REFRESH_CHAR_UUID                                         (0x2A31)
166 
167 /* UUIDs for running speed and cadence service */
168 #define RUNNING_SPEED_CADENCE_SERVICE_UUID                             (0x1814)
169 #define RUNNING_SPEED_CADENCE_MEASUREMENT_CHAR_UUID                    (0x2A53)
170 #define RUNNING_SPEED_CADENCE_FEATURE_CHAR_UUID                        (0x2A54)
171 
172 /* UUIDs for automation IO service */
173 #define AUTOMATION_IO_SERVICE_UUID                                     (0x1815)
174 #define AUTOMATION_IO_DIGITAL_CHAR_UUID                                (0x2A56)
175 #define AUTOMATION_IO_ANALOG_CHAR_UUID                                 (0x2A58)
176 #define AUTOMATION_IO_AGGREGATE_CHAR_UUID                              (0x2A5A)
177 
178 /* UUIDs for cycling speed and cadence service */
179 #define CYCLING_SPEED_CADENCE_SERVICE_UUID                             (0x1816)
180 #define CYCLING_SPEED_CADENCE_MEASUREMENT_CHAR_UUID                    (0x2A5B)
181 #define CYCLING_SPEED_CADENCE_FEATURE_CHAR_UUID                        (0x2A5C)
182 
183 /* UUIDs for cycling power service */
184 #define CYCLING_POWER_SERVICE_UUID                                     (0x1818)
185 #define CYCLING_POWER_MEASUREMENT_CHAR_UUID                            (0x2A63)
186 #define CYCLING_POWER_FEATURE_CHAR_UUID                                (0x2A65)
187 #define CYCLING_POWER_SENSOR_LOCATION_CHAR_UUID                        (0x2A5D)
188 
189 /* UUIDs for location and navigation device */
190 #define LOCATION_NAVIGATION_SERVICE_UUID                               (0x1819)
191 #define LN_FEATURE_UUID                                                (0x2A6A)
192 #define LOCATION_SPEED_UUID                                            (0x2A67)
193 #define POSITION_QUALITY_UUID                                          (0x2A69)
194 #define LN_CONTROL_POINT_UUID                                          (0x2A6B)
195 #define NAVIGATION_UUID                                                (0x2A68)
196 
197 /* UUIDs for environmental sensing profile */
198 #define ENVIRONMENTAL_SENSING_SERVICE_UUID                             (0x181A)
199 #define DESCRIPTOR_VALUE_CHANGED_UUID                                  (0x2A7D)
200 #define APPARENT_WIND_DIRECTION_UUID                                   (0x2A73)
201 #define APPARENT_WIND_SPEED_UUID                                       (0x2A72)
202 #define DEW_POINT_UUID                                                 (0x2A7B)
203 #define ELEVATION_UUID                                                 (0x2A6C)
204 #define GUST_FACTOR_UUID                                               (0x2A74)
205 #define HEAT_INDEX_UUID                                                (0x2A7A)
206 #define HUMIDITY_UUID                                                  (0x2A6F)
207 #define IRRADIANCE_UUID                                                (0x2A77)
208 #define POLLEN_CONCENTRATION_UUID                                      (0x2A75)
209 #define RAINFALL_UUID                                                  (0x2A78)
210 #define PRESSURE_UUID                                                  (0x2A6D)
211 #define TEMPERATURE_UUID                                               (0x2A6E)
212 #define TRUE_WIND_DIRECTION_UUID                                       (0x2A71)
213 #define TRUE_WIND_SPEED_UUID                                           (0x2A70)
214 #define UV_INDEX_UUID                                                  (0x2A76)
215 #define WIND_CHILL_UUID                                                (0x2A79)
216 #define BAROMETRIC_PRESSURE_TREND_UUID                                 (0x2AA3)
217 #define MAGNETIC_DECLINATION_UUID                                      (0x2A2C)
218 #define MAGNETIC_FLUX_DENSITY_2D_UUID                                  (0x2AA0)
219 #define MAGNETIC_FLUX_DENSITY_3D_UUID                                  (0x2AA1)
220 
221 /* UUIDs for body composition service */
222 #define BODY_COMPOSITION_SERVICE_UUID                                  (0x181B)
223 #define BODY_COMPOSITION_MEASUREMENT_CHAR_UUID                         (0x2A9C)
224 #define BODY_COMPOSITION_FEATURE_CHARAC                                (0x2A9B)
225 
226 /* UUIDs for user data service */
227 #define USER_DATA_SERVICE_UUID                                         (0x181C)
228 #define AERO_HR_LOWER_LIMIT_CHAR_UUID                                  (0x2A7E)
229 #define AEROBIC_THRESHOLD_CHAR_UUID                                    (0x2A7F)
230 #define AGE_CHAR_UUID                                                  (0x2A80)
231 #define ANAERO_HR_LOWER_LIMIT_CHAR_UUID                                (0x2A81)
232 #define ANAERO_HR_UPPER_LIMIT_CHAR_UUID                                (0x2A82)
233 #define ANAEROBIC_THRESHOLD_CHAR_UUID                                  (0x2A83)
234 #define AERO_HR_UPPER_LIMIT_CHAR_UUID                                  (0x2A84)
235 #define BIRTH_DATE_CHAR_UUID                                           (0x2A85)
236 #define DATE_THRESHOLD_ASSESSMENT_CHAR_UUID                            (0x2A86)
237 #define EMAIL_ADDRESS_CHAR_UUID                                        (0x2A87)
238 #define FAT_BURN_HR_LOWER_LIMIT_CHAR_UUID                              (0x2A88)
239 #define FAT_BURN_HR_UPPER_LIMIT_CHAR_UUID                              (0x2A89)
240 #define FIRST_NAME_CHAR_UUID                                           (0x2A8A)
241 #define FIVE_ZONE_HR_LIMIT_CHAR_UUID                                   (0x2A8B)
242 #define GENDER_CHAR_UUID                                               (0x2A8C)
243 #define HEART_RATE_MAX_CHAR_UUID                                       (0x2A8D)
244 #define HEIGHT_CHAR_UUID                                               (0x2A8E)
245 #define HIP_CIRC_CHAR_UUID                                             (0x2A8F)
246 #define LAST_NAME_CHAR_UUID                                            (0x2A90)
247 #define MAX_RECO_HEART_RATE_CHAR_UUID                                  (0x2A91)
248 #define RESTING_HEART_RATE_CHAR_UUID                                   (0x2A92)
249 #define SPORT_TYPE_CHAR_UUID                                           (0x2A93)
250 #define THREE_ZONE_HR_LIMIT_CHAR_UUID                                  (0x2A94)
251 #define TWO_ZONE_HR_LIMIT_CHAR_UUID                                    (0x2A95)
252 #define VO2_MAX_CHAR_UUID                                              (0x2A96)
253 #define WAIST_CIRC_CHAR_UUID                                           (0x2A97)
254 #define WEIGHT_CHAR_UUID                                               (0x2A98)
255 #define DATABASE_CHANGE_INCREMENT_CHAR_UUID                            (0x2A99)
256 #define USER_INDEX_CHAR_UUID                                           (0x2A9A)
257 #define USER_CONTROL_POINT_CHAR_UUID                                   (0x2A9F)
258 #define LANGUAGE_CHAR_UUID                                             (0x2AA2)
259 
260 /* UUIDs for weight scale profile */
261 #define WEIGHT_SCALE_SERVICE_UUID                                      (0x181D)
262 #define WEIGHT_SCALE_MEASUREMENT_CHAR_UUID                             (0x2A9D)
263 #define WEIGHT_SCALE_FEATURE_CHAR_UUID                                 (0x2A9E)
264 
265 /* UUIDs for weight scale profile */
266 #define BOND_MANAGEMENT_SERVICE_UUID                                   (0x181E)
267 #define BM_CONTROL_POINT_CHAR_UUID                                     (0x2AA4)
268 #define BM_FEATURE_CHAR_UUID                                           (0x2AA5)
269 
270 /* UUIDs for Internet Support Service */
271 #define INTERNET_SUPPORT_SERVICE_UUID                                  (0x1820)
272 
273 /* UUIDs for Indoor Positioning Service */
274 #define INDOOR_POSITIONING_SERVICE_UUID                                (0x1821)
275 #define IP_CONFIGURATION_CHAR_UUID                                     (0x2AAD)
276 #define IP_LATITUDE_CHAR_UUID                                          (0x2AAE)
277 #define IP_LONGITUDE_CHAR_UUID                                         (0x2AAF)
278 
279 /* UUIDs for HTTP proxy Service */
280 #define HTTP_PROXY_SERVICE_UUID                                        (0x1823)
281 #define HTTP_URI_CHAR_UUID                                             (0x2AB6)
282 #define HTTP_HEADERS_CHAR_UUID                                         (0x2AB7)
283 #define HTTP_STATUS_CODE_CHAR_UUID                                     (0x2AB8)
284 #define HTTP_ENTITY_BODY_CHAR_UUID                                     (0x2AB9)
285 #define HTTP_CONTROL_POINT_CHAR_UUID                                   (0x2ABA)
286 #define HTTP_SECURITY_CHAR_UUID                                        (0x2ABB)
287 
288 /* UUIDs for Object Transfer Service */
289 #define OBJECT_TRANSFER_SERVICE_UUID                                   (0x1825)
290 #define OTS_FEATURE_CHAR_UUID                                          (0x2ABD)
291 #define OBJECT_NAME_CHAR_UUID                                          (0x2ABE)
292 #define OBJECT_TYPE_CHAR_UUID                                          (0x2ABF)
293 #define OBJECT_SIZE_CHAR_UUID                                          (0x2AC0)
294 #define OBJECT_PROPERTIES_CHAR_UUID                                    (0x2AC4)
295 #define OBJECT_ACTION_CONTROL_POINT_CHAR_UUID                          (0x2AC5)
296 #define OBJECT_LIST_CONTROL_POINT_CHAR_UUID                            (0x2AC6)
297 
298 /* Custom Services*/
299 /* UUIDs for data transfer service */
300 #define DATA_TRANSFER_SERVICE_UUID                                     (0xFE80)
301 #define DATA_TRANSFER_TX_CHAR_UUID                                     (0xFE81)
302 #define DATA_TRANSFER_RX_CHAR_UUID                                     (0xFE82)
303 
304 /* UUIDs for custom battery service */
305 #define CUSTOM_BATTERY_SERVICE_UUID                                    (0xF2F0)
306 #define CUSTOM_BATTERY_LEVEL_CHAR_UUID                                 (0xF2F1)
307 
308 /* Custom Services*/
309 /* UUIDs for data transfer service */
310 #define LED_BUTTON_SERVICE_UUID                                       (0x1A30)
311 #define LED_CHAR_UUID                                                 (0x2B50)
312 #define BUTTON_CHAR_UUID                                              (0x2B51)
313 /*UUIDs for End Device Management Service*/
314 #define END_DEVICE_MGT_SERVICE_UUID                                   (0x1A40)
315 #define END_DEVICE_STATUS_CHAR_UUID                                   (0x2B60)
316 
317 #define P2P_SERVICE_UUID                                              (0xFE40)
318 #define P2P_WRITE_CHAR_UUID                                           (0xFE41)
319 #define P2P_NOTIFY_CHAR_UUID                                          (0xFE42)
320 
321 #define HOME_SERVICE_UUID                                              (0xFE90)
322 #define HOME_WRITE_CHAR_UUID                                           (0xFE91)
323 #define HOME_NOTIFY_CHAR_UUID                                          (0xFE92)
324 
325 #define CAM_SERVICE_UUID                                              (0xFEA0)
326 #define CAM_WRITE_CHAR_UUID                                           (0xFEA1)
327 #define CAM_NOTIFY_CHAR_UUID                                          (0xFEA2)
328 
329 /* UUIDs for Cable Replacement Service */
330 #define CRS_SERVICE_UUID                                              (0xFE60)
331 #define CRS_TX_CHAR_UUID                                              (0xFE61)
332 #define CRS_RX_CHAR_UUID                                              (0xFE62)
333 
334 /* UUIDs for Apple Notification Center Service */
335 #define ANCS_SERVICE_UUID                                             (0xF431)
336 #define ANCS_NOTIFICATION_SOURCE_CHAR_UUID                            (0x120D)
337 #define ANCS_CONTROL_POINT_CHAR_UUID                                  (0xD8F3)
338 #define ANCS_DATA_SOURCE_CHAR_UUID                                    (0xC6E9)
339 
340 /* UUIDs for Apple Media Service start from iOS 8*/
341 #define AMS_SERVICE_UUID                                              (0x502B)
342 #define AMS_REMOTE_COMMAND_CHAR_UUID                                  (0x81D8)
343 #define AMS_ENTITY_UPDATE_CHAR_UUID                                   (0xABCE)
344 #define AMS_ENTITY_ATTRIBUTE_CHAR_UUID                                (0xF38C)
345 #endif  /* _UUID_H_ */
346