<?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>nrf52 as remote input</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/35831/nrf52-as-remote-input</link><description>Hi 
 We have project where we want to use a nrf52 in an remote keypad for control various devices. 
 For investigating the capabilities I have tested the ble_uart and ble_blinky demos for measuring respons times.We want the device to disconnect when not</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 04 Jul 2018 15:42:28 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/35831/nrf52-as-remote-input" /><item><title>RE: nrf52 as remote input</title><link>https://devzone.nordicsemi.com/thread/139010?ContentTypeID=1</link><pubDate>Wed, 04 Jul 2018 15:42:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a54312a9-3457-446b-8d49-1f3e9943d104</guid><dc:creator>MartinBL</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;APP_ADV_INTERVAL is effective&amp;nbsp;&lt;em&gt;before&lt;/em&gt; connection,&amp;nbsp;MAX/MIN_CONN_INTERVAL are effective&amp;nbsp;&lt;em&gt;during&amp;nbsp;&lt;/em&gt;a connection. As you have understood these intervals are critical and the interval is directly proportional with latency. Latency is a critical issue in many applications though, so there are many strategies. I suggest that you have a look at the &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.0.0/ble_sdk_app_hids_mouse.html?cp=4_0_0_4_1_2_16"&gt;ble_app_hids_mouse&lt;/a&gt;&amp;nbsp;/ keyboard examples. They use tight connection parameters and also utilize what is called highy duty cycle directed advertising specifically to reduce the&amp;nbsp;time it takes to connect.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Is it possible to exchange small amount of data in connected state without setting up a service?&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;No, if you want to use BLE you will have to use services. However, the initial exchange of service information (called a Service Discovery) only needs to happen once. It is possible for a device to store all the relevant information in persistent memory and skip the service discovery to save time and energy. This process is called bonding. If you use bonding and&amp;nbsp;directed advertising as mentioned above, you can make applications with&amp;nbsp;very low latencies.&lt;/p&gt;
&lt;p&gt;Martin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52 as remote input</title><link>https://devzone.nordicsemi.com/thread/138962?ContentTypeID=1</link><pubDate>Wed, 04 Jul 2018 12:41:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7f3adc3e-e857-4df0-a85a-f4b4e3b85d8e</guid><dc:creator>Kasper Leonhardt</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I have worked a lot with the SDK, but I have not focused on what happening in the air. All time measurements are made with an oscilloscope, and the events are &amp;quot;visualized&amp;quot; by toggling some unused IO pins.&lt;/p&gt;
&lt;p&gt;I have tried to tune the parameters like&amp;nbsp;&lt;span&gt;APP_ADV_INTERVAL and&amp;nbsp;MAX/MIN_CONN_INTERVAL, but these parameters only have effect in the period before the actual connection.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Hereafter (I expect) there is a period where the central device queries&amp;nbsp;which services available on the peripheral device. following by the setup of the characteristics. And all this takes time. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;I tried to setup the nFR Sniffer V2 to investigate which part was the time consuming. But I cannot get Wireshark show the packets, despite that the interface is correctly found. :-(&amp;nbsp; Somehow it was easier with V1 of the sniffer.&lt;/p&gt;
&lt;p&gt;So my question is stille the same, but it might be more BLE related than nRF SDK related: Is it possible to exchange small amount of data in connected state without setting up a service?&lt;/p&gt;
&lt;p&gt;Kasper&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf52 as remote input</title><link>https://devzone.nordicsemi.com/thread/137926?ContentTypeID=1</link><pubDate>Wed, 27 Jun 2018 13:55:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0de0d095-9f71-48d3-8973-5192d0bc04e4</guid><dc:creator>MartinBL</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;How familiar are you with the BLE protocol? In general, latency issues like this all boil down to how BLE works. Quickly explained:&lt;/p&gt;
&lt;p&gt;Before connection, your peripheral sends advertising packets at regular intervals. The length of this interval is&amp;nbsp;directly linked to how fast your central will discover and connect to a your peripheral.&amp;nbsp;In the SDK examples you can tweak the advertising interval using the the&amp;nbsp;APP_ADV_INTERVAL definition in main.c. Here is an informative blog post:&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/b/blog/posts/bluetooth-smart-and-the-nordics-softdevices-part-1"&gt;https://devzone.nordicsemi.com/b/blog/posts/bluetooth-smart-and-the-nordics-softdevices-part-1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;After you have connected your devices they keep communicating at regular intervals called connection intervals. Once again, the bandwidth is directly linked to how short these intervals are. You can play around with&amp;nbsp;the intervals&amp;nbsp;by tweaking the MAX/MIN_CONN_INTERVAL defines in the examples. Note though, that not all devices support the same connection intervals which leads to a difference in performance across devices. Here is another informative blog post:&amp;nbsp;&lt;a href="https://punchthrough.com/blog/posts/maximizing-ble-throughput-on-ios-and-android"&gt;https://punchthrough.com/blog/posts/maximizing-ble-throughput-on-ios-and-android&lt;/a&gt;&lt;/p&gt;
[quote user=""]From wake-up it takes around 100ms to establish a BLE connection and additional 900ms to establish the NUS service. [/quote]
&lt;p&gt;900ms sounds like a lot. How do you measure this?&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>