<?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>Why too much data is lost when there is 11 peripheral connected to 1 central via NUS connection</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/76338/why-too-much-data-is-lost-when-there-is-11-peripheral-connected-to-1-central-via-nus-connection</link><description>Hello, I have a big problem now. I set up a BLE network with 11 peripheral boards connected to 1 central board via NUS protocol. the peripheral board is based on NRF52840 and the central board is NRF52840 DK board. The peripheral board read the sensor</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 01 Jul 2021 10:44:41 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/76338/why-too-much-data-is-lost-when-there-is-11-peripheral-connected-to-1-central-via-nus-connection" /><item><title>RE: Why too much data is lost when there is 11 peripheral connected to 1 central via NUS connection</title><link>https://devzone.nordicsemi.com/thread/318150?ContentTypeID=1</link><pubDate>Thu, 01 Jul 2021 10:44:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:839e2ccc-b1d7-4ce3-8bf9-8febcce7b204</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;As you are making both sides it makes sense to set the same value as min and max on both sides. Also, make sure that the interval is long enough.&amp;nbsp;Compared to connections and event length If you have an event length of 2.5 ms (NRF_SDH_BLE_GAP_EVENT_LENGTH set to 2 in both peripheral and central) and you have 11 peripherals then you should have at least 2.5 ms * 11 + time for advertising, so it makes sense with no less than 30 ms connection interval.&lt;/p&gt;
&lt;p&gt;Regarding the disconnects I do not know why you disconnect. is it because of an error check is hit when buffers are full? If so, it might be that you should look into the possibility to reduce the amount of data you need to transfer.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why too much data is lost when there is 11 peripheral connected to 1 central via NUS connection</title><link>https://devzone.nordicsemi.com/thread/318026?ContentTypeID=1</link><pubDate>Wed, 30 Jun 2021 15:05:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2b2a7ee7-d23f-4897-b67c-be6ac6813b03</guid><dc:creator>laumung</dc:creator><description>&lt;p&gt;Hi Einar, I have change the&amp;nbsp;and&amp;nbsp;NRF_BLE_SCAN_MAX_CONNECTION_INTERVAL to 11 * NRF_BLE_SCAN_MIN_CONNECTION_INTERVAL but there are many reconnection during the transferring. I am wondering if I should change the&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#define MIN_CONN_INTERVAL MSEC_TO_UNITS(10, UNIT_1_25_MS) /**&amp;lt; Minimum acceptable connection interval (20 ms), Connection interval uses 1.25 ms units. */&lt;br /&gt;#define MAX_CONN_INTERVAL MSEC_TO_UNITS(1900, UNIT_1_25_MS) /**&amp;lt; Maximum acceptable connection interval (75 ms), Connection interval uses 1.25 ms units. */&lt;/p&gt;
&lt;p&gt;two parameters as same as in the central board? Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why too much data is lost when there is 11 peripheral connected to 1 central via NUS connection</title><link>https://devzone.nordicsemi.com/thread/317296?ContentTypeID=1</link><pubDate>Fri, 25 Jun 2021 15:31:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:06c9cf68-d4c1-4ade-a1ae-b895fe721929</guid><dc:creator>laumung</dc:creator><description>&lt;p&gt;Thank you Einar, after I change the APP_ADV_INTERVAL from 64(default) to 3000. There are more peripheral boards can join the BLE network. Thanks a lot.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;#define APP_ADV_INTERVAL 3000 //64 /**&amp;lt; The advertising interval (in units of 0.625 ms. This value corresponds to 40 ms). */&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why too much data is lost when there is 11 peripheral connected to 1 central via NUS connection</title><link>https://devzone.nordicsemi.com/thread/316231?ContentTypeID=1</link><pubDate>Mon, 21 Jun 2021 10:47:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0b327452-d5cc-4b5c-a993-1dd5b9c1488b</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;If you have very rapid advertising that will cause problems when things are tight, so that is an important adjustment. See &lt;a href="https://infocenter.nordicsemi.com/topic/sds_s140/SDS/s1xx/multilink_scheduling/priorities_and_events_intro.html"&gt;SoftDevice timing-activities and priorities&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;If you use a connection interval of 7.5 ms and a event length of 6 * 1.25 ms&amp;nbsp; = 7.5 ms then that means that your connection parameters are suited for a single connection. You should make sure that you can fit all events in a connection interval as shown &lt;a href="https://infocenter.nordicsemi.com/topic/sds_s140/SDS/s1xx/multilink_scheduling/central_connection_timing.html"&gt;here&lt;/a&gt;. That means that if you have set the event length to 6, and want say 15 peripherals, you should have at least 6 * 1.25ms * 15 =&amp;nbsp;112.50 ms connation interval. That said, if you only need to send one long packet every event, you could reduce the event length to 3 (3.75 ms) or possibly even 2 (2.5 ms), and reduce the connection interval accordingly.&lt;/p&gt;
&lt;p&gt;Regarding the cause for the reset I assume you can start searching in your code for &amp;quot;SYSTEM RESET&amp;quot;. I do not find that string in the SDK (17.0.2), but clearly you log something before resetting so that should be possible to find.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why too much data is lost when there is 11 peripheral connected to 1 central via NUS connection</title><link>https://devzone.nordicsemi.com/thread/315962?ContentTypeID=1</link><pubDate>Thu, 17 Jun 2021 17:42:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ea78b1b7-26d0-423b-bf9c-20e02c5854f0</guid><dc:creator>laumung</dc:creator><description>&lt;p&gt;Is the packet length parameter defined as below?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;// &amp;lt;o&amp;gt; NRF_SDH_BLE_GATT_MAX_MTU_SIZE - Static maximum MTU size. 
#ifndef NRF_SDH_BLE_GATT_MAX_MTU_SIZE
#define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247
#endif
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;BTW, there is no error code shown for the resetting. How can I program to send debug information when resetting occurs?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div style="border-width:100%;direction:ltr;"&gt;
&lt;div style="direction:ltr;margin-left:0in;margin-top:0in;width:7.1152in;"&gt;
&lt;div style="direction:ltr;margin-left:0in;margin-top:0in;width:7.1152in;"&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/683x907/__key/communityserver-discussions-components-files/4/pastedimage1623951774345v1.png" alt=" " /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why too much data is lost when there is 11 peripheral connected to 1 central via NUS connection</title><link>https://devzone.nordicsemi.com/thread/315960?ContentTypeID=1</link><pubDate>Thu, 17 Jun 2021 17:12:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3062b86f-d596-4598-9f4f-2ce72e30cc90</guid><dc:creator>laumung</dc:creator><description>&lt;p&gt;Hi, here is the configuration for connection in central board.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;// &amp;lt;o&amp;gt; NRF_SDH_BLE_GAP_EVENT_LENGTH - GAP event length. 
// &amp;lt;i&amp;gt; The time set aside for this connection on every connection interval in 1.25 ms units.

#ifndef NRF_SDH_BLE_GAP_EVENT_LENGTH
#define NRF_SDH_BLE_GAP_EVENT_LENGTH 6
#endif

// &amp;lt;o&amp;gt; NRF_BLE_SCAN_MIN_CONNECTION_INTERVAL - Determines minimum connection interval in milliseconds. 
#ifndef NRF_BLE_SCAN_MIN_CONNECTION_INTERVAL
#define NRF_BLE_SCAN_MIN_CONNECTION_INTERVAL 7.5
#endif

// &amp;lt;o&amp;gt; NRF_BLE_SCAN_MAX_CONNECTION_INTERVAL - Determines maximum connection interval in milliseconds. 
#ifndef NRF_BLE_SCAN_MAX_CONNECTION_INTERVAL
#define NRF_BLE_SCAN_MAX_CONNECTION_INTERVAL 30
#endif


// &amp;lt;o&amp;gt; NRF_SDH_BLE_GAP_EVENT_LENGTH - GAP event length. 
// &amp;lt;i&amp;gt; The time set aside for this connection on every connection interval in 1.25 ms units.

#ifndef NRF_SDH_BLE_GAP_EVENT_LENGTH
#define NRF_SDH_BLE_GAP_EVENT_LENGTH 6
#endif


// &amp;lt;o&amp;gt; NRF_SDH_BLE_PERIPHERAL_LINK_COUNT - Maximum number of peripheral links. 
#ifndef NRF_SDH_BLE_PERIPHERAL_LINK_COUNT
#define NRF_SDH_BLE_PERIPHERAL_LINK_COUNT 0
#endif

// &amp;lt;o&amp;gt; NRF_SDH_BLE_CENTRAL_LINK_COUNT - Maximum number of central links. 
#ifndef NRF_SDH_BLE_CENTRAL_LINK_COUNT
#define NRF_SDH_BLE_CENTRAL_LINK_COUNT 16
#endif

// &amp;lt;o&amp;gt; NRF_SDH_BLE_TOTAL_LINK_COUNT - Total link count. 
// &amp;lt;i&amp;gt; Maximum number of total concurrent connections using the default configuration.

#ifndef NRF_SDH_BLE_TOTAL_LINK_COUNT
#define NRF_SDH_BLE_TOTAL_LINK_COUNT 16
#endif&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why too much data is lost when there is 11 peripheral connected to 1 central via NUS connection</title><link>https://devzone.nordicsemi.com/thread/315959?ContentTypeID=1</link><pubDate>Thu, 17 Jun 2021 17:04:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a15c8424-602e-4d45-8396-a4c4eef3b345</guid><dc:creator>laumung</dc:creator><description>&lt;p&gt;Hi Einar, I understood what you said in your poster. Which parameter should I change for correction?&amp;nbsp; I changed the&amp;nbsp;APP_ADV_INTERVAL from 64(default setting) to 600 and the number of peripherals can add up to 15. But the central board will reset every 6 or 7 second as shown below.&lt;/p&gt;
&lt;p&gt;&lt;span class="mceItem mceNonEditable mceInsertMediaItem mceInsertMediaItem mceInsertMediaItemImage" style="color:transparent;height:240px;width:320px;" id="pastedimage1623897546322v3"&gt;...&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Which other parameter can be changed to cancel the regular resetting? Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why too much data is lost when there is 11 peripheral connected to 1 central via NUS connection</title><link>https://devzone.nordicsemi.com/thread/315799?ContentTypeID=1</link><pubDate>Thu, 17 Jun 2021 09:27:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6376069c-c88b-4019-aa7e-a1e5a1d362bd</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;&lt;span&gt;Please let me know your complete configuration. The relationship between connection interval, event length, packet length and number of connections is essential as you can see &lt;a href="https://infocenter.nordicsemi.com/topic/sds_s132/SDS/s1xx/multilink_scheduling/central_connection_timing.html"&gt;here&lt;/a&gt;. Also, what is the cause for the reset?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why too much data is lost when there is 11 peripheral connected to 1 central via NUS connection</title><link>https://devzone.nordicsemi.com/thread/315728?ContentTypeID=1</link><pubDate>Thu, 17 Jun 2021 02:49:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e0b88504-90ac-47f6-89d9-e6f3cb395ea1</guid><dc:creator>laumung</dc:creator><description>&lt;p&gt;Hi Einar, I understood what you said in your poster. Which parameter should be modified to make more peripherals? I changed the&amp;nbsp;APP_ADV_INTERVAL from 64(default) to 600 and the peripherals can add up to 15. But the central board will reset every 6 or 7 seconds after the change even the number of peripherals increase. The debug information of the central board is shown below.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1623898116205v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Which parameter else should I change to stop the reset?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why too much data is lost when there is 11 peripheral connected to 1 central via NUS connection</title><link>https://devzone.nordicsemi.com/thread/315547?ContentTypeID=1</link><pubDate>Wed, 16 Jun 2021 09:09:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:22434510-6904-4889-8875-719c2095d2bc</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;You are right that for maximum throughput you should use long packets in general. I was thinking it might not be a good idea in this case but that is not the major concern. The major point is that you should adapt the event length to the length of the packet you send, and ensure that you can fit an event for each connection within each connection interval, as shown in &lt;a href="https://infocenter.nordicsemi.com/topic/sds_s132/SDS/s1xx/multilink_scheduling/central_connection_timing.html"&gt;Connection timing as a Central&lt;/a&gt;. What packet event length do you use with which packet length? You should make sure that fits in the connection interval you use. What is that (I just see min and max in your peripheral)?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why too much data is lost when there is 11 peripheral connected to 1 central via NUS connection</title><link>https://devzone.nordicsemi.com/thread/315509?ContentTypeID=1</link><pubDate>Wed, 16 Jun 2021 06:46:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5443b5e1-a1b7-49ac-86e6-d47dde4b66e9</guid><dc:creator>laumung</dc:creator><description>&lt;p&gt;Hi Einar, I reduced the data size in the packet to 8 and 4 tonight. Unfortunately the problem were still there. When up to 8 or 9 peripherals added to the BLE network, the central board will loose all the connection and re-connect to the peripherals after reset all the peripherals. BTW, can we find out what cause the problem by the debug information? Thanks.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1623826068410v1.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why too much data is lost when there is 11 peripheral connected to 1 central via NUS connection</title><link>https://devzone.nordicsemi.com/thread/315498?ContentTypeID=1</link><pubDate>Wed, 16 Jun 2021 02:25:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:76340254-425e-4886-b90d-1dd10660d83c</guid><dc:creator>laumung</dc:creator><description>&lt;p&gt;Hi Einar, thank you for your kind reply. I remember I have read some post suggest that it&amp;#39;s better to increase the BLE transfer rate with larger packet size in every transmission. Maybe I am wrong. I have checked two reference in your poster and there are many parameters. I list the parameters about BLE connection in my project. Hope it helps.&lt;/p&gt;
&lt;p&gt;In peripheral board, which collects the sensor data and transfer to central board, the parameter are shown below.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;#define APP_BLE_CONN_CFG_TAG            1                                           /**&amp;lt; A tag identifying the SoftDevice BLE configuration. */

#define DEVICE_NAME                     &amp;quot;Nordic_UART_SAADC_01&amp;quot;                               /**&amp;lt; Name of device. Will be included in the advertising data. */
#define NUS_SERVICE_UUID_TYPE           BLE_UUID_TYPE_VENDOR_BEGIN                  /**&amp;lt; UUID type for the Nordic UART Service (vendor specific). */

#define APP_BLE_OBSERVER_PRIO           3                                           /**&amp;lt; Application&amp;#39;s BLE observer priority. You shouldn&amp;#39;t need to modify this value. */

#define APP_ADV_INTERVAL                64                                          /**&amp;lt; The advertising interval (in units of 0.625 ms. This value corresponds to 40 ms). */

#define APP_ADV_DURATION                18000                                       /**&amp;lt; The advertising duration (180 seconds) in units of 10 milliseconds. */

#define MIN_CONN_INTERVAL               MSEC_TO_UNITS(10, UNIT_1_25_MS)             /**&amp;lt; Minimum acceptable connection interval (20 ms), Connection interval uses 1.25 ms units. */
#define MAX_CONN_INTERVAL               MSEC_TO_UNITS(1800, UNIT_1_25_MS)             /**&amp;lt; Maximum acceptable connection interval (75 ms), Connection interval uses 1.25 ms units. */
#define SLAVE_LATENCY                   0                                           /**&amp;lt; Slave latency. */
#define CONN_SUP_TIMEOUT                MSEC_TO_UNITS(4000, UNIT_10_MS)             /**&amp;lt; Connection supervisory timeout (4 seconds), Supervision Timeout uses 10 ms units. */
#define FIRST_CONN_PARAMS_UPDATE_DELAY  APP_TIMER_TICKS(5000)                       /**&amp;lt; Time from initiating event (connect or start of notification) to first time sd_ble_gap_conn_param_update is called (5 seconds). */
#define NEXT_CONN_PARAMS_UPDATE_DELAY   APP_TIMER_TICKS(30000)                      /**&amp;lt; Time between each call to sd_ble_gap_conn_param_update after the first call (30 seconds). */
#define MAX_CONN_PARAMS_UPDATE_COUNT    3                                           /**&amp;lt; Number of attempts before giving up the connection parameter negotiation. */

#define UART_TX_BUF_SIZE                256                                         /**&amp;lt; UART TX buffer size. */
#define UART_RX_BUF_SIZE                256                                         /**&amp;lt; UART RX buffer size. */

static uint16_t   m_conn_handle          = BLE_CONN_HANDLE_INVALID;                 /**&amp;lt; Handle of the current connection. */
static uint16_t   m_ble_nus_max_data_len = BLE_GATT_ATT_MTU_DEFAULT - 3;            /**&amp;lt; Maximum length of data (in bytes) that can be transmitted to the peer by the Nordic UART service module. */
static ble_uuid_t m_adv_uuids[]          =                                          /**&amp;lt; Universally unique service identifier. */
{
    {BLE_UUID_NUS_SERVICE, NUS_SERVICE_UUID_TYPE}
};&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;/** @brief Default ATT MTU, in bytes. */
#define BLE_GATT_ATT_MTU_DEFAULT          128      //23

/**@brief Invalid Attribute Handle. */
#define BLE_GATT_HANDLE_INVALID            0x0000

/**@brief First Attribute Handle. */
#define BLE_GATT_HANDLE_START              0x0001

/**@brief Last Attribute Handle. */
#define BLE_GATT_HANDLE_END                0xFFFF

/** @defgroup BLE_GATT_TIMEOUT_SOURCES GATT Timeout sources
 * @{ */
#define BLE_GATT_TIMEOUT_SRC_PROTOCOL      0x00  /**&amp;lt; ATT Protocol timeout. */
/** @} */
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;In central board, which receive data from sensor board, the parameters are shown below.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;#define APP_BLE_CONN_CFG_TAG    1                                       /**&amp;lt; Tag that refers to the BLE stack configuration set with @ref sd_ble_cfg_set. The default tag is @ref BLE_CONN_CFG_TAG_DEFAULT. */
#define APP_BLE_OBSERVER_PRIO   3                                       /**&amp;lt; BLE observer priority of the application. There is no need to modify this value. */

#define UART_TX_BUF_SIZE        1024                                     /**&amp;lt; UART TX buffer size. */
#define UART_RX_BUF_SIZE        1024                                     /**&amp;lt; UART RX buffer size. */

#define NUS_SERVICE_UUID_TYPE   BLE_UUID_TYPE_VENDOR_BEGIN              /**&amp;lt; UUID type for the Nordic UART Service (vendor specific). */

#define ECHOBACK_BLE_UART_DATA  1                                       /**&amp;lt; Echo the UART data that is received over the Nordic UART Service (NUS) back to the sender. */

#define Packet_Len        7
#define Channel_Num       6

BLE_NUS_C_ARRAY_DEF(m_ble_nus_c, NRF_SDH_BLE_CENTRAL_LINK_COUNT);       /**&amp;lt; BLE Nordic UART Service (NUS) client instances. */
NRF_BLE_GATT_DEF(m_gatt);                                               /**&amp;lt; GATT module instance. */
BLE_DB_DISCOVERY_DEF(m_db_disc);                                        /**&amp;lt; Database discovery module instance. */
NRF_BLE_SCAN_DEF(m_scan);                                               /**&amp;lt; Scanning Module instance. */
NRF_BLE_GQ_DEF(m_ble_gatt_queue,                                        /**&amp;lt; BLE GATT Queue instance. */
               NRF_SDH_BLE_CENTRAL_LINK_COUNT,
               NRF_BLE_GQ_QUEUE_SIZE);

static uint16_t m_ble_nus_max_data_len = BLE_GATT_ATT_MTU_DEFAULT - OPCODE_LENGTH - HANDLE_LENGTH; /**&amp;lt; Maximum length of data (in bytes) that can be transmitted to the peer by the Nordic UART service module. */
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Appreciate your kind help.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why too much data is lost when there is 11 peripheral connected to 1 central via NUS connection</title><link>https://devzone.nordicsemi.com/thread/315344?ContentTypeID=1</link><pubDate>Tue, 15 Jun 2021 10:23:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5cacf6bb-e78d-45d0-8e28-4753b61d38b0</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;You are sending quite long packets (sensor data per packet is 16 byte * 14 readings = 224 byte), so it takes a bit of time on air. Ignoring any overhead and just looking at sensor data this is about 9 kbps with 11 peripherals ,which in itself is not too much. However, the central will need to schedule time for all connections. Depending on connection parameters and number peripherals the SoftDevice scheduling may be difficult. You can see more about &lt;a href="https://infocenter.nordicsemi.com/topic/sds_s132/SDS/s1xx/multilink_scheduling/multilink_scheduling.html"&gt;SoftDevice scheduling here&lt;/a&gt;, and specifically &lt;a href="https://infocenter.nordicsemi.com/topic/sds_s132/SDS/s1xx/multilink_scheduling/central_connection_timing.html"&gt;Connection timing as a Central&lt;/a&gt;&amp;nbsp;is relevant.&lt;/p&gt;
&lt;p&gt;With your fairly low total data rate you should be able to get everything through with sensible connection parameters. Which connection parameters do you use?&amp;nbsp;It may make sense to send less data more often, using shorter event lengths and shorter packets. That way&amp;nbsp;each connection can exchange data more frequency and you can add some margin for retransmissions (which will happen more seldom with shorter packets).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>