<?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>How to use Service Change in GATT server and GATT client</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/47601/how-to-use-service-change-in-gatt-server-and-gatt-client</link><description>Hi all, 
 I have a trouble about understanding. 
 As far as I understand, when Device 1 send service change indication to Device 2, Device 2 will rediscovery service of Device 1 for update GATT table of Device 1. 
 When I test with Gatts_c example and</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 23 May 2019 08:30:34 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/47601/how-to-use-service-change-in-gatt-server-and-gatt-client" /><item><title>RE: How to use Service Change in GATT server and GATT client</title><link>https://devzone.nordicsemi.com/thread/188738?ContentTypeID=1</link><pubDate>Thu, 23 May 2019 08:30:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:80807346-8d92-46be-9cd4-6d221eb85b9f</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;When you use a function, please have a look at the description of the function (in the .h file) to see how it work and which error code can be expected from that function. In this case the description is in ble_gatts.h.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The error code 12291 = 0x3003 =&amp;nbsp;BLE_ERROR_INVALID_ATTR_HANDLE&lt;/p&gt;
&lt;p&gt;You need to use the handle range inside the range of handles you have in the attribute table.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to use Service Change in GATT server and GATT client</title><link>https://devzone.nordicsemi.com/thread/188635?ContentTypeID=1</link><pubDate>Wed, 22 May 2019 15:26:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f7fd9b5f-e37f-493a-b300-8d8255d43aad</guid><dc:creator>Giang</dc:creator><description>&lt;p&gt;Hi Hung Bui,&lt;/p&gt;
&lt;p&gt;I checked and this function return error 12291. But I don&amp;#39;t know what is this error ? Can you solve it ?&lt;/p&gt;
&lt;p&gt;I hope you explain more carefully the use of the service change characteristic. As me know,&amp;nbsp;You can use the characteristic change service in the DFU process. Please explain its purpose for me.&amp;nbsp;&lt;span&gt;I want to understand more about the service change characteristic and the circumstances in which to use it.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thank!!!&lt;/span&gt;&lt;/p&gt;
&lt;div class="gsrt tw-ta-container tw-nfl" id="tw-target-text-container"&gt;
&lt;pre class="tw-data-text tw-ta tw-text-small" lang="en"&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to use Service Change in GATT server and GATT client</title><link>https://devzone.nordicsemi.com/thread/188564?ContentTypeID=1</link><pubDate>Wed, 22 May 2019 12:42:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9adc43bf-c2e3-486d-9593-d90dd1570a5f</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Giang,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Please check the error return code of&amp;nbsp;sd_ble_gatts_service_changed() function. Make sure it&amp;#39;s successful.&amp;nbsp;&lt;br /&gt;Also the CCCD to enable indication should be enabled (in your app it&amp;#39;s enabled, but I&amp;#39;m not sure about the Device 2)&lt;/p&gt;
&lt;p&gt;Please be aware that on the phone Android/iOS, I don&amp;#39;t think that the app would&amp;nbsp;receive an event when the service changed indication is received. It&amp;#39;s handled by the OS itself .&lt;/p&gt;
&lt;p&gt;I would suggest to use the sniffer trace to check if the indication is actually sent.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>