<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Need help to understand the system of API functions</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/19660/need-help-to-understand-the-system-of-api-functions</link><description>I am a beginner in the study of Bluetooth, and I have difficulty in understanding the purpose of API functions Bluetooth stack. For a better understanding of the system API functions, I would like to have a General understanding about the system functions</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 13 Feb 2017 19:11:07 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/19660/need-help-to-understand-the-system-of-api-functions" /><item><title>RE: Need help to understand the system of API functions</title><link>https://devzone.nordicsemi.com/thread/76494?ContentTypeID=1</link><pubDate>Mon, 13 Feb 2017 19:11:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:654ca69d-3524-49c8-b12d-7f370ae01b81</guid><dc:creator>FormerMember</dc:creator><description>&lt;p&gt;The BLE API functions are categorized according to where in the BLE specification that action belongs:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Generic Access Profile (GAP)&lt;/strong&gt;, Bluetooth Core Specification v. 4.2, Vol. 3, Part C: From the introduction of the GAP part in the specification:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This profile defines the generic
procedures related to discovery of
Bluetooth devices (idle mode
procedures) and link management
aspects of connecting to Bluetooth
devices (connecting mode procedures).
It also defines procedures related to
use of different security levels. In
addition, this profile includes common
format requirements for parameters
accessible on the user interface
level.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The functions related to GAP actions/operations can be found &lt;a href="http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.s132.api.v3.0.0%2Fgroup___b_l_e___g_a_p___f_u_n_c_t_i_o_n_s.html&amp;amp;cp=2_3_0_1_1_2_1_2"&gt;here&lt;/a&gt;. The functions include: start advertising, initiate a connection, disconnect, encryption.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Generic Attribute Profile (GATT)&lt;/strong&gt;, Bluetooth Core Specification v. 4.2, Vol. 3, Part F, from the introduction of that part in the BLE specfication:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This specification defines the Generic
Attribute Profile that describes a
service framework using the Attribute
Protocol for discovering services, and
for reading and writing characteristic
values on a peer device.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It means that GATT operations are related to operations on the attributes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.s132.api.v3.0.0%2Fgroup___b_l_e___g_a_t_t_s___f_u_n_c_t_i_o_n_s.html&amp;amp;cp=2_3_0_1_1_2_4_2"&gt;Server (GATTS)&lt;/a&gt;: Operations related to the server role. Typical operations are updating values to the client using notifications or indications, or updating an attribute value locally.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.s132.api.v3.0.0%2Fgroup___b_l_e___g_a_p___f_u_n_c_t_i_o_n_s.html&amp;amp;cp=2_3_0_1_1_2_1_2"&gt;Client (GATTC)&lt;/a&gt;: Operations related to the client role. Typical operations are reading a value from or writing a value to a server.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you are new to BLE, &lt;a href="https://devzone.nordicsemi.com/tutorials/37/"&gt;this&lt;/a&gt; video tutorial can give you an introduction.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>