<?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>Improve distance</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/55538/improve-distance</link><description>Hi, 
 I got some troubles on the communication distance between the two units which one acts as central and one acts as peripheral, I tried to adjust the BLE parameters the same as ble_app_uart example, but distance was not good compared to the units</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 25 Dec 2019 03:34:59 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/55538/improve-distance" /><item><title>RE: Improve distance</title><link>https://devzone.nordicsemi.com/thread/226815?ContentTypeID=1</link><pubDate>Wed, 25 Dec 2019 03:34:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b8276e82-7591-4b18-8cd4-dd20b6233c5b</guid><dc:creator>jhc</dc:creator><description>&lt;p&gt;In theory, &lt;span&gt;the Supervision Timeout is just depend on the softdevice, not matter what the RTOS or Non-RTOS is running, right? I try to print out the the value of con_sup_time once connected or disconnected, the value is sure be 400.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/cdis.jpg" /&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/l6.gif" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Improve distance</title><link>https://devzone.nordicsemi.com/thread/225842?ContentTypeID=1</link><pubDate>Tue, 17 Dec 2019 10:20:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0f813c0a-29a3-4a6a-8eda-5e716ee0b324</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;I have never seen any issues with the Supervision Timeout, it is implemented as per the Bluetooth Specification.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;BLUETOOTH CORE SPECIFICATION Version 5.1 | Vol 6, Part B page 2781

To be able to detect link loss, both the master and the slave shall use a Link
Layer connection supervision timer, TLLconnSupervision. Upon reception of a valid
packet, the timer shall be reset.

To be able to detect link loss, both the master and the slave shall use a Link
Layer connection supervision timer, TLLconnSupervision. Upon reception of a valid
packet, the timer shall be reset.&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;If you start advertising when you get the DISCONNECTED event, then you should be able to see the exact timing if you capture a on-air trace of the communication between the two device using the &lt;a href="https://www.nordicsemi.com/Software-and-tools/Development-Tools/nRF-Sniffer-for-Bluetooth-LE"&gt;nRF Sniffer&lt;/a&gt;&amp;nbsp;or a dedicated protocol analyzer, e.g. Ellisys.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Improve distance</title><link>https://devzone.nordicsemi.com/thread/225834?ContentTypeID=1</link><pubDate>Tue, 17 Dec 2019 09:30:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7f095c71-18c3-499f-be28-85f2c2b11c0c</guid><dc:creator>jhc</dc:creator><description>&lt;p&gt;Yes!&lt;/p&gt;
&lt;p&gt;Log as below:&lt;/p&gt;
&lt;p&gt;&amp;lt;info&amp;gt; app: PERIPHERAL: Disconnected, handle 1, reason 0x8.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Improve distance</title><link>https://devzone.nordicsemi.com/thread/225816?ContentTypeID=1</link><pubDate>Tue, 17 Dec 2019 08:53:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:295cf43a-d821-4c6c-bd7a-f852f2aed550</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Please verify that BLE_HCI_CONNECTION_TIMEOUT(0x08)&amp;nbsp; is passed as the disconnect reason when you get the&amp;nbsp;BLE_GAP_EVT_DISCONNECTED event in&amp;nbsp;ble_evt_handler, i.e. check if p_ble_evt-&amp;gt;evt.gap_evt.disconnected.reason is equal to 0x08.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Improve distance</title><link>https://devzone.nordicsemi.com/thread/225775?ContentTypeID=1</link><pubDate>Tue, 17 Dec 2019 01:26:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:38c60079-8c11-4401-a387-1a9800ed4f98</guid><dc:creator>jhc</dc:creator><description>&lt;p&gt;Thanks for replying.&lt;/p&gt;
&lt;p&gt;For the CONN_SUP_TIMEOUT, I did a simulation, steps as follows : first of all, the two units are very close to each other, and then after connected completely ( logs showed that the pairing is finished), LED lights on. then we simply shutdown one unit, the LED will go out within 1 second(far from 4 seconds ) after the shutdown.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Improve distance</title><link>https://devzone.nordicsemi.com/thread/225322?ContentTypeID=1</link><pubDate>Fri, 13 Dec 2019 10:13:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6804f638-a939-4129-987a-ec09a5a1d9c5</guid><dc:creator>bjorn-spockeli</dc:creator><description>[quote user="jhc"]Therefore, you mean the communication range is only depend on the parameters I list and the tx power?[/quote]
&lt;p&gt;&amp;nbsp;The range is really only dependent on the TX output power, the PHY layer used( 1Mbps, 2Mbps or Coded)&amp;nbsp; and how well the RF frontend is tuned and laied out on the PCBs. So if you are using the same devices for testing, i.e. that you reflash the device that ran the ble_app_uart code with the&amp;nbsp;&lt;span&gt;ble_app_multirole_lesc&amp;nbsp;code, then you should see identical performance in terms of range if both examples use the same TX output power&amp;nbsp; and the same PHY, e.g. 1Mbps.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[quote user="jhc"][/quote]&lt;/p&gt;
&lt;p&gt;&lt;span&gt;And another phenomenon, the units running ble_app_multirole_lesc example disconnected from each other very quickly once out of range, seem the CONN_SUP_TIMEOUT is not take affect.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;#define CONN_SUP_TIMEOUT&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;MSEC_TO_UNITS(4000, UNIT_10_MS) &lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;/**&amp;lt; Connection supervisory timeout (4 seconds), Supervision Timeout uses 10 ms units. */&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;The connection supervision timer will start &amp;quot;counting&amp;quot; when packets are lost, so the device was likely dropping packets before you determined that you were out of range.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Bjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Improve distance</title><link>https://devzone.nordicsemi.com/thread/225225?ContentTypeID=1</link><pubDate>Thu, 12 Dec 2019 16:21:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3c5498d0-0106-49ad-ba0e-abad64edc816</guid><dc:creator>jhc</dc:creator><description>&lt;p&gt;&lt;span&gt;Thanks for your reply!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Therefore, you mean the communication range is only depend on the parameters I list and the tx power? But actually, the parameters is exactly the same with the unit running ble_app_uart example, and all the test units are set to the same tx power, too, but the result is that the range of the units running ble_app_multirole_lesc example is less than the ones running ble_app_uart example.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Is there any other parameters need to be set to identical?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;And another phenomenon, the units running ble_app_multirole_lesc example disconnected from each other very quickly once out of range, seem the CONN_SUP_TIMEOUT is not take affect.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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;#define CONN_SUP_TIMEOUT&lt;span class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;MSEC_TO_UNITS(4000, UNIT_10_MS) &lt;span class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;/**&amp;lt; Connection supervisory timeout (4 seconds), Supervision Timeout uses 10 ms units. */&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Improve distance</title><link>https://devzone.nordicsemi.com/thread/225165?ContentTypeID=1</link><pubDate>Thu, 12 Dec 2019 13:36:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1974277c-57b7-4951-b7b9-c38b2d2bf4c9</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Hi jhc,&amp;nbsp;&lt;/p&gt;
[quote user=""]I got some troubles on the communication distance between the two units which one acts as central and one acts as peripheral, I tried to adjust the BLE parameters the same as ble_app_uart example, but distance was not good compared to the units running ble_app_uart_c and ble_app_uart examples &lt;span&gt;respectively&lt;/span&gt;.[/quote]
&lt;p&gt;If the hardware you&amp;#39;re running is identical and the parameters you have listed are identical then you should not see any difference in range. Is the test setup completely identical to the one with ble_app_uart examples?&lt;/p&gt;
&lt;p&gt;The only thing that maters from a programmaticpoint of view is what the TX output power is set to. This is done with&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v6.1.0/group___b_l_e___g_a_p___f_u_n_c_t_i_o_n_s.html#gad10e80ba20ddab42d1753fd1be2d8c26"&gt;sd_ble_gap_tx_power_set&lt;/a&gt;. So if you want to increase the range I would suggest increasing the TX Output power. note, this comes at the cost of a higher current consumption.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Bjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>