<?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>Changing NRF_SDH_BLE_GATT_MAX_MTU_SIZE causes an error.</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/52763/changing-nrf_sdh_ble_gatt_max_mtu_size-causes-an-error</link><description>I am programming using the glucose service example source. The example source does not send any context data, so I added However, when testing with nRF toolbox, I noticed that NRF_ERROR_RESOURCES error occurs after calling sd_ble_gatts_hvx. Occurs when</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 11 Oct 2019 09:32:21 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/52763/changing-nrf_sdh_ble_gatt_max_mtu_size-causes-an-error" /><item><title>RE: Changing NRF_SDH_BLE_GATT_MAX_MTU_SIZE causes an error.</title><link>https://devzone.nordicsemi.com/thread/214543?ContentTypeID=1</link><pubDate>Fri, 11 Oct 2019 09:32:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5204f208-a63b-4265-97f1-ea310f56364e</guid><dc:creator>moon.kim</dc:creator><description>&lt;p&gt;You are right.&lt;br /&gt;It is more effective to use the TX_COMPLETE event than to change the queue size. Although errors still occur, they are not as bad as you say.&lt;br /&gt;The problem that was not transmitted when the most problematic RACP_OPERATOR_ALL was called continuously was resolved.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thank you!!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Changing NRF_SDH_BLE_GATT_MAX_MTU_SIZE causes an error.</title><link>https://devzone.nordicsemi.com/thread/214520?ContentTypeID=1</link><pubDate>Fri, 11 Oct 2019 08:02:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0c485403-e5c3-4889-a46c-ce5f9621dbf4</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;well setting it too large with a very large RAM size would be good to achieve high throughput, but the RAM size is limited on our devices due to cost balancing.&lt;/p&gt;
&lt;p&gt;What number is good depends on your use case and there no standard answer for that.&amp;nbsp;Getting&amp;nbsp;&lt;span&gt;NRF_ERROR_RESOURCES on many applications is not a bad thing. Apps could wait until they get the TX_COMPLETE event and resume transmission without increasing the tx buffer size linearly.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;In your case, with RACP, you should do few benchmarking tests to see which buffer size suits your app correctly.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Changing NRF_SDH_BLE_GATT_MAX_MTU_SIZE causes an error.</title><link>https://devzone.nordicsemi.com/thread/214290?ContentTypeID=1</link><pubDate>Thu, 10 Oct 2019 08:24:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f15dbb5b-15cc-4be9-a77b-728a5c67f10a</guid><dc:creator>moon.kim</dc:creator><description>&lt;p&gt;&lt;span&gt;Thank you.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;I am using SDK Version 15.0.0. I tried to modify RAM_SIZE as you told me, but I didn&amp;#39;t.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;So I solved it as follows.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;I&amp;#39;m using IAR EWARM.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;RAM_START of nrf_sdh_ble.c has not been changed.&lt;br /&gt;RAM_START = 0x20000000&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;In the ble_app_gls_iar_nRF5x.icf file, the following changes were made:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="text"&gt;//define symbol __ICFEDIT_region_RAM_start__   = 0x20001b48;
define symbol __ICFEDIT_region_RAM_start__   = 0x20001E30;
define symbol __ICFEDIT_region_RAM_end__     = 0x20005fff;&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;There is still NRF_ERROR_RESOURCES, but it has decreased a lot.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;How do I know the right size of the queue size?&amp;nbsp;If set too large, it will malfunction.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Changing NRF_SDH_BLE_GATT_MAX_MTU_SIZE causes an error.</title><link>https://devzone.nordicsemi.com/thread/214129?ContentTypeID=1</link><pubDate>Wed, 09 Oct 2019 11:04:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f01580ff-6e8a-49e2-a3d2-8362b6fd7077</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;When i applied your changes, then i got some debug logs on the UART as below&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/492x100/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-ea865dcb77ec48acadbf2385b312b3e3/pastedimage1570618868637v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;I changed the start of the RAM as below, everything worked normally after that.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;RAM_START=0x200028E0
RAM_SIZE=0xd720

&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;FYI,&lt;/p&gt;
&lt;p&gt;I tested this on nRF52832, so the numbers might be different for you since you are using nRF52810 and a different softdevice.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Changing NRF_SDH_BLE_GATT_MAX_MTU_SIZE causes an error.</title><link>https://devzone.nordicsemi.com/thread/213283?ContentTypeID=1</link><pubDate>Fri, 04 Oct 2019 01:37:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4fdf6171-fb3e-4149-8836-707fb090507b</guid><dc:creator>moon.kim</dc:creator><description>&lt;p&gt;I changed to below...&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;#define NRF_SDH_BLE_GAP_EVENT_LENGTH 10
#define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 100&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;This change causes an error.&lt;/p&gt;
&lt;p&gt;So I did not change the event handler and MTU size.&lt;/p&gt;
&lt;p&gt;and&amp;nbsp;As you said, I changed hvn_tx_queue_size.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;ble_cfg_t ble_cfg;
memset(&amp;amp;ble_cfg, 0, sizeof ble_cfg);
ble_cfg.conn_cfg.conn_cfg_tag = APP_BLE_CONN_CFG_TAG;
ble_cfg.conn_cfg.params.gatts_conn_cfg.hvn_tx_queue_size = 10;
Err_code = sd_ble_cfg_set(BLE_CONN_CFG_GATTS, &amp;amp;ble_cfg, ram_start);
APP_ERROR_CHECK(Err_code);&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;However, an error also occurs in sd_ble_enable.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;And I have no limit on the MTU size.&lt;/p&gt;
&lt;p&gt;I need to send up to 500EA GLS Measurement and Context data.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Changing NRF_SDH_BLE_GATT_MAX_MTU_SIZE causes an error.</title><link>https://devzone.nordicsemi.com/thread/212929?ContentTypeID=1</link><pubDate>Wed, 02 Oct 2019 08:06:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:145a9fdf-64fc-429d-9fad-352d84256ff4</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;What are the event length and MTU size you are using n your sdk_config.h?&lt;/p&gt;
&lt;p&gt;The&amp;nbsp;&lt;span&gt;NRF_ERROR_RESOURCES is based on TX buffer queue and could be increased from default as shown &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/35447/increase-hvn_tx_queue_size-to-maximize-throughput"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Do you have specific limitations on how small the MTU size can be?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Changing NRF_SDH_BLE_GATT_MAX_MTU_SIZE causes an error.</title><link>https://devzone.nordicsemi.com/thread/212692?ContentTypeID=1</link><pubDate>Tue, 01 Oct 2019 01:16:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:19808f3b-65fd-4514-b4a8-5a737bbbf09f</guid><dc:creator>moon.kim</dc:creator><description>&lt;p&gt;This only happens in the nRF toolbox for Android and the NRF_ERROR_RESOURCES in the nRF toolbox for iOS. However, multiple calls to RACP_OPERATOR_ALL can send data.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>