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