<?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>Using the S130 alpha SD</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/10653/using-the-s130-alpha-sd</link><description>I&amp;#39;m trying to test the throughput improvement of the S130 alpha softdevice vs S130 V1. 
 I notice a couple of changes in the API that I&amp;#39;m not sure how to handle: 
 First, ble_enable_params_t has changed and so has the number of arguments for sd_ble_enable</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 09 Dec 2015 10:26:17 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/10653/using-the-s130-alpha-sd" /><item><title>RE: Using the S130 alpha SD</title><link>https://devzone.nordicsemi.com/thread/39750?ContentTypeID=1</link><pubDate>Wed, 09 Dec 2015 10:26:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a0041d62-69f8-4ad0-818c-68a81eef5b0c</guid><dc:creator>Ole Bauck</dc:creator><description>&lt;p&gt;Ok, I misunderstood your first question and thought you were going from alpha release to v1.0.0. I realize now that you are going from the v1.0.0 release to v2.0.0 alpha. I have made a quick walkthrough for the s132 v2.0.0 alphas &lt;a href="https://devzone.nordicsemi.com/question/59316/nrf52-ble-uart-example-not-working-with-s132-ver-200-alpha/?answer=59495#post-id-59495"&gt;here&lt;/a&gt; (it will be updated with a more in depth document). The procedure is the same for s130 v2.0.0 alphas, only the ROM and RAM size is different.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using the S130 alpha SD</title><link>https://devzone.nordicsemi.com/thread/39749?ContentTypeID=1</link><pubDate>Tue, 08 Dec 2015 16:38:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:99bb1fef-45aa-4cea-b998-1357cd4947ea</guid><dc:creator>Bret Foreman</dc:creator><description>&lt;p&gt;I&amp;#39;m using the s130 alpha which came with a new set of include files. Are those files backward compatible to s130 v1.0.0?&lt;/p&gt;
&lt;p&gt;As you say, the SDK 10 s130 examples work with s130 v1.0.0 out of the box, but they don&amp;#39;t work with S130alpha and the S130alpha release notes don&amp;#39;t give a clue about how to make them work.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using the S130 alpha SD</title><link>https://devzone.nordicsemi.com/thread/39746?ContentTypeID=1</link><pubDate>Tue, 08 Dec 2015 10:01:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:70db3d6a-9e59-47fc-a7ee-d8d3ffbcf352</guid><dc:creator>Ole Bauck</dc:creator><description>&lt;p&gt;SDK 10 s130 examples should work with SoftDevice s130 v1.0.0 out of the box. sd_ble_enable(...) in s130 v1.0.0 takes one argument, and in s130 v2.0.0-4.alpha or v2.0.0-7.alpha it takes two arguments. If you are using v1.0.0, I suggest that you download SDK again, it seems that you have changed the ble header files.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using the S130 alpha SD</title><link>https://devzone.nordicsemi.com/thread/39748?ContentTypeID=1</link><pubDate>Mon, 07 Dec 2015 21:22:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4ed88400-4a80-4629-a1ce-e1a0b027dff1</guid><dc:creator>Bret Foreman</dc:creator><description>&lt;p&gt;I got everything to build. It took a while because many header and c files were moved from SDK 9 to SDK 10. I also added a second NULL argument to sd_ble_enable and that fixed the build issue.&lt;/p&gt;
&lt;p&gt;Now I&amp;#39;m having trouble with notify_enable. Here&amp;#39;s the code, which is the same in SDK 9 and SDK 10:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;static void notify_enable(void)
{
    ble_gattc_write_params_t write_params;
    uint8_t                  buf[BLE_CCCD_VALUE_LEN];
	
    buf[0] = BLE_GATT_HVX_NOTIFICATION;
    buf[1] = 0;

    write_params.write_op = BLE_GATT_OP_WRITE_REQ;
    write_params.handle   = RX_cccd_handle;
    write_params.offset   = 0;
    write_params.len      = sizeof(buf);
    write_params.p_value  = buf;
 write_params.flags    = BLE_GATT_EXEC_WRITE_FLAG_PREPARED_WRITE;

    APP_ERROR_CHECK( sd_ble_gattc_write(conn_handle, &amp;amp;write_params) );
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;On SDK 9, this code works fine. With SDK 10, sd_ble_gattc_write() returns code 8, illegal state. Has there been a change in how this function is used?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using the S130 alpha SD</title><link>https://devzone.nordicsemi.com/thread/39747?ContentTypeID=1</link><pubDate>Fri, 04 Dec 2015 23:48:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1347d185-994f-469d-be99-a12948328c0c</guid><dc:creator>Bret Foreman</dc:creator><description>&lt;p&gt;A little more research leads me to believe that the __CC_ARM macro identifies the ARM compiler. How do I turn that on in Keil?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using the S130 alpha SD</title><link>https://devzone.nordicsemi.com/thread/39745?ContentTypeID=1</link><pubDate>Fri, 04 Dec 2015 23:16:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ffbdf82c-ac66-4890-95a6-bfa7ce0fc08c</guid><dc:creator>Bret Foreman</dc:creator><description>&lt;p&gt;I&amp;#39;m now working with SDK 10 and the compiler is still complaining about sd_ble_enable. A look at ble.h reveals that the one-argument version of the function requires the macro __CC_ARM to be defined. A little more looking around shows that this macro is used all over the place so I&amp;#39;m reluctant to add it to the project for fear of other side effects. What is it? And if I do add it, should it be local to this file or global to the project? Or is this macro defined somewhere in a header file I need to include?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using the S130 alpha SD</title><link>https://devzone.nordicsemi.com/thread/39743?ContentTypeID=1</link><pubDate>Fri, 04 Dec 2015 22:41:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b7d57ac4-f9aa-42b0-a81d-a2e2c83973d2</guid><dc:creator>Bret Foreman</dc:creator><description>&lt;p&gt;I installed SDK version 10 and tested the build of some sample projects. I see that IS_SRVC_CHANGED_CHARACT_PRESENT is simply defined to be 0 at the top of the main in the version 10 examples.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using the S130 alpha SD</title><link>https://devzone.nordicsemi.com/thread/39744?ContentTypeID=1</link><pubDate>Fri, 04 Dec 2015 16:50:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:465cdf10-a49d-4d3a-8328-79e92c9a7911</guid><dc:creator>Bret Foreman</dc:creator><description>&lt;p&gt;I&amp;#39;m following the release notes that came with the alpha release. They mention that sd_ble_enable has changed, but not in enough detail to understand how to use it.&lt;/p&gt;
&lt;p&gt;I did a complete search of my 9.0.0 dev environment and I don&amp;#39;t  have a header file that defines IS_SRVC_CHANGED_CHARACT_PRESENT. And it&amp;#39;s not in any of the new header files that came with the alpha release. I&amp;#39;m guessing that I&amp;#39;m missing a file. Can you tell me where to find the header for this macro?&lt;/p&gt;
&lt;p&gt;And my compiler complains that sd_ble_enable takes two arguments, not one. It looks like it takes some kind of memory base. In fact, I can&amp;#39;t find the header where the prototype for this function is defined.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using the S130 alpha SD</title><link>https://devzone.nordicsemi.com/thread/39742?ContentTypeID=1</link><pubDate>Fri, 04 Dec 2015 10:05:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:12359bd6-f5c1-47f0-a1f7-a9491a8b9365</guid><dc:creator>Ole Bauck</dc:creator><description>&lt;p&gt;For an example of how to call sd_ble_enable, take a look at &lt;code&gt;ble_stack_init()&lt;/code&gt; in the SDK examples. For your convenience, here it is:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#if defined(S110) || defined(S130) || defined(S132)
    // Enable BLE stack.
    ble_enable_params_t ble_enable_params;
    memset(&amp;amp;ble_enable_params, 0, sizeof(ble_enable_params));
#if (defined(S130) || defined(S132))
    ble_enable_params.gatts_enable_params.attr_tab_size   = BLE_GATTS_ATTR_TAB_SIZE_DEFAULT;
#endif
    ble_enable_params.gatts_enable_params.service_changed = IS_SRVC_CHANGED_CHARACT_PRESENT;
    err_code = sd_ble_enable(&amp;amp;ble_enable_params);
    APP_ERROR_CHECK(err_code);
#endif
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The macro S130 is defined in the preprocessor symbols, so you can add your old code inside an #ifdef S130_ALPHA and change the macro to S130_ALPHA to use old code.&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t have a complete overview of the changes, but they should be in the release notes located in the SoftDevice folder (zip file downloaded).&lt;/p&gt;
&lt;p&gt;As far as I know, you don&amp;#39;t need to tell the SoftDevice to accept 3 packets per connection interval, this is automatic.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>