<?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>BLE Notification Throughput &amp;amp; Characteristics</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/33819/ble-notification-throughput-characteristics</link><description>Hi All, 
 I&amp;#39;m working with SDK 12.3.0 and an nrf52832. I currently have 3 characteristics in my custom service. They are 17, 11, and 6 bytes long and are used to send sensor data in various configurations. 
 What I&amp;#39;ve noticed is that if I send 20,000</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 02 May 2018 15:41:51 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/33819/ble-notification-throughput-characteristics" /><item><title>RE: BLE Notification Throughput &amp; Characteristics</title><link>https://devzone.nordicsemi.com/thread/130646?ContentTypeID=1</link><pubDate>Wed, 02 May 2018 15:41:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:256b64da-d839-4d84-98ff-edc5f02db3aa</guid><dc:creator>leonhart88</dc:creator><description>&lt;p&gt;Thanks Edvin.&amp;nbsp; I&amp;#39;ll take a look at this after I finish some other implementation work.&amp;nbsp; Will let you know if I have further questions or if this solves the issue.&amp;nbsp; Thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Notification Throughput &amp; Characteristics</title><link>https://devzone.nordicsemi.com/thread/130468?ContentTypeID=1</link><pubDate>Wed, 02 May 2018 08:47:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bcff9718-b188-47ac-8cc2-ec860d6785b6</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Please see the attached project. I used Keil µVision, but except for changing the ram start and size, I don&amp;#39;t think there were any changes to the project, except for the main.c file and the sdk_config.h file, so any IDE should work.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Notice how the&amp;nbsp;nrf_ble_gatt_att_mtu_periph_set() is called on the connected event (on line 720 in main.c). and where it is printed in the gatt event handler (on line 1020 in main.c). Try to connect with both the nRF Connect app, and the desktop application, and see that you will probably receive different MTUs. The MTU is printed on the UART, so open Putty or Termite to see what is going on.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-e7eeeb0d3f0a4200bfc5d58f52bff9ea/ble_5F00_app_5F00_hrs.zip"&gt;devzone.nordicsemi.com/.../ble_5F00_app_5F00_hrs.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The project is for SDK12.3.0.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Notification Throughput &amp; Characteristics</title><link>https://devzone.nordicsemi.com/thread/130329?ContentTypeID=1</link><pubDate>Mon, 30 Apr 2018 15:50:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d72b3cec-4091-40e3-a22c-5b7c9456127f</guid><dc:creator>leonhart88</dc:creator><description>&lt;p&gt;Also, if I do a MTU request from nrfConnect mobile, my MTU update handler gets called properly and I don&amp;#39;t get any error from setting the MTU.&amp;nbsp; But if I check the MTU size later using&amp;nbsp;&lt;a class="el" href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v12.3.0/group__nrf__ble__gatt.html#ga1584317330d27db0fb7919954ca38c73"&gt;nrf_ble_gatt_eff_mtu_get&lt;/a&gt;, it still shows me the MTU is 23.&lt;/p&gt;
&lt;p&gt;I basically see something like what was reported in this post:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/18566/changing-mtu-size-in-ble_peripheral-problem"&gt;devzone.nordicsemi.com/.../changing-mtu-size-in-ble_peripheral-problem&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Notification Throughput &amp; Characteristics</title><link>https://devzone.nordicsemi.com/thread/130323?ContentTypeID=1</link><pubDate>Mon, 30 Apr 2018 15:30:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2f585e87-da5c-485d-952d-df0ee32ef3bd</guid><dc:creator>leonhart88</dc:creator><description>&lt;p&gt;Thanks for the confirmation Edvin.&amp;nbsp; Glad to know my thought process and observations are expected.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve inherited an existing code base with SDK 12.3.0 and S132 v3.0.0 and it looks like&amp;nbsp;&lt;span&gt;nrf_ble_gatt_att_mtu_periph_set() is called in the gatt_init() function as well as an MTU update handler.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;However, I call&amp;nbsp;&lt;a class="el" href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v12.3.0/group__nrf__ble__gatt.html#ga1584317330d27db0fb7919954ca38c73"&gt;nrf_ble_gatt_eff_mtu_get&lt;/a&gt;&amp;nbsp;at several times in the code to check the actual MTU size but it always shows 23.&amp;nbsp; I know that my phone supports more than that based on tests with a modified UART example on SDK 14.0.0.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I need to compare the existing code more closely to other SDK 12.3.0 examples, but do I need to call&amp;nbsp;nrf_ble_gatt_att_mtu_periph_set() after the connection has been established?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Notification Throughput &amp; Characteristics</title><link>https://devzone.nordicsemi.com/thread/130076?ContentTypeID=1</link><pubDate>Fri, 27 Apr 2018 09:11:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cc32f960-dcf9-485b-b98d-81ca22468f30</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;It is correct that a characteristic with shorter payload will have a larger header/payload ratio, and thus will have a lower payload throughput.&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t know what sort of characteristics you have, but if you need as much throughput as possible, I would recommend that you put them all in a single characteristic, and increase the MTU, and send as large packs as possible.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You can use the function&amp;nbsp;nrf_ble_gatt_att_mtu_periph_set() which is described (for central and peripheral) &lt;a href="http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v12.3.0%2Flib_ble_gatt.html"&gt;here&lt;/a&gt;. Also there is a description on how to check the MTU for a connection.&lt;/p&gt;
&lt;p&gt;I have not tested too much with increased MTU in SDK12, but I can confirm, as you say, that it works in SDK14(.1.0).&lt;/p&gt;
&lt;p&gt;What problems do you have in SDK12.3.0?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>