<?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>Control of indications</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/71823/control-of-indications</link><description>In my device I send data using a characteristic with indications. The client sets the indication and data is then sent. I understand that when a device is bonded the values of characteristics remain, and the value of the indication is persistent. This</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 03 Mar 2021 04:33:32 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/71823/control-of-indications" /><item><title>RE: Control of indications</title><link>https://devzone.nordicsemi.com/thread/297347?ContentTypeID=1</link><pubDate>Wed, 03 Mar 2021 04:33:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:45649ba2-b928-4b65-953d-ca9d596d108f</guid><dc:creator>daviddedwin</dc:creator><description>&lt;p&gt;These are specification related pieces (CCCD and Service Changed) and changing their behavior implies loss of compliance. Use a vendor specific Characteristic on the Server to signal to the peer, that is the simplest option.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Control of indications</title><link>https://devzone.nordicsemi.com/thread/297193?ContentTypeID=1</link><pubDate>Tue, 02 Mar 2021 13:11:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6d777db6-45fd-4266-9ac0-5fe574d8a718</guid><dc:creator>Malcolm</dc:creator><description>&lt;p&gt;Would it be reasonable to reset the CCD in the server and the indicate in &amp;quot;service changed&amp;quot; that the CCCD has been reset and thus needs to be set again by the client?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Control of indications</title><link>https://devzone.nordicsemi.com/thread/297192?ContentTypeID=1</link><pubDate>Tue, 02 Mar 2021 13:09:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eed9e35b-678b-4332-9daa-bb9ade0d8f28</guid><dc:creator>Malcolm</dc:creator><description>&lt;p&gt;We are using indications, not notifications. If the indication included an application status, then we could negatively acknowledge, so that the data is resent. But many implementations do not present indications to the application but simply acknowledge. So we would lose data. Not good!&lt;/p&gt;
&lt;p&gt;So we may need a new flag in CCCD&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Control of indications</title><link>https://devzone.nordicsemi.com/thread/295986?ContentTypeID=1</link><pubDate>Wed, 24 Feb 2021 10:36:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7089b7e4-a870-442a-9c2e-da0094f47d44</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;In that case you would need to modify the server so that it won&amp;#39;t send notification if a certain flag has not be cleared.&lt;br /&gt;Or if you can&amp;#39;t modify the server, you can configure the client so that it ignore the notification data until it has write to a certain characteristic.&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Control of indications</title><link>https://devzone.nordicsemi.com/thread/295979?ContentTypeID=1</link><pubDate>Wed, 24 Feb 2021 10:17:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9f67fa6e-b1b9-4654-9057-621bcc36de9c</guid><dc:creator>Malcolm</dc:creator><description>&lt;p&gt;Our concern is if the server disconnects before the client has opportunity to disable indications, hence my question.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Control of indications</title><link>https://devzone.nordicsemi.com/thread/295975?ContentTypeID=1</link><pubDate>Wed, 24 Feb 2021 10:07:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:826cf093-c8ef-4a2f-8110-cb64430c59bb</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Thanks David for great explanation :)&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Control of indications</title><link>https://devzone.nordicsemi.com/thread/295918?ContentTypeID=1</link><pubDate>Tue, 23 Feb 2021 18:03:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4ee162b1-24a5-4b12-b966-763db670819f</guid><dc:creator>daviddedwin</dc:creator><description>&lt;p&gt;In a bonded connection, If you clear CCCDs locally, they will go out of sync between the client and Server as the client will remember the CCCD state.&lt;br /&gt;CCCD = Client Configuration Characteristic Descriptor and as the name implies, its owned by the client.&lt;/p&gt;
&lt;p&gt;As Hung suggests, you are likely to lose GATT compliance with this behavior.&lt;/p&gt;
&lt;p&gt;It would be a lot simpler to just stop HV Indications on disconnect and re-send&amp;nbsp; the HV Indication when connection is re-established. The HV Indication will not be sent unless you explicitly re-send it after a disconnect, so there is no danger of HV Indications being sent automatically on re-connect. The value you are sending in the HV Indication is updated in the GATT database even when the HV Indication fails to be sent due to disconnection, so on re-connect you can send the HV Indication again if the previous HV Indication had failed.&lt;/p&gt;
&lt;p&gt;I hope this is clearer.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Control of indications</title><link>https://devzone.nordicsemi.com/thread/295888?ContentTypeID=1</link><pubDate>Tue, 23 Feb 2021 15:35:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:37234f92-14ba-46fa-b0b2-d58a059e67f3</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi again,&amp;nbsp;&lt;br /&gt;If you have control over the server side, you can decide not to send notification even if the CCCD value is set. You can have an extra flag to be set before you send the notification (independent from the CCCD value)&lt;/p&gt;
&lt;p&gt;If you are not planning to qualify for a certain Bluetooth SIG&amp;#39;s profile, I don&amp;#39;t see any problem to &lt;strong&gt;not&lt;/strong&gt; re-enable CCCD on the server side if you choose to do that on a proprietary profile.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Control of indications</title><link>https://devzone.nordicsemi.com/thread/295859?ContentTypeID=1</link><pubDate>Tue, 23 Feb 2021 14:23:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:86989d18-2c60-410c-97ef-e83a49c2ed7d</guid><dc:creator>Malcolm</dc:creator><description>&lt;p&gt;If I have control of the server side, would it be permissable to disable indications when the client disconnects, so that it is disabled on next connection? This may go against described behaviour of BLE.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Control of indications</title><link>https://devzone.nordicsemi.com/thread/295855?ContentTypeID=1</link><pubDate>Tue, 23 Feb 2021 14:14:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:828f36c6-75f2-4da1-b9d4-78a905f454c3</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Malcolm,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Please clarify that you have control of the client which receive the notification, not the service side, where the notification is sent from , correct ?&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;In that case if you don&amp;#39;t have control over the server, I can think of anything solution beside disabling CCCD before you disconnect, or only enable CCCD when you want to receive data and then turn it off after that.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Or you can try not to bond with the device.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Control of indications</title><link>https://devzone.nordicsemi.com/thread/295649?ContentTypeID=1</link><pubDate>Mon, 22 Feb 2021 15:09:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b8d819cd-9f7f-4ba8-9a4b-e0d9dd09db81</guid><dc:creator>Malcolm</dc:creator><description>&lt;p&gt;I have control of the client. I understand that if the client initialises the indications in the CCCD this setting is persistent in a bonded device, and thus will be set on the next connection.This will cause data to be sent as soon as connection is made. However I would like to read some characteristics before data is sent. Is there a way for the server to reset the CCCD so that indications are reset on connection?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Control of indications</title><link>https://devzone.nordicsemi.com/thread/295600?ContentTypeID=1</link><pubDate>Mon, 22 Feb 2021 13:44:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3f2f9547-2815-4cab-a168-e78b3b4c726a</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;HI Malcolm,&lt;/p&gt;
&lt;p&gt;Could you give some more information about your setup ?&amp;nbsp; Do you have control over both sides of the connection ?&amp;nbsp;&lt;br /&gt;The server (peripheral)&amp;nbsp;can choose to not re-init the value of the CCCD of the characteristic and wait for the write to enable indication from the client (central).&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>