1 /** 2 **************************************************************************************** 3 * 4 * @file ble_att.h 5 * 6 * @brief Attribute Protocol 7 * 8 **************************************************************************************** 9 * @attention 10 #####Copyright (c) 2019 GOODIX 11 All rights reserved. 12 13 Redistribution and use in source and binary forms, with or without 14 modification, are permitted provided that the following conditions are met: 15 * Redistributions of source code must retain the above copyright 16 notice, this list of conditions and the following disclaimer. 17 * Redistributions in binary form must reproduce the above copyright 18 notice, this list of conditions and the following disclaimer in the 19 documentation and/or other materials provided with the distribution. 20 * Neither the name of GOODIX nor the names of its contributors may be used 21 to endorse or promote products derived from this software without 22 specific prior written permission. 23 24 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 25 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 26 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 27 ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE 28 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 29 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 30 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 31 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 32 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 33 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 34 POSSIBILITY OF SUCH DAMAGE. 35 ***************************************************************************************** 36 */ 37 38 /** 39 * @addtogroup BLE 40 * @{ 41 */ 42 43 /** 44 * @addtogroup BLE_ATT Attribute Protocol (ATT) 45 * @{ 46 * @brief Definitions and prototypes for ATT. 47 */ 48 49 50 #ifndef __BLE_ATT_H__ 51 #define __BLE_ATT_H__ 52 53 /** @addtogroup BLE_ATT_DEFINES Defines 54 * @{ */ 55 #define BLE_ATT_UUID_16(uuid) (uuid) /**< Convert CPU’s integer definition to 56 LSB-first 16-bit UUID. */ 57 #define BLE_ATT_MTU_DEFAULT (23) /**< Default ATT MTU size in bytes. */ 58 #define BLE_ATT_INVALID_HDL (0x0000) /**< Invalid attribute handle. */ 59 #define BLE_ATT_HANDLE_START (0x0001) /**< Attribute handle start. */ 60 #define BLE_ATT_HANDLE_END (0xFFFF) /**< Attribute handle end. */ 61 62 /** @defgroup BLE_ATT_UUID_LEN Attribute UUID Length(bytes) 63 * @{ */ 64 #define BLE_ATT_UUID_16_LEN 0x0002 /**< UUID length: 2 bytes. */ 65 #define BLE_ATT_UUID_32_LEN 0x0004 /**< UUID length: 4 bytes. */ 66 #define BLE_ATT_UUID_128_LEN 0x0010 /**< UUID length: 16 bytes. */ 67 /** @} */ 68 69 /** @defgroup BLE_ATT_CHAR_PROPERTIES Characteristic Properties 70 * @{ */ 71 #define BLE_ATT_CHAR_PROP_BCAST 0x01 /**< Characteristic Property: Broadcast. */ 72 #define BLE_ATT_CHAR_PROP_RD 0x02 /**< Characteristic Property: Read. */ 73 #define BLE_ATT_CHAR_PROP_WR_NO_RESP 0x04 /**< Characteristic Property: Write Without Response. */ 74 #define BLE_ATT_CHAR_PROP_WR 0x08 /**< Characteristic Property: Write. */ 75 #define BLE_ATT_CHAR_PROP_NTF 0x10 /**< Characteristic Property: Notify. */ 76 #define BLE_ATT_CHAR_PROP_IND 0x20 /**< Characteristic Property: Indicate. */ 77 #define BLE_ATT_CHAR_PROP_AUTH 0x40 /**< Characteristic Property: Authenticated Signed Writes. */ 78 #define BLE_ATT_CHAR_PROP_EXT_PROP 0x80 /**< Characteristic Property: Extended Properties. */ 79 /** @} */ 80 81 /** @defgroup BLE_ATT_CHAR_EXTENDED_PROPERTIES Characteristic Extended Properties 82 * @{ */ 83 #define BLE_ATT_EXT_RELIABLE_WRITE 0x0001 /**< Characteristic Extended Property: Reliable Write. */ 84 #define BLE_ATT_EXT_WRITABLE_AUX 0x0002 /**< Characteristic Extended Property: Writable Auxiliaries. */ 85 #define BLE_ATT_EXT_RFU 0xFFFC /**< Characteristic Extended Property: 86 Reserved for Future Use. */ 87 /** @} */ 88 89 /** @brief Characteristic Base UUID. */ 90 #define BLE_ATT_BT_UUID_128 {0xFB, 0x34, 0x9B, 0x5F, 0x80, 0x00, 0x00, 0x80, \ 91 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 92 93 /** @brief Change a 16-bit UUID array to a 128-bit one (append 0). 94 * @param uuid: 16-bit UUID 95 * @retval None 96 */ 97 #define BLE_ATT_16_TO_128_ARRAY(uuid) {(uuid) & 0xFF, ((uuid) >> 8) & 0xFF, 0x00, 0x00, 0x00, \ 98 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } 99 100 /** @brief Change a 16-bit UUID array to a 16-bit one (append 0). 101 * @param uuid: 16-bit UUID 102 * @retval None 103 */ 104 #define BLE_ATT_16_TO_16_ARRAY(uuid) {(uuid) & 0xFF, ((uuid) >> 8) & 0xFF} 105 /** @} */ 106 107 108 /** @addtogroup BLE_ATT_ENUMERATIONS Enumerations 109 * @{ */ 110 111 /** @brief Attribute Specification Definitions: Common 16-bit (Universal Unique Identifier). */ 112 typedef enum { 113 BLE_ATT_INVALID_UUID = BLE_ATT_UUID_16(0x0000), 114 /**< Invalid UUID. */ 115 /*----------------- SERVICES ---------------------*/ 116 BLE_ATT_SVC_GENERIC_ACCESS = BLE_ATT_UUID_16(0x1800), 117 /**< Generic Access Profile. */ 118 BLE_ATT_SVC_GENERIC_ATTRIBUTE = BLE_ATT_UUID_16(0x1801), 119 /**< Attribute Profile. */ 120 BLE_ATT_SVC_IMMEDIATE_ALERT = BLE_ATT_UUID_16(0x1802), 121 /**< Immediate Alert Service. */ 122 BLE_ATT_SVC_LINK_LOSS = BLE_ATT_UUID_16(0x1803), 123 /**< Link Loss Service. */ 124 BLE_ATT_SVC_TX_POWER = BLE_ATT_UUID_16(0x1804), 125 /**< TX Power Service. */ 126 BLE_ATT_SVC_CURRENT_TIME = BLE_ATT_UUID_16(0x1805), 127 /**< Current Time Service. */ 128 BLE_ATT_SVC_REF_TIME_UPDATE = BLE_ATT_UUID_16(0x1806), 129 /**< Reference Time Update Service. */ 130 BLE_ATT_SVC_NEXT_DST_CHANGE = BLE_ATT_UUID_16(0x1807), 131 /**< Next DST Change Service. */ 132 BLE_ATT_SVC_GLUCOSE = BLE_ATT_UUID_16(0x1808), 133 /**< Glucose Service. */ 134 BLE_ATT_SVC_HEALTH_THERMOM = BLE_ATT_UUID_16(0x1809), 135 /**< Health Thermometer Service. */ 136 BLE_ATT_SVC_DEVICE_INFO = BLE_ATT_UUID_16(0x180A), 137 /**< Device Information Service. */ 138 BLE_ATT_SVC_HEART_RATE = BLE_ATT_UUID_16(0x180D), 139 /**< Heart Rate Service. */ 140 BLE_ATT_SVC_PHONE_ALERT_STATUS = BLE_ATT_UUID_16(0x180E), 141 /**< Phone Alert Status Service. */ 142 BLE_ATT_SVC_BATTERY_SERVICE = BLE_ATT_UUID_16(0x180F), 143 /**< Battery Service. */ 144 BLE_ATT_SVC_BLOOD_PRESSURE = BLE_ATT_UUID_16(0x1810), 145 /**< Blood Pressure Service. */ 146 BLE_ATT_SVC_ALERT_NTF = BLE_ATT_UUID_16(0x1811), 147 /**< Alert Notification Service. */ 148 BLE_ATT_SVC_HID = BLE_ATT_UUID_16(0x1812), 149 /**< HID Service. */ 150 BLE_ATT_SVC_SCAN_PARAMETERS = BLE_ATT_UUID_16(0x1813), 151 /**< Scan Parameters Service. */ 152 BLE_ATT_SVC_RUNNING_SPEED_CADENCE = BLE_ATT_UUID_16(0x1814), 153 /**< Running Speed and Cadence Service. */ 154 BLE_ATT_SVC_CYCLING_SPEED_CADENCE = BLE_ATT_UUID_16(0x1816), 155 /**< Cycling Speed and Cadence Service. */ 156 BLE_ATT_SVC_CYCLING_POWER = BLE_ATT_UUID_16(0x1818), 157 /**< Cycling Power Service. */ 158 BLE_ATT_SVC_LOCATION_AND_NAVIGATION = BLE_ATT_UUID_16(0x1819), 159 /**< Location and Navigation Service. */ 160 BLE_ATT_SVC_ENVIRONMENTAL_SENSING = BLE_ATT_UUID_16(0x181A), 161 /**< Environmental Sensing Service. */ 162 BLE_ATT_SVC_BODY_COMPOSITION = BLE_ATT_UUID_16(0x181B), 163 /**< Body Composition Service. */ 164 BLE_ATT_SVC_USER_DATA = BLE_ATT_UUID_16(0x181C), 165 /**< User Data Service. */ 166 BLE_ATT_SVC_WEIGHT_SCALE = BLE_ATT_UUID_16(0x181D), 167 /**< Weight Scale Service. */ 168 BLE_ATT_SVC_BOND_MANAGEMENT = BLE_ATT_UUID_16(0x181E), 169 /**< Bond Management Service. */ 170 BLE_ATT_SVC_CONTINUOUS_GLUCOSE_MONITORING = BLE_ATT_UUID_16(0x181F), 171 /**< Continuous Glucose Monitoring Service. */ 172 BLE_ATT_SVC_IP_SUPPORT = BLE_ATT_UUID_16(0x1820), 173 /**< Internet Protocol Support Service. */ 174 BLE_ATT_SVC_INDOOR_POSITIONING = BLE_ATT_UUID_16(0x1821), 175 /**< Indoor Positioning Service. */ 176 BLE_ATT_SVC_PULSE_OXIMETER = BLE_ATT_UUID_16(0x1822), 177 /**< Pulse Oximeter Service. */ 178 BLE_ATT_SVC_HTTP_PROXY = BLE_ATT_UUID_16(0x1823), 179 /**< HTTP Proxy Service. */ 180 BLE_ATT_SVC_TRANSPORT_DISCOVERY = BLE_ATT_UUID_16(0x1824), 181 /**< Transport Discovery Service. */ 182 BLE_ATT_SVC_OBJECT_TRANSFER = BLE_ATT_UUID_16(0x1825), 183 /**< Object Transfer Service. */ 184 185 /*------------------- UNITS ---------------------*/ 186 BLE_ATT_UNIT_UNITLESS = BLE_ATT_UUID_16(0x2700), 187 /**< No defined unit. */ 188 BLE_ATT_UNIT_METRE = BLE_ATT_UUID_16(0x2701), 189 /**< Length unit: meter. */ 190 BLE_ATT_UNIT_KG = BLE_ATT_UUID_16(0x2702), 191 /**< Mass unit: kilogram. */ 192 BLE_ATT_UNIT_SECOND = BLE_ATT_UUID_16(0x2703), 193 /**< Time unit: second. */ 194 BLE_ATT_UNIT_AMPERE = BLE_ATT_UUID_16(0x2704), 195 /**< Electric current unit: ampere. */ 196 BLE_ATT_UNIT_KELVIN = BLE_ATT_UUID_16(0x2705), 197 /**< Thermodynamic Temperature unit: kelvin. */ 198 BLE_ATT_UNIT_MOLE = BLE_ATT_UUID_16(0x2706), 199 /**< Amount of substance unit: mole. */ 200 BLE_ATT_UNIT_CANDELA = BLE_ATT_UUID_16(0x2707), 201 /**< Luminous intensity unit: candela. */ 202 BLE_ATT_UNIT_SQ_METRE = BLE_ATT_UUID_16(0x2710), 203 /**< Area unit: square meter. */ 204 BLE_ATT_UNIT_CUBIC_METRE = BLE_ATT_UUID_16(0x2710), 205 /**< Column unit: cubic meter. */ 206 BLE_ATT_UNIT_METRE_PER_SECOND = BLE_ATT_UUID_16(0x2711), 207 /**< Velocity unit: meter per second. */ 208 BLE_ATT_UNIT_METRES_PER_SEC_SQ = BLE_ATT_UUID_16(0x2712), 209 /**< Acceleration unit: meter per second squared. */ 210 BLE_ATT_UNIT_RECIPROCAL_METRE = BLE_ATT_UUID_16(0x2713), 211 /**< Wavenumber unit: reciprocal meter. */ 212 BLE_ATT_UNIT_DENS_KG_PER_CUBIC_METRE = BLE_ATT_UUID_16(0x2714), 213 /**< Density unit: kilogram per cubic meter. */ 214 BLE_ATT_UNIT_KG_PER_SQ_METRE = BLE_ATT_UUID_16(0x2715), 215 /**< Surface density unit: (kg/m^2)kilogram per square meter. */ 216 BLE_ATT_UNIT_CUBIC_METRE_PER_KG = BLE_ATT_UUID_16(0x2716), 217 /**< Specific volume unit: cubic meter per kilogram. */ 218 BLE_ATT_UNIT_AMPERE_PER_SQ_METRE = BLE_ATT_UUID_16(0x2717), 219 /**< Current density unit: ampere per square meter. */ 220 BLE_ATT_UNIT_AMPERE_PER_METRE = BLE_ATT_UUID_16(0x2718), 221 /**< Magnetic field strength unit: ampere per meter. */ 222 BLE_ATT_UNIT_MOLE_PER_CUBIC_METRE = BLE_ATT_UUID_16(0x2719), 223 /**< Amount concentration unit: mole per cubic meter. */ 224 BLE_ATT_UNIT_MASS_KG_PER_CUBIC_METRE = BLE_ATT_UUID_16(0x271A), 225 /**< Mass Concentration unit: kilogram per cubic meter. */ 226 BLE_ATT_UNIT_CANDELA_PER_SQ_METRE = BLE_ATT_UUID_16(0x271B), 227 /**< Luminance unit: candela per square meter. */ 228 BLE_ATT_UNIT_REFRACTIVE_INDEX = BLE_ATT_UUID_16(0x271C), 229 /**< Refractive index unit. */ 230 BLE_ATT_UNIT_RELATIVE_PERMEABILITY = BLE_ATT_UUID_16(0x271D), 231 /**< Relative permeability unit. */ 232 BLE_ATT_UNIT_RADIAN = BLE_ATT_UUID_16(0x2720), 233 /**< Plane angle unit: radian. */ 234 BLE_ATT_UNIT_STERADIAN = BLE_ATT_UUID_16(0x2721), 235 /**< Solid angle unit: steradian. */ 236 BLE_ATT_UNIT_HERTZ = BLE_ATT_UUID_16(0x2722), 237 /**< Frequency unit: hertz. */ 238 BLE_ATT_UNIT_NEWTON = BLE_ATT_UUID_16(0x2723), 239 /**< Force unit: newton. */ 240 BLE_ATT_UNIT_PASCAL = BLE_ATT_UUID_16(0x2724), 241 /**< Pressure unit: pascal. */ 242 BLE_ATT_UNIT_JOULE = BLE_ATT_UUID_16(0x2725), 243 /**< Energy unit: joule. */ 244 BLE_ATT_UNIT_WATT = BLE_ATT_UUID_16(0x2726), 245 /**< Power unit: watt. */ 246 BLE_ATT_UNIT_COULOMB = BLE_ATT_UUID_16(0x2727), 247 /**< Electric Charge unit: coulomb. */ 248 BLE_ATT_UNIT_VOLT = BLE_ATT_UUID_16(0x2728), 249 /**< Electric potential difference unit: Volt. */ 250 BLE_ATT_UNIT_FARAD = BLE_ATT_UUID_16(0x2729), 251 /**< Capacitance unit: Farad. */ 252 BLE_ATT_UNIT_OHM = BLE_ATT_UUID_16(0x272A), 253 /**< Electric resistance unit: ohm. */ 254 BLE_ATT_UNIT_SIEMENS = BLE_ATT_UUID_16(0x272B), 255 /**< Electric conductance unit: siemens. */ 256 BLE_ATT_UNIT_WEBER = BLE_ATT_UUID_16(0x272C), 257 /**< Magnetic flux unit: weber. */ 258 BLE_ATT_UNIT_TESLA = BLE_ATT_UUID_16(0x272D), 259 /**< Magnetic flux density unit: Tesla. */ 260 BLE_ATT_UNIT_HENRY = BLE_ATT_UUID_16(0x272E), 261 /**< Inductance unit: henry. */ 262 BLE_ATT_UNIT_CELSIUS = BLE_ATT_UUID_16(0x272F), 263 /**< Temperature unit: degree Celsius. */ 264 BLE_ATT_UNIT_LUMEN = BLE_ATT_UUID_16(0x2730), 265 /**< Luminous flux unit: lumen. */ 266 BLE_ATT_UNIT_LUX = BLE_ATT_UUID_16(0x2731), 267 /**< Illuminance unit: lux. */ 268 BLE_ATT_UNIT_BECQUEREL = BLE_ATT_UUID_16(0x2732), 269 /**< Enable referred to a radionuclide unit: becquerel. */ 270 BLE_ATT_UNIT_GRAY = BLE_ATT_UUID_16(0x2733), 271 /**< Absorbed dose unit: gray. */ 272 BLE_ATT_UNIT_SIEVERT = BLE_ATT_UUID_16(0x2734), 273 /**< Dose equivalent unit: sievert. */ 274 BLE_ATT_UNIT_KATAL = BLE_ATT_UUID_16(0x2735), 275 /**< Catalytic enable unit: katal. */ 276 BLE_ATT_UNIT_PASCAL_SECOND = BLE_ATT_UUID_16(0x2740), 277 /**< Synamic viscosity unit: pascal second. */ 278 BLE_ATT_UNIT_NEWTON_METRE = BLE_ATT_UUID_16(0x2741), 279 /**< Moment of force unit: (N.m)newton meter. */ 280 BLE_ATT_UNIT_NEWTON_PER_METRE = BLE_ATT_UUID_16(0x2742), 281 /**< Surface tension unit: newton per meter. */ 282 BLE_ATT_UNIT_RADIAN_PER_SECOND = BLE_ATT_UUID_16(0x2743), 283 /**< Angular velocity unit: radian per second. */ 284 BLE_ATT_UNIT_RADIAN_PER_SECOND_SQ = BLE_ATT_UUID_16(0x2744), 285 /**< Angular acceleration unit: radian per second squared. */ 286 BLE_ATT_UNIT_WATT_PER_SQ_METRE = BLE_ATT_UUID_16(0x2745), 287 /**< Heat flux density unit: watt per square meter. */ 288 BLE_ATT_UNIT_JOULE_PER_KELVIN = BLE_ATT_UUID_16(0x2746), 289 /**< Heat capacity unit: joule per Kelvin. */ 290 BLE_ATT_UNIT_JOULE_PER_KG_KELVIN = BLE_ATT_UUID_16(0x2747), 291 /**< Specific heat capacity unit: joule per kilogram kelvin. */ 292 BLE_ATT_UNIT_JOULE_PER_KG = BLE_ATT_UUID_16(0x2748), 293 /**< Specific Energy unit: joule per kilogram. */ 294 BLE_ATT_UNIT_WATT_PER_METRE_KELVIN = BLE_ATT_UUID_16(0x2749), 295 /**< Thermal conductivity unit: watt per meter Kelvin. */ 296 BLE_ATT_UNIT_JOULE_PER_CUBIC_METRE = BLE_ATT_UUID_16(0x274A), 297 /**< Energy Density unit: joule per cubic meter. */ 298 BLE_ATT_UNIT_VOLT_PER_METRE = BLE_ATT_UUID_16(0x274B), 299 /**< Electric field strength unit: volt per meter. */ 300 BLE_ATT_UNIT_COULOMB_PER_CUBIC_METRE = BLE_ATT_UUID_16(0x274C), 301 /**< Electric charge density unit: coulomb per cubic meter. */ 302 BLE_ATT_UNIT_SURF_COULOMB_PER_SQ_METRE = BLE_ATT_UUID_16(0x274D), 303 /**< Surface charge density unit: coulomb/(square meter). */ 304 BLE_ATT_UNIT_FLUX_COULOMB_PER_SQ_METRE = BLE_ATT_UUID_16(0x274E), 305 /**< Electric flux density unit: coulomb per square meter. */ 306 BLE_ATT_UNIT_FARAD_PER_METRE = BLE_ATT_UUID_16(0x274F), 307 /**< Permittivity unit: farad per meter. */ 308 BLE_ATT_UNIT_HENRY_PER_METRE = BLE_ATT_UUID_16(0x2750), 309 /**< Permeability unit: henry per meter. */ 310 BLE_ATT_UNIT_JOULE_PER_MOLE = BLE_ATT_UUID_16(0x2751), 311 /**< Molar energy unit: joule per mole. */ 312 BLE_ATT_UNIT_JOULE_PER_MOLE_KELVIN = BLE_ATT_UUID_16(0x2752), 313 /**< Molar entropy unit: joule per mole kelvin. */ 314 BLE_ATT_UNIT_COULOMB_PER_KG = BLE_ATT_UUID_16(0x2753), 315 /**< Exposure unit: coulomb per kilogram. */ 316 BLE_ATT_UNIT_GRAY_PER_SECOND = BLE_ATT_UUID_16(0x2754), 317 /**< Absorbed dose rate unit: gray per second. */ 318 BLE_ATT_UNIT_WATT_PER_STERADIAN = BLE_ATT_UUID_16(0x2755), 319 /**< Radiant intensity unit: watt per steradian. */ 320 BLE_ATT_UNIT_WATT_PER_SQ_METRE_STERADIAN = BLE_ATT_UUID_16(0x2756), 321 /**< Radiance unit: watt per square meter steradian. */ 322 BLE_ATT_UNIT_KATAL_PER_CUBIC_METRE = BLE_ATT_UUID_16(0x2757), 323 /**< Catalytic active - concentration unit: katal per cubic meter. */ 324 BLE_ATT_UNIT_MINUTE = BLE_ATT_UUID_16(0x2760), 325 /**< Time unit: minute. */ 326 BLE_ATT_UNIT_HOUR = BLE_ATT_UUID_16(0x2761), 327 /**< Time unit: hour. */ 328 BLE_ATT_UNIT_DAY = BLE_ATT_UUID_16(0x2762), 329 /**< Time unit: day. */ 330 BLE_ATT_UNIT_ANGLE_DEGREE = BLE_ATT_UUID_16(0x2763), 331 /**< Plane angle unit: degree. */ 332 BLE_ATT_UNIT_ANGLE_MINUTE = BLE_ATT_UUID_16(0x2764), 333 /**< Plane angle unit: minute. */ 334 BLE_ATT_UNIT_ANGLE_SECOND = BLE_ATT_UUID_16(0x2765), 335 /**< Plane angle unit: second. */ 336 BLE_ATT_UNIT_HECTARE = BLE_ATT_UUID_16(0x2766), 337 /**< Area unit: hectare. */ 338 BLE_ATT_UNIT_LITRE = BLE_ATT_UUID_16(0x2767), 339 /**< Volume unit: litre. */ 340 BLE_ATT_UNIT_TONNE = BLE_ATT_UUID_16(0x2768), 341 /**< Mass unit: tonne. */ 342 BLE_ATT_UNIT_BAR = BLE_ATT_UUID_16(0x2780), 343 /**< Pressure unit: bar. */ 344 BLE_ATT_UNIT_MM_MERCURY = BLE_ATT_UUID_16(0x2781), 345 /**< Pressure unit: millimetre of mercury. */ 346 BLE_ATT_UNIT_ANGSTROM = BLE_ATT_UUID_16(0x2782), 347 /**< Length unit: angstrom. */ 348 BLE_ATT_UNIT_NAUTICAL_MILE = BLE_ATT_UUID_16(0x2783), 349 /**< Length unit: nautical mile. */ 350 BLE_ATT_UNIT_BARN = BLE_ATT_UUID_16(0x2784), 351 /**< Area unit: barn. */ 352 BLE_ATT_UNIT_KNOT = BLE_ATT_UUID_16(0x2785), 353 /**< Velocity unit: knot. */ 354 BLE_ATT_UNIT_NEPER = BLE_ATT_UUID_16(0x2786), 355 /**< Logarithmic radio quantity unit: neper. */ 356 BLE_ATT_UNIT_BEL = BLE_ATT_UUID_16(0x2787), 357 /**< Logarithmic radio quantity unit: bel. */ 358 BLE_ATT_UNIT_YARD = BLE_ATT_UUID_16(0x27A0), 359 /**< Length unit: yard. */ 360 BLE_ATT_UNIT_PARSEC = BLE_ATT_UUID_16(0x27A1), 361 /**< Length unit: parsec. */ 362 BLE_ATT_UNIT_INCH = BLE_ATT_UUID_16(0x27A2), 363 /**< Length unit: inch. */ 364 BLE_ATT_UNIT_FOOT = BLE_ATT_UUID_16(0x27A3), 365 /**< Length unit: foot. */ 366 BLE_ATT_UNIT_MILE = BLE_ATT_UUID_16(0x27A4), 367 /**< Length unit: mile. */ 368 BLE_ATT_UNIT_POUND_FORCE_PER_SQ_INCH = BLE_ATT_UUID_16(0x27A5), 369 /**< Pressure unit: pound-force per square inch. */ 370 BLE_ATT_UNIT_KM_PER_HOUR = BLE_ATT_UUID_16(0x27A6), 371 /**< Velocity unit: kilometre per hour. */ 372 BLE_ATT_UNIT_MILE_PER_HOUR = BLE_ATT_UUID_16(0x27A7), 373 /**< Velocity unit: mile per hour. */ 374 BLE_ATT_UNIT_REVOLUTION_PER_MINUTE = BLE_ATT_UUID_16(0x27A8), 375 /**< Angular velocity unit: revolution per minute. */ 376 BLE_ATT_UNIT_GRAM_CALORIE = BLE_ATT_UUID_16(0x27A9), 377 /**< Energy unit: gram calorie. */ 378 BLE_ATT_UNIT_KG_CALORIE = BLE_ATT_UUID_16(0x27AA), 379 /**< Energy unit: kilogram calorie. */ 380 BLE_ATT_UNIT_KILOWATT_HOUR = BLE_ATT_UUID_16(0x27AB), 381 /**< Energy unit: kilowatt hour. */ 382 BLE_ATT_UNIT_FAHRENHEIT = BLE_ATT_UUID_16(0x27AC), 383 /**< Thermodynamic temperature unit: degree Fahrenheit. */ 384 BLE_ATT_UNIT_PERCENTAGE = BLE_ATT_UUID_16(0x27AD), 385 /**< Unit: Percentage. */ 386 BLE_ATT_UNIT_PER_MILLE = BLE_ATT_UUID_16(0x27AE), 387 /**< Unit: per mille. */ 388 BLE_ATT_UNIT_BEATS_PER_MINUTE = BLE_ATT_UUID_16(0x27AF), 389 /**< Period unit: beats per minute. */ 390 BLE_ATT_UNIT_AMPERE_HOURS = BLE_ATT_UUID_16(0x27B0), 391 /**< Electric charge unit: ampere hours. */ 392 BLE_ATT_UNIT_MILLIGRAM_PER_DECILITRE = BLE_ATT_UUID_16(0x27B1), 393 /**< Mass density unit: milligram per decilitre. */ 394 BLE_ATT_UNIT_MILLIMOLE_PER_LITRE = BLE_ATT_UUID_16(0x27B2), 395 /**< Mass density unit: millimole per litre. */ 396 BLE_ATT_UNIT_YEAR = BLE_ATT_UUID_16(0x27B3), 397 /**< Time unit: year. */ 398 BLE_ATT_UNIT_MONTH = BLE_ATT_UUID_16(0x27B4), 399 /**< Time unit: month. */ 400 401 /*---------------- DECLARATIONS -----------------*/ 402 BLE_ATT_DECL_PRIMARY_SERVICE = BLE_ATT_UUID_16(0x2800), 403 /**< Primary service Declaration. */ 404 BLE_ATT_DECL_SECONDARY_SERVICE = BLE_ATT_UUID_16(0x2801), 405 /**< Secondary service Declaration. */ 406 BLE_ATT_DECL_INCLUDE = BLE_ATT_UUID_16(0x2802), 407 /**< Include Declaration. */ 408 BLE_ATT_DECL_CHARACTERISTIC = BLE_ATT_UUID_16(0x2803), 409 /**< Characteristic Declaration. */ 410 411 /*----------------- DESCRIPTORS -----------------*/ 412 BLE_ATT_DESC_CHAR_EXT_PROPERTIES = BLE_ATT_UUID_16(0x2900), 413 /**< Characteristic extended properties. */ 414 BLE_ATT_DESC_CHAR_USER_DESCRIPTION = BLE_ATT_UUID_16(0x2901), 415 /**< Characteristic user description. */ 416 BLE_ATT_DESC_CLIENT_CHAR_CFG = BLE_ATT_UUID_16(0x2902), 417 /**< Client characteristic configuration. */ 418 BLE_ATT_DESC_SERVER_CHAR_CFG = BLE_ATT_UUID_16(0x2903), 419 /**< Server characteristic configuration. */ 420 BLE_ATT_DESC_CHAR_PRES_FORMAT = BLE_ATT_UUID_16(0x2904), 421 /**< Characteristic Presentation Format. */ 422 BLE_ATT_DESC_CHAR_AGGREGATE_FORMAT = BLE_ATT_UUID_16(0x2905), 423 /**< Characteristic Aggregate Format. */ 424 BLE_ATT_DESC_VALID_RANGE = BLE_ATT_UUID_16(0x2906), 425 /**< Valid Range. */ 426 BLE_ATT_DESC_EXT_REPORT_REF = BLE_ATT_UUID_16(0x2907), 427 /**< External Report Reference. */ 428 BLE_ATT_DESC_REPORT_REF = BLE_ATT_UUID_16(0x2908), 429 /**< Report Reference. */ 430 BLE_ATT_DESC_ES_CONFIGURATION = BLE_ATT_UUID_16(0x290B), 431 /**< Environmental Sensing Configuration. */ 432 BLE_ATT_DESC_ES_MEASUREMENT = BLE_ATT_UUID_16(0x290C), 433 /**< Environmental Sensing Measurement. */ 434 BLE_ATT_DESC_ES_TRIGGER_SETTING = BLE_ATT_UUID_16(0x290D), 435 /**< Environmental Sensing Trigger Setting. */ 436 437 /*--------------- CHARACTERISTICS ---------------*/ 438 BLE_ATT_CHAR_DEVICE_NAME = BLE_ATT_UUID_16(0x2A00), 439 /**< Device name. */ 440 BLE_ATT_CHAR_APPEARANCE = BLE_ATT_UUID_16(0x2A01), 441 /**< Appearance. */ 442 BLE_ATT_CHAR_PRIVACY_FLAG = BLE_ATT_UUID_16(0x2A02), 443 /**< Privacy flag. */ 444 BLE_ATT_CHAR_RECONNECTION_ADDR = BLE_ATT_UUID_16(0x2A03), 445 /**< Reconnection address. */ 446 BLE_ATT_CHAR_PERIPH_PREF_CON_PARAM = BLE_ATT_UUID_16(0x2A04), 447 /**< Peripheral preferred connection parameters. */ 448 BLE_ATT_CHAR_SERVICE_CHANGED = BLE_ATT_UUID_16(0x2A05), 449 /**< Service handles changed. */ 450 BLE_ATT_CHAR_ALERT_LEVEL = BLE_ATT_UUID_16(0x2A06), 451 /**< Alert Level characteristic. */ 452 BLE_ATT_CHAR_TX_POWER_LEVEL = BLE_ATT_UUID_16(0x2A07), 453 /**< Tx Power Level. */ 454 BLE_ATT_CHAR_DATE_TIME = BLE_ATT_UUID_16(0x2A08), 455 /**< Date Time. */ 456 BLE_ATT_CHAR_DAY_WEEK = BLE_ATT_UUID_16(0x2A09), 457 /**< Day of Week. */ 458 BLE_ATT_CHAR_DAY_DATE_TIME = BLE_ATT_UUID_16(0x2A0A), 459 /**< Day Date Time. */ 460 BLE_ATT_CHAR_EXACT_TIME_256 = BLE_ATT_UUID_16(0x2A0C), 461 /**< Exact time 256. */ 462 BLE_ATT_CHAR_DST_OFFSET = BLE_ATT_UUID_16(0x2A0D), 463 /**< DST Offset. */ 464 BLE_ATT_CHAR_TIME_ZONE = BLE_ATT_UUID_16(0x2A0E), 465 /**< Time zone. */ 466 BLE_ATT_CHAR_LOCAL_TIME_INFO = BLE_ATT_UUID_16(0x2A0F), 467 /**< Local time Information. */ 468 BLE_ATT_CHAR_TIME_WITH_DST = BLE_ATT_UUID_16(0x2A11), 469 /**< Time with DST. */ 470 BLE_ATT_CHAR_TIME_ACCURACY = BLE_ATT_UUID_16(0x2A12), 471 /**< Time Accuracy. */ 472 BLE_ATT_CHAR_TIME_SOURCE = BLE_ATT_UUID_16(0x2A13), 473 /**< Time Source. */ 474 BLE_ATT_CHAR_REFERENCE_TIME_INFO = BLE_ATT_UUID_16(0x2A14), 475 /**< Reference Time Information. */ 476 BLE_ATT_CHAR_TIME_UPDATE_CNTL_POINT = BLE_ATT_UUID_16(0x2A16), 477 /**< Time Update Control Point. */ 478 BLE_ATT_CHAR_TIME_UPDATE_STATE = BLE_ATT_UUID_16(0x2A17), 479 /**< Time Update State. */ 480 BLE_ATT_CHAR_GLUCOSE_MEAS = BLE_ATT_UUID_16(0x2A18), 481 /**< Glucose Measurement. */ 482 BLE_ATT_CHAR_BATTERY_LEVEL = BLE_ATT_UUID_16(0x2A19), 483 /**< Battery Level. */ 484 BLE_ATT_CHAR_TEMPERATURE_MEAS = BLE_ATT_UUID_16(0x2A1C), 485 /**< Temperature Measurement. */ 486 BLE_ATT_CHAR_TEMPERATURE_TYPE = BLE_ATT_UUID_16(0x2A1D), 487 /**< Temperature Type. */ 488 BLE_ATT_CHAR_INTERMED_TEMPERATURE = BLE_ATT_UUID_16(0x2A1E), 489 /**< Intermediate Temperature. */ 490 BLE_ATT_CHAR_MEAS_INTERVAL = BLE_ATT_UUID_16(0x2A21), 491 /**< Measurement Interval. */ 492 BLE_ATT_CHAR_BOOT_KB_IN_REPORT = BLE_ATT_UUID_16(0x2A22), 493 /**< Boot Keyboard Input Report. */ 494 BLE_ATT_CHAR_SYS_ID = BLE_ATT_UUID_16(0x2A23), 495 /**< System ID. */ 496 BLE_ATT_CHAR_MODEL_NB = BLE_ATT_UUID_16(0x2A24), 497 /**< Model Number String. */ 498 BLE_ATT_CHAR_SERIAL_NB = BLE_ATT_UUID_16(0x2A25), 499 /**< Serial Number String. */ 500 BLE_ATT_CHAR_FW_REV = BLE_ATT_UUID_16(0x2A26), 501 /**< Firmware Revision String. */ 502 BLE_ATT_CHAR_HW_REV = BLE_ATT_UUID_16(0x2A27), 503 /**< Hardware revision String. */ 504 BLE_ATT_CHAR_SW_REV = BLE_ATT_UUID_16(0x2A28), 505 /**< Software Revision String. */ 506 BLE_ATT_CHAR_MANUF_NAME = BLE_ATT_UUID_16(0x2A29), 507 /**< Manufacturer Name String. */ 508 BLE_ATT_CHAR_IEEE_CERTIF = BLE_ATT_UUID_16(0x2A2A), 509 /**< IEEE Regulatory Certification Data List. */ 510 BLE_ATT_CHAR_CT_TIME = BLE_ATT_UUID_16(0x2A2B), 511 /**< CT Time. */ 512 BLE_ATT_CHAR_MAGN_DECLINE = BLE_ATT_UUID_16(0x2A2C), 513 /**< Magnetic Declination. */ 514 BLE_ATT_CHAR_SCAN_REFRESH = BLE_ATT_UUID_16(0x2A31), 515 /**< Scan Refresh. */ 516 BLE_ATT_CHAR_BOOT_KB_OUT_REPORT = BLE_ATT_UUID_16(0x2A32), 517 /**< Boot Keyboard Output Report. */ 518 BLE_ATT_CHAR_BOOT_MOUSE_IN_REPORT = BLE_ATT_UUID_16(0x2A33), 519 /**< Boot Mouse Input Report. */ 520 BLE_ATT_CHAR_GLUCOSE_MEAS_CTX = BLE_ATT_UUID_16(0x2A34), 521 /**< Glucose Measurement Context. */ 522 BLE_ATT_CHAR_BLOOD_PRESSURE_MEAS = BLE_ATT_UUID_16(0x2A35), 523 /**< Blood Pressure Measurement. */ 524 BLE_ATT_CHAR_INTERMEDIATE_CUFF_PRESSURE = BLE_ATT_UUID_16(0x2A36), 525 /**< Intermediate Cuff Pressure. */ 526 BLE_ATT_CHAR_HEART_RATE_MEAS = BLE_ATT_UUID_16(0x2A37), 527 /**< Heart Rate Measurement. */ 528 BLE_ATT_CHAR_BODY_SENSOR_LOCATION = BLE_ATT_UUID_16(0x2A38), 529 /**< Body Sensor Location. */ 530 BLE_ATT_CHAR_HEART_RATE_CNTL_POINT = BLE_ATT_UUID_16(0x2A39), 531 /**< Heart Rate Control Point. */ 532 BLE_ATT_CHAR_ALERT_STATUS = BLE_ATT_UUID_16(0x2A3F), 533 /**< Alert Status. */ 534 BLE_ATT_CHAR_RINGER_CNTL_POINT = BLE_ATT_UUID_16(0x2A40), 535 /**< Ringer Control Point. */ 536 BLE_ATT_CHAR_RINGER_SETTING = BLE_ATT_UUID_16(0x2A41), 537 /**< Ringer Setting. */ 538 BLE_ATT_CHAR_ALERT_CAT_ID_BIT_MASK = BLE_ATT_UUID_16(0x2A42), 539 /**< Alert Category ID Bit Mask. */ 540 BLE_ATT_CHAR_ALERT_CAT_ID = BLE_ATT_UUID_16(0x2A43), 541 /**< Alert Category ID. */ 542 BLE_ATT_CHAR_ALERT_NTF_CTNL_PT = BLE_ATT_UUID_16(0x2A44), 543 /**< Alert Notification Control Point. */ 544 BLE_ATT_CHAR_UNREAD_ALERT_STATUS = BLE_ATT_UUID_16(0x2A45), 545 /**< Unread Alert Status. */ 546 BLE_ATT_CHAR_NEW_ALERT = BLE_ATT_UUID_16(0x2A46), 547 /**< New Alert. */ 548 BLE_ATT_CHAR_SUP_NEW_ALERT_CAT = BLE_ATT_UUID_16(0x2A47), 549 /**< Supported New Alert Category. */ 550 BLE_ATT_CHAR_SUP_UNREAD_ALERT_CAT = BLE_ATT_UUID_16(0x2A48), 551 /**< Supported Unread Alert Category. */ 552 BLE_ATT_CHAR_BLOOD_PRESSURE_FEATURE = BLE_ATT_UUID_16(0x2A49), 553 /**< Blood Pressure Feature. */ 554 BLE_ATT_CHAR_HID_INFO = BLE_ATT_UUID_16(0x2A4A), 555 /**< HID Information. */ 556 BLE_ATT_CHAR_REPORT_MAP = BLE_ATT_UUID_16(0x2A4B), 557 /**< Report Map. */ 558 BLE_ATT_CHAR_HID_CTNL_PT = BLE_ATT_UUID_16(0x2A4C), 559 /**< HID Control Point. */ 560 BLE_ATT_CHAR_REPORT = BLE_ATT_UUID_16(0x2A4D), 561 /**< Report. */ 562 BLE_ATT_CHAR_PROTOCOL_MODE = BLE_ATT_UUID_16(0x2A4E), 563 /**< Protocol Mode. */ 564 BLE_ATT_CHAR_SCAN_INTV_WD = BLE_ATT_UUID_16(0x2A4F), 565 /**< Scan Interval Window. */ 566 BLE_ATT_CHAR_PNP_ID = BLE_ATT_UUID_16(0x2A50), 567 /**< PnP ID. */ 568 BLE_ATT_CHAR_GLUCOSE_FEATURE = BLE_ATT_UUID_16(0x2A51), 569 /**< Glucose Feature. */ 570 BLE_ATT_CHAR_REC_ACCESS_CTRL_PT = BLE_ATT_UUID_16(0x2A52), 571 /**< Record access control point. */ 572 BLE_ATT_CHAR_RSC_MEAS = BLE_ATT_UUID_16(0x2A53), 573 /**< RSC Measurement. */ 574 BLE_ATT_CHAR_RSC_FEAT = BLE_ATT_UUID_16(0x2A54), 575 /**< RSC Feature. */ 576 BLE_ATT_CHAR_SC_CNTL_PT = BLE_ATT_UUID_16(0x2A55), 577 /**< SC Control Point. */ 578 BLE_ATT_CHAR_CSC_MEAS = BLE_ATT_UUID_16(0x2A5B), 579 /**< CSC Measurement. */ 580 BLE_ATT_CHAR_CSC_FEAT = BLE_ATT_UUID_16(0x2A5C), 581 /**< CSC Feature. */ 582 BLE_ATT_CHAR_SENSOR_LOC = BLE_ATT_UUID_16(0x2A5D), 583 /**< Sensor Location. */ 584 BLE_ATT_CHAR_PLX_SPOT_CHECK_MEASUREMENT_LOC = BLE_ATT_UUID_16(0x2A5E), 585 /**< PLX Spot-Check Measurement. */ 586 BLE_ATT_CHAR_PLX_CONTINUOUS_MEASUREMENT_LOC = BLE_ATT_UUID_16(0x2A5F), 587 /**< PLX Continuous Measurement. */ 588 BLE_ATT_CHAR_PLX_FEATURES_LOC = BLE_ATT_UUID_16(0x2A60), 589 /**< PLX Features. */ 590 BLE_ATT_CHAR_CP_MEAS = BLE_ATT_UUID_16(0x2A63), 591 /**< CP Measurement. */ 592 BLE_ATT_CHAR_CP_VECTOR = BLE_ATT_UUID_16(0x2A64), 593 /**< CP Vector. */ 594 BLE_ATT_CHAR_CP_FEAT = BLE_ATT_UUID_16(0x2A65), 595 /**< CP Feature. */ 596 BLE_ATT_CHAR_CP_CNTL_PT = BLE_ATT_UUID_16(0x2A66), 597 /**< CP Control Point. */ 598 BLE_ATT_CHAR_LOC_SPEED = BLE_ATT_UUID_16(0x2A67), 599 /**< Location and Speed. */ 600 BLE_ATT_CHAR_NAVIGATION = BLE_ATT_UUID_16(0x2A68), 601 /**< Navigation. */ 602 BLE_ATT_CHAR_POS_QUALITY = BLE_ATT_UUID_16(0x2A69), 603 /**< Position Quality. */ 604 BLE_ATT_CHAR_LN_FEAT = BLE_ATT_UUID_16(0x2A6A), 605 /**< LN Feature. */ 606 BLE_ATT_CHAR_LN_CNTL_PT = BLE_ATT_UUID_16(0x2A6B), 607 /**< LN Control Point. */ 608 BLE_ATT_CHAR_ELEVATION = BLE_ATT_UUID_16(0x2A6C), 609 /**< Elevation. */ 610 BLE_ATT_CHAR_PRESSURE = BLE_ATT_UUID_16(0x2A6D), 611 /**< Pressure. */ 612 BLE_ATT_CHAR_TEMPERATURE = BLE_ATT_UUID_16(0x2A6E), 613 /**< Temperature. */ 614 BLE_ATT_CHAR_HUMIDITY = BLE_ATT_UUID_16(0x2A6F), 615 /**< Humidity. */ 616 BLE_ATT_CHAR_TRUE_WIND_SPEED = BLE_ATT_UUID_16(0x2A70), 617 /**< True Wind Speed. */ 618 BLE_ATT_CHAR_TRUE_WIND_DIR = BLE_ATT_UUID_16(0x2A71), 619 /**< True Wind Direction. */ 620 BLE_ATT_CHAR_APRNT_WIND_SPEED = BLE_ATT_UUID_16(0x2A72), 621 /**< Apparent Wind Speed. */ 622 BLE_ATT_CHAR_APRNT_WIND_DIRECTION = BLE_ATT_UUID_16(0x2A73), 623 /**< Apparent Wind Direction. */ 624 BLE_ATT_CHAR_GUST_FACTOR = BLE_ATT_UUID_16(0x2A74), 625 /**< Gust Factor. */ 626 BLE_ATT_CHAR_POLLEN_CONC = BLE_ATT_UUID_16(0x2A75), 627 /**< Pollen Concentration. */ 628 BLE_ATT_CHAR_UV_INDEX = BLE_ATT_UUID_16(0x2A76), 629 /**< UV Index. */ 630 BLE_ATT_CHAR_IRRADIANCE = BLE_ATT_UUID_16(0x2A77), 631 /**< Irradiance. */ 632 BLE_ATT_CHAR_RAINFALL = BLE_ATT_UUID_16(0x2A78), 633 /**< Rainfall. */ 634 BLE_ATT_CHAR_WIND_CHILL = BLE_ATT_UUID_16(0x2A79), 635 /**< Wind Chill. */ 636 BLE_ATT_CHAR_HEAT_INDEX = BLE_ATT_UUID_16(0x2A7A), 637 /**< Heat Index. */ 638 BLE_ATT_CHAR_DEW_POINT = BLE_ATT_UUID_16(0x2A7B), 639 /**< Dew Point. */ 640 BLE_ATT_CHAR_DESCRIPTOR_VALUE_CHANGED = BLE_ATT_UUID_16(0x2A7D), 641 /**< Descriptor Value Changed. */ 642 BLE_ATT_CHAR_AEROBIC_HEART_RATE_LOWER_LIMIT = BLE_ATT_UUID_16(0x2A7E), 643 /**< Aerobic Heart Rate Lower Limit. */ 644 BLE_ATT_CHAR_AEROBIC_THRESHOLD = BLE_ATT_UUID_16(0x2A7F), 645 /**< Aerobic Threshold. */ 646 BLE_ATT_CHAR_AGE = BLE_ATT_UUID_16(0x2A80), 647 /**< Age. */ 648 BLE_ATT_CHAR_ANAEROBIC_HEART_RATE_LOWER_LIMIT = BLE_ATT_UUID_16(0x2A81), 649 /**< Anaerobic Heart Rate Lower Limit. */ 650 BLE_ATT_CHAR_ANAEROBIC_HEART_RATE_UPPER_LIMIT = BLE_ATT_UUID_16(0x2A82), 651 /**< Anaerobic Heart Rate Upper Limit. */ 652 BLE_ATT_CHAR_ANAEROBIC_THRESHHOLD = BLE_ATT_UUID_16(0x2A83), 653 /**< Anaerobic Threshhold. */ 654 BLE_ATT_CHAR_AEROBIC_HEART_RATE_UPPER_LIMIT = BLE_ATT_UUID_16(0x2A84), 655 /**< Aerobic Heart Rate Upper Limit. */ 656 BLE_ATT_CHAR_DATE_OF_BIRTH = BLE_ATT_UUID_16(0x2A85), 657 /**< Date of Birth. */ 658 BLE_ATT_CHAR_DATE_OF_THRESHOLD_ASSESSMENT = BLE_ATT_UUID_16(0x2A86), 659 /**< Date of Threshold Assessment. */ 660 BLE_ATT_CHAR_EMAIL_ADDRESS = BLE_ATT_UUID_16(0x2A87), 661 /**< Email Address. */ 662 BLE_ATT_CHAR_FAT_BURN_HEART_RATE_LOWER_LIMIT = BLE_ATT_UUID_16(0x2A88), 663 /**< Fat Burn Heart Rate Lower Limit. */ 664 BLE_ATT_CHAR_FAT_BURN_HEART_RATE_UPPER_LIMIT = BLE_ATT_UUID_16(0x2A89), 665 /**< Fat Burn Heart Rate Upper Limit. */ 666 BLE_ATT_CHAR_FIRST_NAME = BLE_ATT_UUID_16(0x2A8A), 667 /**< First Name. */ 668 BLE_ATT_CHAR_FIVE_ZONE_HEART_RATE_LIMITS = BLE_ATT_UUID_16(0x2A8B), 669 /**< Five Zone Heart Rate Limits. */ 670 BLE_ATT_CHAR_GENDER = BLE_ATT_UUID_16(0x2A8C), 671 /**< Gender. */ 672 BLE_ATT_CHAR_MAX_HEART_RATE = BLE_ATT_UUID_16(0x2A8D), 673 /**< Max Heart Rate. */ 674 BLE_ATT_CHAR_HEIGHT = BLE_ATT_UUID_16(0x2A8E), 675 /**< Height. */ 676 BLE_ATT_CHAR_HIP_CIRCUMFERENCE = BLE_ATT_UUID_16(0x2A8F), 677 /**< Hip Circumference. */ 678 BLE_ATT_CHAR_LAST_NAME = BLE_ATT_UUID_16(0x2A90), 679 /**< Last Name. */ 680 BLE_ATT_CHAR_MAXIMUM_RECOMMENDED_HEART_RATE = BLE_ATT_UUID_16(0x2A91), 681 /**< Maximum Recommended Heart Rate. */ 682 BLE_ATT_CHAR_RESTING_HEART_RATE = BLE_ATT_UUID_16(0x2A92), 683 /**< Resting Heart Rate. */ 684 BLE_ATT_CHAR_SPORT_TYPE_FOR_AEROBIC_AND_ANAEROBIC_THRESHOLDS = BLE_ATT_UUID_16(0x2A93), 685 /**< Sport Type For Aerobic And Anaerobic Thresholds. */ 686 BLE_ATT_CHAR_THREE_ZONE_HEART_RATE_LIMITS = BLE_ATT_UUID_16(0x2A94), 687 /**< Three Zone Heart Rate Limits. */ 688 BLE_ATT_CHAR_TWO_ZONE_HEART_RATE_LIMIT = BLE_ATT_UUID_16(0x2A95), 689 /**< Two Zone Heart Rate Limits. */ 690 BLE_ATT_CHAR_VO2_MAX = BLE_ATT_UUID_16(0x2A96), 691 /**< Vo2 Max. */ 692 BLE_ATT_CHAR_WAIST_CIRCUMFERENCE = BLE_ATT_UUID_16(0x2A97), 693 /**< Waist Circumference. */ 694 BLE_ATT_CHAR_WEIGHT = BLE_ATT_UUID_16(0x2A98), 695 /**< Weight. */ 696 BLE_ATT_CHAR_DATABASE_CHANGE_INCREMENT = BLE_ATT_UUID_16(0x2A99), 697 /**< Database Change Increment. */ 698 BLE_ATT_CHAR_USER_INDEX = BLE_ATT_UUID_16(0x2A9A), 699 /**< User Index. */ 700 BLE_ATT_CHAR_BODY_COMPOSITION_FEATURE = BLE_ATT_UUID_16(0x2A9B), 701 /**< Body Composition Feature. */ 702 BLE_ATT_CHAR_BODY_COMPOSITION_MEASUREMENT = BLE_ATT_UUID_16(0x2A9C), 703 /**< Body Composition Measurement. */ 704 BLE_ATT_CHAR_WEIGHT_MEASUREMENT = BLE_ATT_UUID_16(0x2A9D), 705 /**< Weight Measurement. */ 706 BLE_ATT_CHAR_WEIGHT_SCALE_FEATURE = BLE_ATT_UUID_16(0x2A9E), 707 /**< Weight Scale Feature. */ 708 BLE_ATT_CHAR_USER_CONTROL_POINT = BLE_ATT_UUID_16(0x2A9F), 709 /**< User Control Point. */ 710 BLE_ATT_CHAR_MAGN_FLUX_2D = BLE_ATT_UUID_16(0x2AA0), 711 /**< Flux Density - 2D. */ 712 BLE_ATT_CHAR_MAGN_FLUX_3D = BLE_ATT_UUID_16(0x2AA1), 713 /**< Magnetic Flux Density - 3D. */ 714 BLE_ATT_CHAR_LANGUAGE = BLE_ATT_UUID_16(0x2AA2), 715 /**< Language string. */ 716 BLE_ATT_CHAR_BAR_PRES_TREND = BLE_ATT_UUID_16(0x2AA3), 717 /**< Barometric Pressure Trend. */ 718 BLE_ATT_CHAR_CTL_ADDR_RESOL_SUPP = BLE_ATT_UUID_16(0x2AA6), 719 /**< Central Address Resolution Support. */ 720 BLE_ATT_CHAR_OTS_FEATURES = BLE_ATT_UUID_16(0x2ABD), 721 /**< OTS Service Feature. */ 722 BLE_ATT_CHAR_OTS_OBJECT_NAME = BLE_ATT_UUID_16(0x2ABE), 723 /**< Object Name. */ 724 BLE_ATT_CHAR_OTS_OBJECT_TYPE = BLE_ATT_UUID_16(0x2ABF), 725 /**< Object Type. */ 726 BLE_ATT_CHAR_OTS_OBJECT_SIZE = BLE_ATT_UUID_16(0x2AC0), 727 /**< Object Size. */ 728 BLE_ATT_CHAR_OTS_OBJECT_FIRST_CREATED = BLE_ATT_UUID_16(0x2AC1), 729 /**< Object First Created. */ 730 BLE_ATT_CHAR_OTS_OBJECT_LAST_MODIFIED = BLE_ATT_UUID_16(0x2AC2), 731 /**< Object Last Modified. */ 732 BLE_ATT_CHAR_OTS_OBJECT_ID = BLE_ATT_UUID_16(0x2AC3), 733 /**< Object ID. */ 734 BLE_ATT_CHAR_OTS_OBJECT_PROPERTIES = BLE_ATT_UUID_16(0x2AC4), 735 /**< Object Properties. */ 736 BLE_ATT_CHAR_OTS_OACP = BLE_ATT_UUID_16(0x2AC5), 737 /**< Object Action Control Point. */ 738 BLE_ATT_CHAR_OTS_OLCP = BLE_ATT_UUID_16(0x2AC6), 739 /**< Object List Control Point. */ 740 BLE_ATT_CHAR_OTS_LF = BLE_ATT_UUID_16(0x2AC7), 741 /**< Object List Filter. */ 742 BLE_ATT_CHAR_OTS_OBJECT_CHANGED = BLE_ATT_UUID_16(0x2AC8), 743 /**< Object Changed. */ 744 BLE_ATT_CHAR_RSLV_PRIV_ADDR_ONLY = BLE_ATT_UUID_16(0x2AC9), 745 /**< Resolvable Private Address only. */ 746 747 BLE_ATT_CHAR_UNSPECIFIED = BLE_ATT_UUID_16(0X2ACA), 748 /**< Unspecified. */ 749 BLE_ATT_CHAR_DIRE_LISTING = BLE_ATT_UUID_16(0X2ACB), 750 /**< Directory Listing. */ 751 BLE_ATT_CHAR_FIT_MACH_FEAT = BLE_ATT_UUID_16(0X2ACC), 752 /**< Fitness Machine Feature. */ 753 BLE_ATT_CHAR_TREADMILL_DATA = BLE_ATT_UUID_16(0X2ACD), 754 /**< Treadmill Data. */ 755 BLE_ATT_CHAR_CROSS_TRAINER_DATA = BLE_ATT_UUID_16(0X2ACE), 756 /**< Cross Trainer Data. */ 757 BLE_ATT_CHAR_STEP_CLIMBER_DATA = BLE_ATT_UUID_16(0X2ACF), 758 /**< Step Climber Data. */ 759 BLE_ATT_CHAR_STSIR_CLIMBER_DATA = BLE_ATT_UUID_16(0X2AD0), 760 /**< Stair Climber Data. */ 761 BLE_ATT_CHAR_ROWER_DATA = BLE_ATT_UUID_16(0X2AD1), 762 /**< Rower Data. */ 763 BLE_ATT_CHAR_INDOOR_BIKE_DATA = BLE_ATT_UUID_16(0X2AD2), 764 /**< Indoor Bike Data. */ 765 BLE_ATT_CHAR_TRAIN_STATUS = BLE_ATT_UUID_16(0X2AD3), 766 /**< Training Status. */ 767 BLE_ATT_CHAR_SUP_SPEED_RANGE = BLE_ATT_UUID_16(0X2AD4), 768 /**< Supported Speed Range. */ 769 BLE_ATT_CHAR_SUP_INCL_RANGE = BLE_ATT_UUID_16(0X2AD5), 770 /**< Supported Inclination Range. */ 771 BLE_ATT_CHAR_SUP_RESIST_LEVEL_RANGE = BLE_ATT_UUID_16(0X2AD6), 772 /**< Supported Resistance Level Range. */ 773 BLE_ATT_CHAR_SUP_HEART_RATE_RANGE = BLE_ATT_UUID_16(0X2AD7), 774 /**< Supported Heart Rate Range. */ 775 BLE_ATT_CHAR_SUP_POWER_RANGE = BLE_ATT_UUID_16(0X2AD8), 776 /**< Supported Power Range. */ 777 BLE_ATT_CHAR_FIT_MACH_CNTL_PT = BLE_ATT_UUID_16(0X2AD9), 778 /**< Fitness Machine Control Point. */ 779 BLE_ATT_CHAR_FIT_MACH_STATUS = BLE_ATT_UUID_16(0X2ADA), 780 /**< Fitness Machine Status. */ 781 BLE_ATT_CHAR_MESH_PROV_DATA_IN = BLE_ATT_UUID_16(0X2ADB), 782 /**< Mesh Provisioning Data In. */ 783 BLE_ATT_CHAR_MESH_PROV_DATA_OUT = BLE_ATT_UUID_16(0X2ADC), 784 /**< Mesh Provisioning Data Out. */ 785 BLE_ATT_CHAR_MESH_PROX_DATA_IN = BLE_ATT_UUID_16(0X2ADD), 786 /**< Mesh Proxy Data In. */ 787 BLE_ATT_CHAR_MESH_PROX_DATA_OUT = BLE_ATT_UUID_16(0X2ADE), 788 /**< Mesh Proxy Data Out. */ 789 BLE_ATT_CHAR_AVG_CURRENT = BLE_ATT_UUID_16(0X2AE0), 790 /**< Average Current. */ 791 BLE_ATT_CHAR_AVG_VOLTAGE = BLE_ATT_UUID_16(0X2AE1), 792 /**< Average Voltage. */ 793 BLE_ATT_CHAR_BOOLEAN = BLE_ATT_UUID_16(0X2AE2), 794 /**< Boolean. */ 795 BLE_ATT_CHAR_CHROM_DIST_FROM_PLANCKIAN = BLE_ATT_UUID_16(0X2AE3), 796 /**< Chromatic Distance From Planckian. */ 797 BLE_ATT_CHAR_CHROM_COORD = BLE_ATT_UUID_16(0X2AE4), 798 /**< Chromaticity Coordinates. */ 799 BLE_ATT_CHAR_CHORM_IN_CCT_AND_DUV_VAL = BLE_ATT_UUID_16(0X2AE5), 800 /**< Chromaticity in CCT And Duv Values. */ 801 BLE_ATT_CHAR_CHROM_TOLERANCE = BLE_ATT_UUID_16(0X2AE6), 802 /**< Chromaticity Tolerance. */ 803 BLE_ATT_CHAR_CIE_COLOR_REND_IDX = BLE_ATT_UUID_16(0X2AE7), 804 /**< CIE 13.3-1995 Color Rendering Index. */ 805 BLE_ATT_CHAR_COEFFICIENT = BLE_ATT_UUID_16(0X2AE8), 806 /**< Coefficient. */ 807 BLE_ATT_CHAR_CORRELA_COLOR_TEMP = BLE_ATT_UUID_16(0X2AE9), 808 /**< Correlated Color Temperature. */ 809 BLE_ATT_CHAR_COUNT_SIXTEEN = BLE_ATT_UUID_16(0X2AEA), 810 /**< Count 16. */ 811 BLE_ATT_CHAR_COUNT_TWENTY_FOUR = BLE_ATT_UUID_16(0X2AEB), 812 /**< Count 24. */ 813 BLE_ATT_CHAR_COUNTRY_CODE = BLE_ATT_UUID_16(0X2AEC), 814 /**< Country Code. */ 815 BLE_ATT_CHAR_DATE_UTC = BLE_ATT_UUID_16(0X2AED), 816 /**< Date UTC. */ 817 BLE_ATT_CHAR_ELEC_CURRENT = BLE_ATT_UUID_16(0X2AEE), 818 /**< Electric Current. */ 819 BLE_ATT_CHAR_ELEC_CURRENT_RANGE = BLE_ATT_UUID_16(0X2AEF), 820 /**< Electric Current Range. */ 821 BLE_ATT_CHAR_ELEC_CURRENT_SPEC = BLE_ATT_UUID_16(0X2AF0), 822 /**< Electric Current Specification. */ 823 BLE_ATT_CHAR_ELEC_CURRENT_STATIS = BLE_ATT_UUID_16(0X2AF1), 824 /**< Electric Current Statistics. */ 825 BLE_ATT_CHAR_ENERGY = BLE_ATT_UUID_16(0X2AF2), 826 /**< Energy. */ 827 BLE_ATT_CHAR_ENERGY_IN_PERIOD_OF_DAY = BLE_ATT_UUID_16(0X2AF3), 828 /**< Energy In A Period Of Day. */ 829 BLE_ATT_CHAR_EVENT_STATIC = BLE_ATT_UUID_16(0X2AF4), 830 /**< Event Statistics. */ 831 BLE_ATT_CHAR_FIXED_STR_SIXTEEN = BLE_ATT_UUID_16(0X2AF5), 832 /**< Fixed String 16. */ 833 BLE_ATT_CHAR_FIXED_STR_TWENTY_FOUR = BLE_ATT_UUID_16(0X2AF6), 834 /**< Fixed String 24. */ 835 BLE_ATT_CHAR_FIXED_STR_THIRTY_SIX = BLE_ATT_UUID_16(0X2AF7), 836 /**< Fixed String 36. */ 837 BLE_ATT_CHAR_FIXED_STR_EIGHT = BLE_ATT_UUID_16(0X2AF8), 838 /**< Fixed String 8. */ 839 BLE_ATT_CHAR_GENERIC_LEVEL = BLE_ATT_UUID_16(0X2AF9), 840 /**< Generic Level. */ 841 BLE_ATT_CHAR_GLOB_TRADE_ITEM_NUM = BLE_ATT_UUID_16(0X2AFA), 842 /**< Global Trade Item Number. */ 843 BLE_ATT_CHAR_ILLUMINANCE = BLE_ATT_UUID_16(0X2AFB), 844 /**< Illuminance. */ 845 BLE_ATT_CHAR_LUMI_EFFICACY = BLE_ATT_UUID_16(0X2AFC), 846 /**< Luminous Efficacy. */ 847 BLE_ATT_CHAR_LUMI_ENERGY = BLE_ATT_UUID_16(0X2AFD), 848 /**< Luminous Energy. */ 849 BLE_ATT_CHAR_LUMI_EXPOSURE = BLE_ATT_UUID_16(0X2AFE), 850 /**< Luminous Exposure. */ 851 BLE_ATT_CHAR_LUMI_FLUX = BLE_ATT_UUID_16(0X2AFE), 852 /**< Luminous Flux. */ 853 BLE_ATT_CHAR_LUMI_FLUX_RANGE = BLE_ATT_UUID_16(0X2B00), 854 /**< Luminous Flux Range. */ 855 BLE_ATT_CHAR_LUMI_INTENS = BLE_ATT_UUID_16(0X2B01), 856 /**< Luminous Intensity. */ 857 BLE_ATT_CHAR_MASS_FLOW = BLE_ATT_UUID_16(0X2B02), 858 /**< Mass Flow. */ 859 BLE_ATT_CHAR_PERCEIVED_LIGHT = BLE_ATT_UUID_16(0X2B03), 860 /**< Perceived Lightness. */ 861 BLE_ATT_CHAR_PERC_EIGHT = BLE_ATT_UUID_16(0X2B04), 862 /**< Percentage 8. */ 863 BLE_ATT_CHAR_POWER = BLE_ATT_UUID_16(0X2B05), 864 /**< Power. */ 865 BLE_ATT_CHAR_POWER_SPEC = BLE_ATT_UUID_16(0X2B06), 866 /**< Power Specification. */ 867 BLE_ATT_CHAR_RELAT_RUNTIME_IN_CUR_RANGE = BLE_ATT_UUID_16(0X2B07), 868 /**< Relative Runtime In A Current Range. */ 869 BLE_ATT_CHAR_RELAT_RUNTIME_IN_GEN_LEVEL_RANGE = BLE_ATT_UUID_16(0X2B08), 870 /**< Relative Runtime In A Generic Level Range. */ 871 BLE_ATT_CHAR_RELAT_RUNTIME_IN_VOLT_RANGE = BLE_ATT_UUID_16(0X2B09), 872 /**< Relative Value In A Voltage Range. */ 873 BLE_ATT_CHAR_RELAT_RUNTIME_IN_ILLUM_RANGE = BLE_ATT_UUID_16(0X2B0A), 874 /**< Relative Value In An Illuminance Range. */ 875 BLE_ATT_CHAR_RELAT_RUNTIME_IN_PERIOD_OF_DAY = BLE_ATT_UUID_16(0X2B0B), 876 /**< Relative Value In A Period Of Day. */ 877 BLE_ATT_CHAR_RELAT_RUNTIME_IN_TEMP_RANGE = BLE_ATT_UUID_16(0X2B0C), 878 /**< Relative Value In A Temperature Range. */ 879 BLE_ATT_CHAR_TEMP_EIGHT = BLE_ATT_UUID_16(0X2B0D), 880 /**< Temperature 8. */ 881 BLE_ATT_CHAR_TEMP_EIGHT_IN_PERIOD_OF_DAY = BLE_ATT_UUID_16(0X2B0E), 882 /**< Temperature 8 In A Period Of Day. */ 883 BLE_ATT_CHAR_TEMP_EIGHT_STATIS = BLE_ATT_UUID_16(0X2B0F), 884 /**< Temperature 8 Statistics. */ 885 BLE_ATT_CHAR_TEMP_RANGE = BLE_ATT_UUID_16(0X2B10), 886 /**< Temperature Range. */ 887 BLE_ATT_CHAR_TEMP_STATIS = BLE_ATT_UUID_16(0X2B11), 888 /**< Temperature Statistics. */ 889 BLE_ATT_CHAR_TIME_DECI_EIGHT = BLE_ATT_UUID_16(0X2B12), 890 /**< Time Decihour 8. */ 891 BLE_ATT_CHAR_TIME_EXPON_EIGHT = BLE_ATT_UUID_16(0X2B13), 892 /**< Time Exponential 8. */ 893 BLE_ATT_CHAR_TIME_HOUR_TWENTY_FOUR = BLE_ATT_UUID_16(0X2B14), 894 /**< Time Hour 24. */ 895 BLE_ATT_CHAR_TIME_MS_TWENTY_FOUR = BLE_ATT_UUID_16(0X2B15), 896 /**< Time Millisecond 24. */ 897 BLE_ATT_CHAR_TIME_SEC_SIXTEEN = BLE_ATT_UUID_16(0X2B16), 898 /**< Time Second 16. */ 899 BLE_ATT_CHAR_TIME_SEC_EIGHT = BLE_ATT_UUID_16(0X2B17), 900 /**< Time Second 8. */ 901 BLE_ATT_CHAR_VOLTAGE = BLE_ATT_UUID_16(0X2B18), 902 /**< Voltage. */ 903 BLE_ATT_CHAR_VOLTAGE_SPEC = BLE_ATT_UUID_16(0X2B19), 904 /**< Voltage Specification. */ 905 BLE_ATT_CHAR_VOLTAGE_STATIS = BLE_ATT_UUID_16(0X2B1A), 906 /**< Voltage Statistics. */ 907 BLE_ATT_CHAR_VOLUME_FLOW = BLE_ATT_UUID_16(0X2B1B), 908 /**< Volume Flow. */ 909 BLE_ATT_CHAR_CHROM_COORDINATE = BLE_ATT_UUID_16(0X2B1C), 910 /**< Chromaticity Coordinate. */ 911 912 BLE_ATT_CHAR_RC_FEAT = BLE_ATT_UUID_16(0x2B1D), 913 /**< RC Feature. */ 914 BLE_ATT_CHAR_RC_SETTINGS = BLE_ATT_UUID_16(0x2B1E), 915 /**< RC Settings. */ 916 BLE_ATT_CHAR_RECONNEC_CONFIG_CNTL_PT = BLE_ATT_UUID_16(0x2B1F), 917 /**< Reconnection Configuration Control Point. */ 918 BLE_ATT_CHAR_IDD_STATUS_CHANGED = BLE_ATT_UUID_16(0x2B20), 919 /**< IDD Status Changed. */ 920 BLE_ATT_CHAR_IDD_STATUS = BLE_ATT_UUID_16(0x2B21), 921 /**< IDD Status. */ 922 BLE_ATT_CHAR_IDD_ANNU_STATUS = BLE_ATT_UUID_16(0x2B22), 923 /**< IDD Annunciation Status. */ 924 BLE_ATT_CHAR_IDD_FEAT = BLE_ATT_UUID_16(0x2B23), 925 /**< IDD Features. */ 926 BLE_ATT_CHAR_IDD_STATUS_READER_CNTL_PT = BLE_ATT_UUID_16(0x2B24), 927 /**< IDD Status Reader Control Point. */ 928 BLE_ATT_CHAR_IDD_COMMAND_CNTL_PT = BLE_ATT_UUID_16(0x2B25), 929 /**< IDD Command Control Point. */ 930 BLE_ATT_CHAR_IDD_COMMAND_DATA = BLE_ATT_UUID_16(0x2B26), 931 /**< IDD Command Data. */ 932 BLE_ATT_CHAR_IDD_RECORD_ACCESS_CNTL_PT = BLE_ATT_UUID_16(0x2B27), 933 /**< IDD Record Access Control Point. */ 934 BLE_ATT_CHAR_IDD_HISTORY_DATA = BLE_ATT_UUID_16(0x2B28), 935 /**< IDD History Data. */ 936 BLE_ATT_CHAR_CLI_SUP_FEAT = BLE_ATT_UUID_16(0x2B29), 937 /**< Client Supported Features. */ 938 BLE_ATT_CHAR_DB_HASH = BLE_ATT_UUID_16(0x2B2A), 939 /**< Database Hash. */ 940 BLE_ATT_CHAR_BSS_CNTL_PT = BLE_ATT_UUID_16(0x2B2B), 941 /**< BSS Control Point. */ 942 BLE_ATT_CHAR_BSS_RESPONSE = BLE_ATT_UUID_16(0x2B2C), 943 /**< BSS Response. */ 944 BLE_ATT_CHAR_EMERGENCY_ID = BLE_ATT_UUID_16(0x2B2D), 945 /**< Emergency ID. */ 946 BLE_ATT_CHAR_EMERGENCY_TEXT = BLE_ATT_UUID_16(0x2B2E), 947 /**< Emergency Text. */ 948 949 BLE_ATT_CHAR_REGISTERED_USER = BLE_ATT_UUID_16(0x2B37), 950 /**< Registered User Characterisitc. */ 951 BLE_ATT_CHAR_SRV_SUP_FEAT = BLE_ATT_UUID_16(0x2B3A), 952 /**< Server Supported Features. */ 953 } att_uuid_t; 954 955 /** 956 * @brief Format for Characteristic Presentation. 957 */ 958 typedef enum { 959 BLE_ATT_FORMAT_BOOL = 0x01, /**< Unsigned 1-bit: true or false. */ 960 BLE_ATT_FORMAT_2BIT, /**< Unsigned 2-bit integer. */ 961 BLE_ATT_FORMAT_NIBBLE, /**< Unsigned 4-bit integer. */ 962 BLE_ATT_FORMAT_UINT8, /**< Unsigned 8-bit integer. */ 963 BLE_ATT_FORMAT_UINT12, /**< Unsigned 12-bit integer. */ 964 BLE_ATT_FORMAT_UINT16, /**< Unsigned 16-bit integer. */ 965 BLE_ATT_FORMAT_UINT24, /**< Unsigned 24-bit integer. */ 966 BLE_ATT_FORMAT_UINT32, /**< Unsigned 32-bit integer. */ 967 BLE_ATT_FORMAT_UINT48, /**< Unsigned 48-bit integer. */ 968 BLE_ATT_FORMAT_UINT64, /**< Unsigned 64-bit integer. */ 969 BLE_ATT_FORMAT_UINT128, /**< Unsigned 128-bit integer. */ 970 BLE_ATT_FORMAT_SINT8, /**< Signed 8-bit integer. */ 971 BLE_ATT_FORMAT_SINT12, /**< Signed 12-bit integer. */ 972 BLE_ATT_FORMAT_SINT16, /**< Signed 16-bit integer. */ 973 BLE_ATT_FORMAT_SINT24, /**< Signed 24-bit integer. */ 974 BLE_ATT_FORMAT_SINT32, /**< Signed 32-bit integer. */ 975 BLE_ATT_FORMAT_SINT48, /**< Signed 48-bit integer. */ 976 BLE_ATT_FORMAT_SINT64, /**< Signed 64-bit integer. */ 977 BLE_ATT_FORMAT_SINT128, /**< Signed 128-bit integer. */ 978 BLE_ATT_FORMAT_FLOAT32, /**< IEEE-754 32-bit floating point. */ 979 BLE_ATT_FORMAT_FLOAT64, /**< IEEE-754 64-bit floating point. */ 980 BLE_ATT_FORMAT_SFLOAT, /**< IEEE-11073 16-bit SFLOAT. */ 981 BLE_ATT_FORMAT_FLOAT, /**< IEEE-11073 32-bit FLOAT. */ 982 BLE_ATT_FORMAT_DUINT16, /**< IEEE-20601 format. */ 983 BLE_ATT_FORMAT_UTF8S, /**< UTF-8 string. */ 984 BLE_ATT_FORMAT_UTF16S, /**< UTF-16 string. */ 985 BLE_ATT_FORMAT_STRUCT, /**< Opaque structure. */ 986 BLE_ATT_FORMAT_LAST /**< Last format. */ 987 } att_format_t; 988 /** @} */ 989 990 #endif 991 /** @} */ 992 /** @} */ 993 994