<?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>Calling sd_ble_gatts_hvx in radio notification</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/8579/calling-sd_ble_gatts_hvx-in-radio-notification</link><description>Hey everyone,
I&amp;#39;m trying to send a value as a notification packet from GATT Server (slave) to GATT client (master) at 7.5 ms connection interval. I have set up the radio notification IRQ (SW IRQ) to fire before the radio becomes active at low IRQ priority</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 27 Aug 2015 09:16:47 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/8579/calling-sd_ble_gatts_hvx-in-radio-notification" /><item><title>RE: Calling sd_ble_gatts_hvx in radio notification</title><link>https://devzone.nordicsemi.com/thread/31396?ContentTypeID=1</link><pubDate>Thu, 27 Aug 2015 09:16:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0f125461-094e-4bed-8bac-ccdf8d3f2aee</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Thanks for the figure, you are correct, if you switch the role, and use the master to send data the TX_COMPLETE will tell the number of packets actually acked on that same event.&lt;/p&gt;
&lt;p&gt;I wasn&amp;#39;t expect that you have control over both side. Your approach is correct.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Calling sd_ble_gatts_hvx in radio notification</title><link>https://devzone.nordicsemi.com/thread/31394?ContentTypeID=1</link><pubDate>Wed, 26 Aug 2015 09:11:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:12e0ab11-b5a0-4cef-9030-f865835bf206</guid><dc:creator>FormerMember</dc:creator><description>&lt;p&gt;Write command and notification are similar in the sense that they are unacknowledged at the GATT layer. What is being used depends on which device (link layer master or slave) is GATT client and GATT server. For this discussion lets consider both as &lt;em&gt;goodies&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Now there are two cases of &lt;em&gt;goodies&lt;/em&gt; being sent, whether its LL master sending them or the slave. In case the master is sending &lt;em&gt;goodies&lt;/em&gt; to slave TX_COMPLETE is sent immediately after the event. In case the slave is sending &lt;em&gt;goodies&lt;/em&gt; to master, the slave has to wait till after the next conn event to get the TX_COMPLETE.&lt;/p&gt;
&lt;p&gt;In BLE it is always the master sending the first packet and slave responding in a connection event. With this we can see that for a slave to get a LL ack from the master with the Sequence Number, it has to wait one conn event. In case of master the slave has to respond back immediately, thus getting an ack and then giving TX_COMPLETE event to the application. I&amp;#39;ve made a small diagram to explain this and is added as an attachment to the question.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Calling sd_ble_gatts_hvx in radio notification</title><link>https://devzone.nordicsemi.com/thread/31395?ContentTypeID=1</link><pubDate>Wed, 26 Aug 2015 07:35:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:faac966c-f467-4914-9246-43c8c3a27e42</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Your understanding of &lt;em&gt;&amp;quot; The softdevice can only give the TX_COMPLETE event after the next conn event after sending the notification packet. This is because only after receiving the next packet from the master the slave can get an ACK through the sequence number.&amp;quot;&lt;/em&gt; is correct.&lt;/p&gt;
&lt;p&gt;What do you mean by &lt;em&gt;&amp;quot;So, I&amp;#39;ll test in a configuration where the master sends the data packets to the slave. In this case the ACK is immediate, thus being able to queue up only one packet. Edit Works with a master with GATT client sending write commands to a master with GATT server.&amp;quot; ?&lt;/em&gt;
Write command and notification are similar in the sense that it will be queued and the TX_COMPLETE only comes after 1 connection event.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Calling sd_ble_gatts_hvx in radio notification</title><link>https://devzone.nordicsemi.com/thread/31393?ContentTypeID=1</link><pubDate>Tue, 25 Aug 2015 08:44:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:edbdd89c-08b7-4ef7-8cfc-05cd6d7f4093</guid><dc:creator>FormerMember</dc:creator><description>&lt;p&gt;I should have realized this way back. The softdevice can only give the TX_COMPLETE event after the next conn event after sending the notification packet. This is because only after receiving the next packet from the master the slave can get an ACK through the sequence number.&lt;/p&gt;
&lt;p&gt;So, I&amp;#39;ll test in a configuration where the master sends the data packets to the slave. In this case the ACK is immediate, thus being able to queue up only one packet. &lt;strong&gt;Edit&lt;/strong&gt; Works with a master with GATT client sending write commands to a master with GATT server.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Calling sd_ble_gatts_hvx in radio notification</title><link>https://devzone.nordicsemi.com/thread/31392?ContentTypeID=1</link><pubDate>Mon, 24 Aug 2015 14:59:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7bc9b38b-2bfe-4f3b-b554-b43d4f0c37c0</guid><dc:creator>FormerMember</dc:creator><description>&lt;p&gt;I&amp;#39;ve got it working to send at every conn event of 7.5 ms by queuing up to 2 packets. For now we&amp;#39;ll settle for this. Thanks for all the help.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Calling sd_ble_gatts_hvx in radio notification</title><link>https://devzone.nordicsemi.com/thread/31391?ContentTypeID=1</link><pubDate>Mon, 24 Aug 2015 10:41:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e1669a40-c73e-431a-961e-29efa0c0cd49</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;As you already mentioned, the nature of BLE doesn&amp;#39;t support realtime requirement. All packet will be transmitted I assume that you want to only update the latest sample on each connection interval, my suggestion for you is to try to keep track of the number of packet in the buffer by using the number of packet you queue, minus the number of packet sent reported in BLE_EVT_TX_COMPLETE. If in one BLE_EVT_TX_COMPLETE you have the number of packet in the buffer is full, you would need to queue at least 7 packets (if the max number of packet per connection interval is 6). This is to make sure you will have at least 1 packet to be sent in the connection after the next one. So that we will not get into the situation with one connection event with packet sent and one without.&lt;/p&gt;
&lt;p&gt;But anyway, it will have a 7.5ms latency because you can&amp;#39;t have a packet sent immediately but will have to wait for the next connection interval.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Calling sd_ble_gatts_hvx in radio notification</title><link>https://devzone.nordicsemi.com/thread/31390?ContentTypeID=1</link><pubDate>Fri, 21 Aug 2015 13:56:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5a02ff92-0394-464d-bb20-1fcd0632cda7</guid><dc:creator>FormerMember</dc:creator><description>&lt;p&gt;Your theory seems correct. We also thought so. It is confirmed by the sniffer screenshot I attached in the original question.
Aryan seems to have got this working in his setup, even with checking if &lt;code&gt;BLE_EVT_TX_COMPLETE&lt;/code&gt; event is called. Any theory on how to get that working?
We&amp;#39;re working on an application where the most recent sample needs to be sent. The reason why we can&amp;#39;t queue up in the TX buffer is that we cannot remove from the buffer once a packet is added. So if I queue up because of the reliable nature of BLE, the buffer can only be updated once all the packets are sent. This can become a problem where there is wireless interference causing old samples being tried to be sent over and over.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Calling sd_ble_gatts_hvx in radio notification</title><link>https://devzone.nordicsemi.com/thread/31389?ContentTypeID=1</link><pubDate>Fri, 21 Aug 2015 13:19:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:272ec3cd-5b19-462c-9f4e-9b2e1e8c9668</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;I think the issue was with how you call sd_ble_gatts_hvx. BLE_EVT_TX_COMPLETE is triggered at the end of an event if in that event, the TX packet (notification/write command) sents in the last event was acked.&lt;/p&gt;
&lt;p&gt;This means if you queue only one packet when BLE_EVT_TX_COMPLETE happens, you will have one connection event with one notification next connection event will be no notification (it&amp;#39;s the conn event when you have the BLE_EVT_TX_COMPLETE event) and next with connection event with one notification (BLE_EVT_TX_COMPLETE will not come for this event, because there was no notification sent last event, BLE_EVT_TX_COMPLETE will come at the next event).&lt;/p&gt;
&lt;p&gt;I would suggest you to try testing by queue as much as possible data when you receive BLE_EVT_TX_COMPLETE, until the buffer is full. This way, you will make sure at any connection event, there will be something sent.&lt;/p&gt;
&lt;p&gt;A sniffer trace will really clarify what happens in the air (connection interval, notification latency) and explains everything.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Calling sd_ble_gatts_hvx in radio notification</title><link>https://devzone.nordicsemi.com/thread/31388?ContentTypeID=1</link><pubDate>Fri, 21 Aug 2015 10:58:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ec857c2c-0d14-4ae1-8a5f-0b195d59b699</guid><dc:creator>FormerMember</dc:creator><description>&lt;p&gt;Hi Hung,&lt;/p&gt;
&lt;p&gt;There are few setups that I&amp;#39;ve tested:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;S110 slave and S120 master on PCA10028 both with hardcoded max and min conn interval of 7.5 ms&lt;/li&gt;
&lt;li&gt;S110 with 7.5 ms max and min conn interval and S120 with 7.5 ms min conn interval and 30 ms max conn interval. In this I call &lt;code&gt;sd_ble_gap_conn_param_update(m_conn_handle,0);&lt;/code&gt; right after connection establishment. I wait for  &lt;code&gt;BLE_GAP_EVT_CONN_PARAM_UPDATE&lt;/code&gt; before sending notification packets as shown in the second comment to the original question.&lt;/li&gt;
&lt;li&gt;Same as above with an Android phone as master instead of S120.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In all the cases the notification packets are received at an interval of 15 ms. Please note that I check that I wait for &lt;code&gt;BLE_EVT_TX_COMPLETE&lt;/code&gt; event before calling &lt;code&gt;sd_ble_gatts_hvx&lt;/code&gt; in the active signal radio notification handler.&lt;/p&gt;
&lt;p&gt;This application cannot work if the notification are only sent at 15 ms interval. Could you please look into this.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Calling sd_ble_gatts_hvx in radio notification</title><link>https://devzone.nordicsemi.com/thread/31387?ContentTypeID=1</link><pubDate>Thu, 20 Aug 2015 09:35:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0000ea5a-41e9-48c8-88cd-6b119dbeb766</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;@Narendra: The First connection parameter update happens after two seconds as defined by FIRST_CONN_PARAMS_UPDATE_DELAY here  in the peripheral main.c:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#define FIRST_CONN_PARAMS_UPDATE_DELAY  APP_TIMER_TICKS(2000, APP_TIMER_PRESCALER) 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I suspect that in your case the connection parameter didn&amp;#39;t get updated correctly. You can check this out by capturing &lt;a href="https://www.nordicsemi.com/eng/Products/Bluetooth-Smart-Bluetooth-low-energy/nRF-Sniffer/(language)/eng-GB"&gt;a sniffer trace&lt;/a&gt;. And see what happens over the air.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Calling sd_ble_gatts_hvx in radio notification</title><link>https://devzone.nordicsemi.com/thread/31386?ContentTypeID=1</link><pubDate>Wed, 19 Aug 2015 16:56:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:538798d8-bf60-4a92-aaa4-bce5a61ddcd0</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;I do not remember exactly when the notification frequency changed, I think it is after connection param update, which was after 2 secs. It seems to match the logic analyzer output. hope some one else could help you as i am on vacation for this week.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Calling sd_ble_gatts_hvx in radio notification</title><link>https://devzone.nordicsemi.com/thread/31385?ContentTypeID=1</link><pubDate>Wed, 19 Aug 2015 09:01:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4a541946-7681-42d6-a50d-d2aa69df8542</guid><dc:creator>FormerMember</dc:creator><description>&lt;p&gt;Bumping this up. Aryan, a bit of your time please.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Calling sd_ble_gatts_hvx in radio notification</title><link>https://devzone.nordicsemi.com/thread/31384?ContentTypeID=1</link><pubDate>Wed, 12 Aug 2015 14:46:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8ab63be9-b4dd-454c-9278-e775d16fa464</guid><dc:creator>FormerMember</dc:creator><description>&lt;p&gt;Sorry to be bothering you again. I am still getting the notifications packets at the client at 15 ms. I&amp;#39;m using the examples that you&amp;#39;ve given.&lt;/p&gt;
&lt;p&gt;Could you give this info: In the graph that you posted, when did the doubling of the freq of the HVX happen and become equal to that of irq handler?&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Calling sd_ble_gatts_hvx in radio notification</title><link>https://devzone.nordicsemi.com/thread/31383?ContentTypeID=1</link><pubDate>Wed, 12 Aug 2015 09:50:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:691d3a28-7e6f-4235-bf3d-8d6b323b3d3b</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/S110_5F00_LBS_5F00_client_5F00_server_5F00_central_5F00_peripheral_2D00_master.zip"&gt;S110_LBS_client_server_central_peripheral-master.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/S120_5F00_LBS_5F00_client_5F00_server_5F00_central_5F00_peripheral_2D00_master.zip"&gt;S120_LBS_client_server_central_peripheral-master.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;These are based on SDK8.1 from Github example. you will need to include &lt;a href="https://devzone.nordicsemi.com/question/40670/sdk81-app_gpiote-and-nrf_drv_gpiote-conflict/"&gt;this&lt;/a&gt; fix to compile them.
copy them to SDK\examples\ble_peripheral folder.
Good luck&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Calling sd_ble_gatts_hvx in radio notification</title><link>https://devzone.nordicsemi.com/thread/31382?ContentTypeID=1</link><pubDate>Wed, 12 Aug 2015 09:13:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d982dc4f-912d-49d6-b075-ede5abece793</guid><dc:creator>FormerMember</dc:creator><description>&lt;p&gt;Thanks Aryan! Could you share (if fine with you) the main file for the central device and makefiles for the two devices. Today I&amp;#39;ll dig in and see why its not working as it should for me.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Calling sd_ble_gatts_hvx in radio notification</title><link>https://devzone.nordicsemi.com/thread/31381?ContentTypeID=1</link><pubDate>Wed, 12 Aug 2015 08:46:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:02ff87e5-907b-4972-a760-1e8dd563c5ba</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Hi Prithvi,
I have just used your radio init and radio irq handler (exactly as it is)
I confirm that after connection param update is done, the connection interval is 7.5ms and after the connection param update, I have checked that notification is sent at the same interval and received on peer at the same interval&lt;/p&gt;
&lt;p&gt;I believe that the image you see is self explanatory.
&lt;img src="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/6765.Capture2.PNG" alt="image description" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Calling sd_ble_gatts_hvx in radio notification</title><link>https://devzone.nordicsemi.com/thread/31380?ContentTypeID=1</link><pubDate>Tue, 11 Aug 2015 23:03:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:caad4601-6479-415d-83e8-c61a2312c617</guid><dc:creator>FormerMember</dc:creator><description>&lt;p&gt;I can&amp;#39;t seem to recreate what was asked in the original question. I&amp;#39;ll give it a try again in any case. Please let me know how often is the GATT notification packet received at the GATT client in your setup with the example that I posted?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Calling sd_ble_gatts_hvx in radio notification</title><link>https://devzone.nordicsemi.com/thread/31379?ContentTypeID=1</link><pubDate>Tue, 11 Aug 2015 14:41:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b09e3716-c194-4dc5-84b1-fd54522909d1</guid><dc:creator>FormerMember</dc:creator><description>&lt;p&gt;The radio active event is called every 7.5 ms. How often is the GATT notification packet received at the GATT client in your setup?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Calling sd_ble_gatts_hvx in radio notification</title><link>https://devzone.nordicsemi.com/thread/31378?ContentTypeID=1</link><pubDate>Tue, 11 Aug 2015 13:49:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1362fcfb-a00e-45a7-9d3c-8cd5d51dca8f</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Prithvi,
I see a 7.5077ms interval with and without hvx. So it is as expected and nothing is wrong. Probably something else in your project effects this.
Now I have tested with same setup like yours S120 Central and S110 peripheral, GCC but on windows.
I do not think GCC will differ that much on linux.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Calling sd_ble_gatts_hvx in radio notification</title><link>https://devzone.nordicsemi.com/thread/31377?ContentTypeID=1</link><pubDate>Tue, 11 Aug 2015 11:39:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4eee7f7e-8d4a-42d8-9a8f-308663e2d56e</guid><dc:creator>FormerMember</dc:creator><description>&lt;p&gt;I&amp;#39;ve added a minimal example in the original question that does what I mentioned in my previous comment. It is based on nrf-ble-app-lbs SD 8.0 example. The pin toggling in the radio event happens every 7.5 ms, but the notification received in the master is at every 15 ms. Please see if you can figure out what is happening. Thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Calling sd_ble_gatts_hvx in radio notification</title><link>https://devzone.nordicsemi.com/thread/31376?ContentTypeID=1</link><pubDate>Tue, 11 Aug 2015 07:53:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9e7cd1e5-9596-48c7-808c-c7f8fd268548</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;I cannot reproduce this PhrithviRaj,
I tested this with latest SDK9.0 and the softdevice that comes with it on PCA100028.
Now i wait for your example project.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Calling sd_ble_gatts_hvx in radio notification</title><link>https://devzone.nordicsemi.com/thread/31375?ContentTypeID=1</link><pubDate>Tue, 11 Aug 2015 07:30:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:60984df8-72ba-454f-95e1-bebf23cd4bba</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Hi PrithviRaj,
If you can post a minimal example like you mentioned where I can reproduce this problem, it would save me a lot of time to set up the environment. Also I need to ask something you probably have checked before. You are checking the radio notification callback frequency and not the frequency with which HVX is done right?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Calling sd_ble_gatts_hvx in radio notification</title><link>https://devzone.nordicsemi.com/thread/31374?ContentTypeID=1</link><pubDate>Mon, 10 Aug 2015 22:59:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6414203c-fcd4-4fc4-8bc3-6812e7589690</guid><dc:creator>FormerMember</dc:creator><description>&lt;p&gt;Thanks Aryan for verifying this. Updates from my side - When I changed from sending notification of payload of 1 octet to 16 octet, the radio notification handler gets called every 7.5 ms as it should. Strange. This was based on the ble-lbs example - &lt;a href="https://github.com/NordicSemiconductor/nrf51-ble-app-lbs/tree/SDKv8.0"&gt;github.com/.../SDKv8.0&lt;/a&gt; I&amp;#39;ll try to see if I can get a minimal example where I can recreate this behaviour and post it here for your reference.&lt;/p&gt;
&lt;p&gt;I would appreciate your help with my current problem which is similar to what I posted but not exactly the same. I&amp;#39;m working on an application where the most recent sample needs to be sent as soon as possible. Here the reliability of BLE&amp;#39;s link layer is a bane rather than a boon. This is why I cannot queue up packets in the application buffer, as this will affect the latency. So what I&amp;#39;m doing is:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;bool tx_pending =  false;
void RADIO_NOTIFICATION_IRQHandler(void){
      if(false == tx_pending){
            //Send a packet as notification
      }
}

void on_ble_evt(void){
      switch(evt_id){
            case BLE_EVT_TX_COMPLETE:
                  tx_pending = true;
                  break;
      }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Even with different connection intervals and different radio notification distances the notifications are always received at an interval double of the connection interval. Could you please see why this is. As far as I read, queueing up in the radio notification event is early enough to be sent in that connection event.
Thanks a lot!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Calling sd_ble_gatts_hvx in radio notification</title><link>https://devzone.nordicsemi.com/thread/31373?ContentTypeID=1</link><pubDate>Mon, 10 Aug 2015 13:39:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eeb29367-e551-430e-b0ec-81b73fb04697</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;I did test it quickly with the setup I had S130 , Keil , Windows, but it was working normal.
I will try your setup tomorrow with S120, Ubuntu, gcc and check the results.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>