<?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>Handling two indications simultaneously</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/2820/handling-two-indications-simultaneously</link><description>Hello all,
I have two services which has characteristics with indication only property. I am using sensor simulator to generate values. When i write first CCCD write of one characteristic it indicates properly. But when write second CCCD (first CCCD</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 17 Jun 2014 05:56:02 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/2820/handling-two-indications-simultaneously" /><item><title>RE: Handling two indications simultaneously</title><link>https://devzone.nordicsemi.com/thread/10795?ContentTypeID=1</link><pubDate>Tue, 17 Jun 2014 05:56:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:df71cd06-74a9-47f6-9da8-2310b2d00a2b</guid><dc:creator>David Edwin</dc:creator><description>&lt;p&gt;An Indication needs to be confirmed before the next indication can be sent. This is a requirement of the Bluetooth specification in the Attribute protocol.
See volume 3 part F, section 3.4.7&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The client shall send a Handle Value Confirmation in response to a Handle
Value Indication. No further indications to this client shall occur until the confirmation
has been received by the server.
Blockquote&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;To handle this correctly:
Write to the CCCDs to enable indications.
Send the first Indication
However do not send the next Indication until the Confirmation of the first Indication has arrived.&lt;/p&gt;
&lt;p&gt;nRF8001:
The Confirmation is received as the ACI DataAck Event (Section 27 Data events in nRF8001 datasheet)&lt;/p&gt;
&lt;p&gt;nRF51822:
The Confirmation is received as the event BLE_GATTS_EVT_HVC&lt;/p&gt;
&lt;p&gt;In any case since you do not seem to care about the Confirmation I would suggest that you use Notifications. When sending any data using Notifications you will get a radio level acknowledgement (as the Bluetooth radio provides a reliable link).
Notifications are not acknowledged at the Atttribute protocol layer, so they can be sent at any time so long as the transmitting radio has the buffer available, they get the radio level acknowledgement that every Bluetooth packet transmitted receives.&lt;/p&gt;
&lt;p&gt;The radio level acknowledgements are provided as ACI Data Credit Event in the nRF8001 IC. In the nRF51822 IC the radio level acknowledgements are provided with the BLE_EVT_TX_COMPLETE&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>