www.ti.com
Generic Attribute Profile (GATT)
51
SWRU271H–October 2010–Revised April 2019
Submit Documentation Feedback
Copyright © 2010–2019, Texas Instruments Incorporated
The Bluetooth Low Energy Protocol Stack
5. Ensure the GATT client is registered to receive these ATT events in step 2.
These events will also be sent as ATT events in GATT messages to the application and should be
handled as described in this procedure.
5.5.4 GATT Server Abstraction
As a GATT server, most of the GATT functionality is handled by the individual GATT profiles. These
profiles use of the GattServApp, a configurable module which stores and manages the attribute table.
Figure 5-11 shows the abstraction hierarchy:
Figure 5-11. GATT Server Abstraction
The design process is as follows:
1. Create GATT profiles that configure the GATTServApp module.
2. Use API of the module to interface with the GATT layer.
With a GATT server, direct calls to GATT layer functions are unnecessary. The application interfaces with
the profiles.
5.5.4.1 GATTServApp Module
The GATTServApp module stores and manages the application-wide attribute table. Various profiles use
the table to add their characteristics to the attribute table. The Bluetooth Low Energy stack uses the table
to respond to discovery requests from a GATT client. For example, a GATT client may send a Discover all
Primary Characteristics message. The Bluetooth Low Energy stack on the GATT server receives this
message and uses the GATTServApp module to find and send the primary characteristics in the attribute
table wirelessly. This type of functionality is beyond the scope of this document and is implemented in the
library code. The functions of the GATTServApp are accessible from the profiles and defined in
gattservapp_util.c and in the API in Appendix E. These functions include finding specific attributes, reading
client characteristic configurations, and modifying client characteristic configurations.