Generic Attribute Profile (GATT)
www.ti.com
48
SWRU271H–October 2010–Revised April 2019
Submit Documentation Feedback
Copyright © 2010–2019, Texas Instruments Incorporated
The Bluetooth Low Energy Protocol Stack
5.5.3 GATT Client Abstraction
Like the GAP layer, the GATT layer is also abstracted. This abstraction depend on whether the device is a
GATT Client or a GATT server. According to Device Information Service (Bluetooth Specification), version
1.0 (24-May-2011), the GATT layer is an abstraction of the ATT layer.
GATT clients do not have attribute tables or profiles because they gather information rather than serving it.
Most interfacing with the GATT layer occurs directly from the application. Use the direct GATT API
described in Appendix D. Figure 5-10 shows the abstraction.
Figure 5-10. GATT Client Abstraction
5.5.3.1 Using the GATT Layer Directly
This section describes how to use the GATT layer directly in the application. The functionality of the GATT
layer is implemented in the library code but you can find the header functions can in gatt.h. You can find
the complete API for the GATT layer in Appendix D. You can find more information on the functionality of
these commands in the Device Information Service (Bluetooth Specification), version 1.0 (24-May-2011).
GATT client applications uses these functions primarily. A few server-specific functions exist which are
described in the API and not considered here. Most GATT functions return ATT events to the application,
so consider the ATT API in Appendix D. Perform the following procedure to use the GATT layer when
functioning as a GATT client (that is, in the SimpleBLECentral project):
1. Initialize the GATT client. Do this in the application initialization function.
2. Register to receive incoming ATT indications and notifications. Do this in the application initialization
function.