<?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>nRF8001 Configuration in nRFgo Studio</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/35651/nrf8001-configuration-in-nrfgo-studio</link><description>Hello! 
 I have some problem to generate the right service.h file with nRFgo Studio. I used the help in nRFgo Studio and tried several configurations. Sometimes I could connect with Nordic&amp;#39;s &amp;quot;nRF Connect&amp;quot; app but when i try to use the &amp;quot;nRF UART&amp;quot; app it</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 06 Aug 2018 13:50:58 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/35651/nrf8001-configuration-in-nrfgo-studio" /><item><title>RE: nRF8001 Configuration in nRFgo Studio</title><link>https://devzone.nordicsemi.com/thread/143051?ContentTypeID=1</link><pubDate>Mon, 06 Aug 2018 13:50:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e0e3186a-bfaa-4151-92c9-7dd554da66ab</guid><dc:creator>run_ar</dc:creator><description>&lt;p&gt;I assume you are checking the datacreditevent? Please note that there are two available data credits (tx buffers). To transfer data as fast as possible you need keep them filled all the time. because of the lazy ack scheme in ble you will only be able to send an average of 1 packets per connection event.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF8001 Configuration in nRFgo Studio</title><link>https://devzone.nordicsemi.com/thread/142921?ContentTypeID=1</link><pubDate>Sun, 05 Aug 2018 20:17:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:80c23743-59fc-44d5-8739-251722482ccf</guid><dc:creator>PhilippS</dc:creator><description>&lt;p&gt;I checked and I am already using the 0x15 (SendData) command with the notify property. Is there anything else I can try to reduce the connection events needed to send the data?&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: nRF8001 Configuration in nRFgo Studio</title><link>https://devzone.nordicsemi.com/thread/142613?ContentTypeID=1</link><pubDate>Thu, 02 Aug 2018 12:35:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a9f526d9-aa48-4843-ad9f-ce517aa6a936</guid><dc:creator>run_ar</dc:creator><description>&lt;p&gt;You have to configure the notify property in nRFgo studio.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-38abd0753ae047fdb322286f28c203f1/pastedimage1533213262049v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;In addition you need use the &amp;quot;SendData (0x15)&amp;quot; command and not the &amp;quot;SendDataAck&amp;quot; command.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF8001 Configuration in nRFgo Studio</title><link>https://devzone.nordicsemi.com/thread/142511?ContentTypeID=1</link><pubDate>Thu, 02 Aug 2018 07:16:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4ee2132e-f29b-4b4b-b208-504291cb99f0</guid><dc:creator>PhilippS</dc:creator><description>&lt;p&gt;Thank you for your input! Can you please describe how to change it to notification? Do I need to change something in the configuration generated in nRFgo Studio? Or can this be done between the MCU and the nRF8001?&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF8001 Configuration in nRFgo Studio</title><link>https://devzone.nordicsemi.com/thread/142374?ContentTypeID=1</link><pubDate>Wed, 01 Aug 2018 12:05:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e2e1b751-3bd9-45ba-907a-4be62bd252e4</guid><dc:creator>run_ar</dc:creator><description>&lt;p&gt;If you use notifications you should be able to send one data packet per connection event. This is the maximum supported by the nRF8001. If you use indications you will need 2-3 connection events per data packet as this requires application layer acknowledgement.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF8001 Configuration in nRFgo Studio</title><link>https://devzone.nordicsemi.com/thread/139834?ContentTypeID=1</link><pubDate>Thu, 12 Jul 2018 08:13:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:11eaaea5-8bca-4b62-ac21-5e783b188433</guid><dc:creator>PhilippS</dc:creator><description>&lt;p&gt;I was able to solve the problem with the PCA10000 USB dongle. The problem was the wrong data format I used. The bytes has to be switched, not the bit order. For example to set the min/max value to 100ms, the value has to be set to 80 (80*1.25=100ms). 80=0x0050 --&amp;gt; the right data I had to send was 0x50 0x00.&lt;/p&gt;
&lt;p&gt;It seems that my phone doesn&amp;#39;t support connection intvals lower than 48.75ms. I could change the connection interval down to 7.5ms when connected to the USB dongle. When the nRF8001 is connected to the phone to minimum connection interval is 48.75ms.&lt;/p&gt;
&lt;p&gt;I have another question: I want to send 20 x 20bytes and it takes 300ms. I assume that 2 connection events are needed to send 20 bytes (2 x 20 x 7.5ms = 300ms). Is that right? Why are 2 connection events needed to transmit 20bytes? Is there a way to send more data in one connection event/interval to reduce the time it takes to send the data?&lt;/p&gt;
&lt;p&gt;Thanks for your help!!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF8001 Configuration in nRFgo Studio</title><link>https://devzone.nordicsemi.com/thread/139546?ContentTypeID=1</link><pubDate>Tue, 10 Jul 2018 10:19:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6a6b4c08-8284-49f8-9eb0-a8c72f16cd9e</guid><dc:creator>PhilippS</dc:creator><description>&lt;p&gt;I tried different connection intervals on 2 different phones but unfortunately the result is always the same.&lt;/p&gt;
&lt;p&gt;Interval min = 80 (=100ms) = 0000.0000.0101.0000 --&amp;gt; 0000.1010.0000.0000 = 0x0A00&lt;br /&gt;Interval max = 160 (=200ms) = 0000.0000.1010.0000 --&amp;gt; 0000.0101.0000.0000 = 0x0500&lt;br /&gt;Slave latency = 0x0000&lt;br /&gt;Timeout = 3200 = 0000.1100.1000.0000 --&amp;gt; 0000.0001.0011.0000 = 0x0130&lt;/p&gt;
&lt;p&gt;Data send: 0x09,0x13,0x0A,0x00,0x05,0x00,0x00,0x00,0x01,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Interval min = 40 (=50ms) = 0000.0000.0010.1000 --&amp;gt; 0001.0100.0000.0000 = 0x1400&lt;br /&gt;Interval max = 80 (=100ms) = 0000.0000.0101.0000 --&amp;gt; 0000.1010.0000.0000 = 0x0A00&lt;/p&gt;
&lt;p&gt;0x09,0x13,0x14,0x00,0x0A,0x00,0x00,0x00,0x01,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Interval min = 16 (=20ms) = 0000.0000.0001.0000 --&amp;gt; 0000.1000.0000.0000 = 0x0800&lt;br /&gt;Interval max = 40 (=50ms) = 0000.0000.0010.1000 --&amp;gt; 0001.0100.0000.0000 = 0x1400&lt;/p&gt;
&lt;p&gt;0x09,0x13,0x08,0x00,0x14,0x00,0x00,0x00,0x01,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Interval min = 6 (=7.5ms) = 0000.0000.0000.0110 --&amp;gt; 0110.0000.0000.0000 = 0x6000&lt;br /&gt;Interval max = 16 (=20ms) = 0000.0000.0001.0000 --&amp;gt; 0000.1000.0000.0000 = 0x0800&lt;/p&gt;
&lt;p&gt;0x09,0x13,0x60,0x00,0x08,0x00,0x00,0x00,0x01,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The CommandResponseEvent shows in all cases the same data:&lt;/p&gt;
&lt;p&gt;0x1 0x3 &lt;strong&gt;0x84&lt;/strong&gt; 0x13 0x0 0xA0 0x0 0x0 0x0 0x1 0x30 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0&lt;/p&gt;
&lt;p&gt;And the TimingEvent is also the same for all connection intervals:&lt;/p&gt;
&lt;p&gt;0x1 0x7 &lt;strong&gt;0x89&lt;/strong&gt; &lt;strong&gt;0x27 0x0&lt;/strong&gt; 0x0 0x0 0xD0 0x7 0x1 0x30 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0&lt;/p&gt;
&lt;p&gt;What is the right interpretation of the connection interval 0x27 0x00? The datasheet says MSB first. This would be 0x2700=9984 and out of the valid range? LSB/MSB in the datasheet means least significant&lt;strong&gt; byte&lt;/strong&gt; or&lt;strong&gt; bit &lt;/strong&gt;first?&lt;/p&gt;
&lt;p&gt;The used phones are Honor6 and LG L90, bot support Bluetooth 4.0. This should be ok?&lt;/p&gt;
&lt;p&gt;Thank you for your help!!!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF8001 Configuration in nRFgo Studio</title><link>https://devzone.nordicsemi.com/thread/139274?ContentTypeID=1</link><pubDate>Fri, 06 Jul 2018 13:46:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2c6577f2-9d61-4f98-8f0c-55e0135b388a</guid><dc:creator>run_ar</dc:creator><description>&lt;p&gt;Unfortunately there us no way to force the master to update the connection interval. It might be that you will not be able to get an interval within the given range with this master. It looks like the sequence is correct to me, but you could try to ask for a longer interval instead, as that is more likely to be accepted. This is just to see that you are using the correct sequence. Then use the intervals above and slowly increase the values until you get something the master accepts, hopefully that will be fast enough for your application&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF8001 Configuration in nRFgo Studio</title><link>https://devzone.nordicsemi.com/thread/139139?ContentTypeID=1</link><pubDate>Thu, 05 Jul 2018 15:12:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6af5bf7f-e331-41cc-808c-95ca6d68b17f</guid><dc:creator>PhilippS</dc:creator><description>&lt;p&gt;I am using an Android phone and I read that the connection interval cannot be changed on Android. A connection parameter update request has to be sent from the nRF8001 to change it, is this right? I am using a simply serial bluetooth terminal app and there is no options to change the connection parameters.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;After connection between the phone and the nRF8001 the MCU receives following data: 0x1 0xF &lt;strong&gt;0x85&lt;/strong&gt; 0x3 0x9A 0x30 0xB5 0xC7 0xEF 0x4D &lt;strong&gt;0x27 0x0 0x0 0x0 0xD0 0x7&lt;/strong&gt; 0x5 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Then I send the ChangeTimingRequest: 0x09,&lt;strong&gt;0x13,0x60,0x00,0x08,0x00,0x00,0x00,0x01,0x30&lt;/strong&gt;,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00&lt;/p&gt;
&lt;p&gt;Data has to be LSB first:&lt;/p&gt;
&lt;p&gt;Interval min = 6 (=7.5ms) = 0000.0000.0000.0110 --&amp;gt; 0110.0000.0000.0000 = 0x6000&lt;br /&gt;Interval max = 16 (=20ms) = 0000.0000.0001.0000 --&amp;gt; 0000.1000.0000.0000 = 0x0800&lt;br /&gt;Slave latency = 0x0000&lt;br /&gt;Timeout = 3200 = 0000.1100.1000.0000 --&amp;gt; 0000.0001.0011.0000 = 0x0130&lt;/p&gt;
&lt;p&gt;After the ChangeTimingRequest I receive a CommandResponseEvent with status=succes:&lt;/p&gt;
&lt;p&gt;0x1 0x3 0x84 0x13&lt;strong&gt; 0x0&lt;/strong&gt; 0x8 0x0 0x0 0x0 0x1 0x30 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0&lt;/p&gt;
&lt;p&gt;The TimingEvent I receive after the CommandResponseEvent shows still the same connection parameters as in the ConnectedEvent:&lt;/p&gt;
&lt;p&gt;0x1 0x7&lt;strong&gt; 0x89 0x27 0x0 0x0 0x0 0xD0 0x7&lt;/strong&gt; 0x1 0x30 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0&lt;/p&gt;
&lt;p&gt;Is this the right sequence to change the timing parameters? Why does the TimingEvent still show the same parameters?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thank you very much for your help.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF8001 Configuration in nRFgo Studio</title><link>https://devzone.nordicsemi.com/thread/138274?ContentTypeID=1</link><pubDate>Fri, 29 Jun 2018 12:14:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:440d5380-2e03-45de-afb3-467758a52e37</guid><dc:creator>run_ar</dc:creator><description>&lt;p&gt;Yes, this looks like the connection interval. Please note that the connection interval is set by the central device. The nRF8001 can only send a connection parameter update request, but it is up to the central if it wants to update the parameters or not.&lt;/p&gt;
&lt;p&gt;As mentioned in my previous answer there are to functions you can use to tell the nRF8001 to send a conn param update request. One of these has to be called after the connection has been established.&lt;/p&gt;
&lt;p&gt;Note that the ConnectedEvent (0x85) will contain the connection interval set by the master. If the timing is changed later on you will receive a TimingEvent (0x89). Please refer to the product specification for the event format.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF8001 Configuration in nRFgo Studio</title><link>https://devzone.nordicsemi.com/thread/138235?ContentTypeID=1</link><pubDate>Fri, 29 Jun 2018 09:14:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:547e3c3d-e374-4389-a6b2-0018d95cff76</guid><dc:creator>PhilippS</dc:creator><description>&lt;p&gt;Thank you for the hint with the uuid. I could generate my own service where I can send 20 bytes. I receive the data correct on the phone.&lt;/p&gt;
&lt;p&gt;To change the connection interval I tried to change the maximum/minimum connection interval in the nRFgo studio before generating the service.h file. I tried min/max: 7.5ms/20ms and 1000ms/1100ms but it seems that it has no effect.&lt;/p&gt;
&lt;p&gt;Sending 20 times 20Bytes takes about 1.94 seconds with both connection interval settings.&lt;/p&gt;
&lt;p&gt;I added a shunt resistor in the power supply line and measured the voltage (supply current) with a scope. I see peaks every ~48ms. I assume that the peaks in the supply current indicates that the nRF8001 is sending? Does this mean the connection interval is 48ms?&lt;/p&gt;
&lt;p&gt;See the voltage on the resistor:&lt;/p&gt;
&lt;p&gt;&lt;img height="367" src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/NewFile6.png" width="612" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF8001 Configuration in nRFgo Studio</title><link>https://devzone.nordicsemi.com/thread/138058?ContentTypeID=1</link><pubDate>Thu, 28 Jun 2018 09:28:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0c83b46b-6291-4ee3-9a2c-0d2f8e2f887c</guid><dc:creator>run_ar</dc:creator><description>&lt;p&gt;There are two ways to generate a connection parmater update request using the nRF8001.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/NordicSemiconductor/ble-sdk-arduino/blob/82be655f899592bb1bcd918bb614e2c541b452c6/libraries/BLE/lib_aci.cpp#L449"&gt;&lt;span&gt;lib_aci_change_timing&lt;/span&gt; &lt;/a&gt;and &lt;a href="https://github.com/NordicSemiconductor/ble-sdk-arduino/blob/82be655f899592bb1bcd918bb614e2c541b452c6/libraries/BLE/lib_aci.cpp#L461"&gt;lib_aci_change_timing_GAP_PPCP.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;GAP PPCP uses the timing parameters configured in nrfgo studio.&lt;/p&gt;
&lt;p&gt;If you are not able to generate the correct URAT service in nRFgo studio you probably have the wrong uuid. Check the configuration files for the&lt;a href="https://github.com/NordicSemiconductor/ble-sdk-arduino/tree/master/libraries/BLE/examples/ble_uart_project_template"&gt; sdk example&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>