<?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>Reduce current of peripheral thru latency setting?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/30038/reduce-current-of-peripheral-thru-latency-setting</link><description>Hi, 
 our device has current limitations in the range of 1mA. We were examining several ways to limit the actual connection parameters to keep current consumption low. But one will find always central devices which do not do it the &amp;quot;expected&amp;quot; way. </description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 03 Dec 2019 17:34:10 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/30038/reduce-current-of-peripheral-thru-latency-setting" /><item><title>RE: Reduce current of peripheral thru latency setting?</title><link>https://devzone.nordicsemi.com/thread/223423?ContentTypeID=1</link><pubDate>Tue, 03 Dec 2019 17:34:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4b0a066e-fd06-4aa5-8f15-aa359aba3eb7</guid><dc:creator>abc</dc:creator><description>&lt;p&gt;This is old, but just thought I&amp;#39;d suggest that you use your current-constrained device in central/master mode if possible.&amp;nbsp; Then you would presumably get more deterministic behavior from the SoftDevice controlling the link.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reduce current of peripheral thru latency setting?</title><link>https://devzone.nordicsemi.com/thread/121498?ContentTypeID=1</link><pubDate>Wed, 21 Feb 2018 10:16:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0d1ee254-f4e7-401c-a635-25bcb63b0e0e</guid><dc:creator>run_ar</dc:creator><description>&lt;p&gt;Unfortunately we do not have an example in the SDK anymore. But you can look at the example in nRF5_SDK_11.0.0_89a8197\examples\ble_peripheral\experimental_ble_app_multiactivity_beacon. Much have changed in the SD, but I am pretty sure the timeslot api is the same.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reduce current of peripheral thru latency setting?</title><link>https://devzone.nordicsemi.com/thread/121493?ContentTypeID=1</link><pubDate>Wed, 21 Feb 2018 10:02:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b1750e38-c725-4581-aaa3-72613077d0f5</guid><dc:creator>rgrr2</dc:creator><description>&lt;p&gt;thanks for the suggestion.&amp;nbsp; Do you have an easy to use example for doing this?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reduce current of peripheral thru latency setting?</title><link>https://devzone.nordicsemi.com/thread/121477?ContentTypeID=1</link><pubDate>Wed, 21 Feb 2018 08:30:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e71c36e9-cbb7-40c0-a28d-213ceff4b56d</guid><dc:creator>run_ar</dc:creator><description>&lt;p&gt;I understand. Seems like the local slave latency is overridden during the service discovery procedure, so it will not help your application. Unfortunately there are no option to enforce local slave latency. I think the last possible solution to this would be to use the timeslot api in an effort to block ble communication. Could you try setting up a timeslot event with high priority and see if this helps to limit ble traffic?&lt;/p&gt;
&lt;p&gt;See &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s132.api.v5.0.0/group___n_r_f___s_o_c___f_u_n_c_t_i_o_n_s.html#ga3fbd3ade121c15745cc19b900ce8154b"&gt;sd_radio_request&lt;/a&gt; , &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s132.api.v5.0.0/group___n_r_f___s_o_c___f_u_n_c_t_i_o_n_s.html#ga55a52eb4d0491cb7105de6a13eb2b11b"&gt;sd_radio_session_open&lt;/a&gt;,&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reduce current of peripheral thru latency setting?</title><link>https://devzone.nordicsemi.com/thread/121127?ContentTypeID=1</link><pubDate>Fri, 16 Feb 2018 19:04:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:80fcf1d2-31c3-4503-8dd8-155446152a72</guid><dc:creator>rgrr2</dc:creator><description>&lt;p&gt;The picture below shows connection establishment done with LightBlue Explorer.&amp;nbsp; With our application the graph is quite similar except that the actual communication starts on the right side.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x240/__key/communityserver-discussions-components-files/4/Clipboard56.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;But as already said, our problem is connection establishment.&amp;nbsp; Android (&amp;gt;=7) switches to high speed during GATT queries and there is nothing we can do about it, how it sets the connection interval and how the softdevice is responding.&lt;/p&gt;
&lt;p&gt;For the record: for the high speed interval in the center and the right part, local slave latency was set to 4.&lt;/p&gt;
&lt;p&gt;Image shows module current measured on an in series 200R.&amp;nbsp; There are some capacitors on the module, so one does not see the actual current consumption but the recharging current.&lt;/p&gt;
&lt;p&gt;Another note: this connection is successful but the 1mA limit is close.&amp;nbsp; And there is really no margin for CPU activity.&lt;/p&gt;
&lt;p&gt;My idea would be to solve the situation thru a force local slave latency, which skips some connection events even if there are pending packets in the queue.&lt;/p&gt;
&lt;p&gt;Any suggestions are welcome.&lt;/p&gt;
&lt;p&gt;Hardy&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;PS: peak on the left shows BLE_CONNECT, in the center of the image connection setup is (6,6,0,2000), on the right side it is at ~(32,32,0,2000)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reduce current of peripheral thru latency setting?</title><link>https://devzone.nordicsemi.com/thread/121050?ContentTypeID=1</link><pubDate>Fri, 16 Feb 2018 09:01:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ac6b790f-148b-4d58-aeaa-b4e62c5cdea7</guid><dc:creator>run_ar</dc:creator><description>&lt;p&gt;Can you also confirm your application does not try to send any data at the time it is supposed to ignore the connection event?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reduce current of peripheral thru latency setting?</title><link>https://devzone.nordicsemi.com/thread/121027?ContentTypeID=1</link><pubDate>Thu, 15 Feb 2018 22:41:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a15e3758-a615-4106-8c45-46ff85bb7d74</guid><dc:creator>rgrr2</dc:creator><description>&lt;p&gt;What do you mean with &amp;quot;not unless you use the standard slave latency&amp;quot;?&lt;/p&gt;
&lt;p&gt;Standard slave latency is &amp;quot;0&amp;quot;, and the sd call returns NRF_SUCCESS and the p_actual_latency shows the wanted value.&lt;/p&gt;
&lt;p&gt;But unfortunately I cannot see any effect, i.e. radio on/off events are still in the interval period.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reduce current of peripheral thru latency setting?</title><link>https://devzone.nordicsemi.com/thread/121020?ContentTypeID=1</link><pubDate>Thu, 15 Feb 2018 20:14:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:80c238e3-905a-4c59-8150-595c5da1f639</guid><dc:creator>run_ar</dc:creator><description>&lt;p&gt;EDIT: I&amp;#39;m sorry, there is no other way to force the softdevice to ignore connection events. What do you mean when you say it does not work? what is returned in the sd call? and are you following the guidelines in the &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s132.api.v5.0.0/structble__gap__opt__local__conn__latency__t.html"&gt;documentation&lt;/a&gt;?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reduce current of peripheral thru latency setting?</title><link>https://devzone.nordicsemi.com/thread/120741?ContentTypeID=1</link><pubDate>Tue, 13 Feb 2018 16:56:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d763185a-b59a-4587-8088-3550f3a0141b</guid><dc:creator>rgrr2</dc:creator><description>&lt;p&gt;Unfortunately the local slave latency does not seem to work...&amp;nbsp; is there another way to make the softdevice ignore connection intervals?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reduce current of peripheral thru latency setting?</title><link>https://devzone.nordicsemi.com/thread/119728?ContentTypeID=1</link><pubDate>Mon, 05 Feb 2018 11:56:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d7a94c55-6aad-4472-bd7d-57a19d738fcf</guid><dc:creator>run_ar</dc:creator><description>&lt;p&gt;If you are able to work around this by using the local connection latency feature until the connection parameter update is finished you can do that. But be aware that there is a risk you might loose the connection if you use the local connection latency feature. but if you run out of power I guess you are in the same situation...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reduce current of peripheral thru latency setting?</title><link>https://devzone.nordicsemi.com/thread/119328?ContentTypeID=1</link><pubDate>Wed, 31 Jan 2018 11:20:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f6531218-9aa9-4979-9890-3c766f2a6aff</guid><dc:creator>rgrr2</dc:creator><description>&lt;p&gt;thakns for the input.  With standard slave latency I guess you mean the API sd_ble_gap_conn_param_update()?  This is too slow.
In my case the 7.5ms connection interval during connection setup is the problem.  Some Android devices ignore the requested parameters and instead try to use 7.5 slots which is too fast for the current limited device.
I recognized, that even when setting the local slave latency, the radio notification still shows 7.5ms connection intervals.  Which means, that the device &amp;quot;crashes&amp;quot;.  Really too bad.
Any other idea how to switch temporarily the radio to slow motion?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Reduce current of peripheral thru latency setting?</title><link>https://devzone.nordicsemi.com/thread/119327?ContentTypeID=1</link><pubDate>Wed, 31 Jan 2018 10:16:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fb0a6ef1-f692-4c9a-bbf4-7eed06bbd271</guid><dc:creator>run_ar</dc:creator><description>&lt;p&gt;In general I would not recommend that you use the Local connection latency feature as there is a risk your device might disconnect in case of a channel map update or other procedures that happens at a specific instanse (the local slave latency feature is proprietary and will work most of the time, but there are corner cases that will lead to link loss). In stead I could recommend using the standard slave latency if possible.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>