www.ti.com
Generic Attribute Profile (GATT)
47
SWRU271H–October 2010–Revised April 2019
Submit Documentation Feedback
Copyright © 2010–2019, Texas Instruments Incorporated
The Bluetooth Low Energy Protocol Stack
The simpleGATTProfile contains the following five characteristics:
• SIMPLEPROFILE_CHAR1 – A 1-byte value that can be read or written from a GATT-client device
• SIMPLEPROFILE_CHAR2 – A 1-byte value that can be read from a GATT-client device, but cannot be
written.
• SIMPLEPROFILE_CHAR3 – A 1-byte value that can be written from a GATT-client device, but cannot
be read.
• SIMPLEPROFILE_CHAR4 – A 1-byte value that cannot be directly read or written from a GATT-client
device (This value is notifiable and can be configured for notifications to be sent to a GATT client
device.)
• SIMPLEPROFILE_CHAR5 – A 5-byte value that can be read but not written from a GATT-client device
The following is a line-by-line description of this attribute table, referenced by the attribute handle:
• 0x001F: This attribute is the simpleGATTprofile service declaration. This declaration has a UUID of
0x2800 (Bluetooth-defined GATT_PRIMARY_SERVICE_UUID). The value of this declaration is the
UUID of the simpleGATTprofile (custom-defined by TI).
• 0x0020: This attribute is the SIMPLEPROFILE_CHAR1 characteristic declaration. This declaration can
be thought of as a pointer to the value of SIMPLEPROFILE_CHAR1. This declaration has a UUID of
0x2803 (Bluetooth-defined GATT_CHARACTER_UUID). The value of this declaration and all other
characteristic declarations is a five-byte value explained as follows (from MSB to LSB):
– Byte 0: the properties of the SIMPLEPROFILE_CHAR1. These properties are defined in the
Bluetooth specification [13]. The following are a few of the relevant properties:
• 0x02: Permits reads of the characteristic value
• 0x04: Permits writes of the characteristic value without a response
• 0x08: Permits writes of the characteristic value (with a response)
• 0x10: Permits of notifications of the characteristic value (without acknowledgement)
• 0x20: Permits notifications of the characteristic value (with acknowledgement)
The value of 0x0A means the characteristic is readable (0x02) and writeable (0x08).
– Bytes 1-2: the byte-reversed handle where the SIMPLEPROFILE_CHAR1 value is located (handle
0x0021)
– Bytes 3-4: the UUID of the SimpleProfileChar1 value (custom-defined 0xFFF1)
• 0x0021: This attribute is the SIMPLEPROFILE_CHAR1 value. The attribute has a UUID of 0xFFF1
(custom-defined). Its value is the actual payload data of the characteristic. Indicated by its
characteristic declaration (handle 0x0020), this value is readable and writeable.
• 0x0022: This attribute is the SIMPLEPROFILE_CHAR1 user description. The attribute has a UUID of
0x2901 (Bluetooth-defined). Its value is a user-readable string describing the characteristic.
• 0x0023 – 0x002F: These attributes follow the same structure as the SIMPLEPROFILE_CHAR1 with
regard to the remaining four characteristics. The only different attribute, handle 0x002B, is described in
the following bullet.
• 0x002B: This attribute is the SIMPLEPROFILE_CHAR4 client characteristic configuration. This
configuration has a UUID of 0x2902 (Bluetooth-defined). By writing to this attribute, a GATT server can
configure the SIMPLEPROFILE_CHAR4 for notifications (writing 0x0001) or indications (writing
0x0002). Writing a 0x0000 to this attribute will disable notifications and indications.