<?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>[nRF51822] Connectable Indirected advertising after pairing was done.</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/456/nrf51822-connectable-indirected-advertising-after-pairing-was-done</link><description>Hi sir
In Desktop 2, before BTLE pairing, nRF51 uses Connectable Indirected advertising. After BTLE pairing with BTLE host, nRF51 will select Directed advertsing for saving connection time.
Could nRF51use Connection Indirected advertising type to the</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 27 Sep 2013 10:55:58 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/456/nrf51822-connectable-indirected-advertising-after-pairing-was-done" /><item><title>RE: [nRF51822] Connectable Indirected advertising after pairing was done.</title><link>https://devzone.nordicsemi.com/thread/2386?ContentTypeID=1</link><pubDate>Fri, 27 Sep 2013 10:55:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:82d77605-c536-4d14-a165-d6ca29a2c4a8</guid><dc:creator>Ole Morten</dc:creator><description>&lt;p&gt;Sorry for the delay, but please have a look at this: &lt;a target="_blank" href="https://devzone.nordicsemi.com/index.php/source-code-for-master-control-panel-3-4-0" rel="nofollow"&gt;https://devzone.nordicsemi.com/index.php/source-code-for-master-control-panel-3-4-0&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [nRF51822] Connectable Indirected advertising after pairing was done.</title><link>https://devzone.nordicsemi.com/thread/2385?ContentTypeID=1</link><pubDate>Fri, 27 Sep 2013 00:50:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:38c09afe-bb20-4510-a425-1a82dd3593ca</guid><dc:creator>Jeffery</dc:creator><description>&lt;p&gt;Could it be possible to have the source code as I mentioned at previous message? Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [nRF51822] Connectable Indirected advertising after pairing was done.</title><link>https://devzone.nordicsemi.com/thread/2384?ContentTypeID=1</link><pubDate>Thu, 26 Sep 2013 00:45:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d7e42243-e428-49af-8d1e-429e75893c8f</guid><dc:creator>Jeffery</dc:creator><description>&lt;p&gt;Never mind it. I will give up this method. Then, try others. There are another two questions.
1.Could Nordic release firmware source code of nRF51822 USB dongle? The dongle is used for Master Control panel.
2. Could Nordic release windows application source code of Master Control Panel 3.3.0?&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [nRF51822] Connectable Indirected advertising after pairing was done.</title><link>https://devzone.nordicsemi.com/thread/2383?ContentTypeID=1</link><pubDate>Wed, 25 Sep 2013 07:15:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2b6e9af5-3d03-485b-86d9-259fc6d2a725</guid><dc:creator>Ole Morten</dc:creator><description>&lt;p&gt;I&amp;#39;m sorry for the delay, but I had to verify this with a developer. Unfortunately, it seems I have misled you. Moving encryption keys between devices will in fact not work out of the box, since each device have a unique set of root keys, that is used in the bond process.&lt;/p&gt;
&lt;p&gt;You would have to do quite extensive modifications to the bond manager to make this work, so this is something I will strongly recommend you to &lt;em&gt;not&lt;/em&gt; do.&lt;/p&gt;
&lt;p&gt;For production testing, I&amp;#39;d again recommend you to either use the Master Emulator API or to use DTM as outlined in this application note:
&lt;a target="_blank" href="https://www.nordicsemi.com/eng/nordic/download_resource/20648/5/98128001" rel="nofollow"&gt;https://www.nordicsemi.com/eng/nordic/download_resource/20648/5/98128001&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#39;m terribly sorry for the inconvenience.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [nRF51822] Connectable Indirected advertising after pairing was done.</title><link>https://devzone.nordicsemi.com/thread/2382?ContentTypeID=1</link><pubDate>Wed, 25 Sep 2013 00:42:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cfcb7831-01ea-4e1c-b3b1-aa14a8439362</guid><dc:creator>Jeffery</dc:creator><description>&lt;p&gt;Dear Ole Morten
I had copied all the flash data to another sample as I mentioned in last message. It still cannot work. Please comment it. Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [nRF51822] Connectable Indirected advertising after pairing was done.</title><link>https://devzone.nordicsemi.com/thread/2381?ContentTypeID=1</link><pubDate>Mon, 23 Sep 2013 02:45:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b85c877e-b637-4665-afdc-25256803da6f</guid><dc:creator>Jeffery</dc:creator><description>&lt;p&gt;In Desktop 2 source code, Bonding information was stored at flash page 255 and System attribute was stored at flash page 253. Then, I made a experiment.
Step1.  Pair nRF51822 sample A with BTLE host.
Step2.  Copy flash page 253 and 255 from sample A to smple B.
Step3.  Modify sample B to have same device address as sample A.
Step4.  Try sample B to connect the BTLE host directly without pairing. (The BTLE host already had bonding record of sample A)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;The result is frustrating. Sample B still cannot work with BTLE host.
&lt;/code&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [nRF51822] Connectable Indirected advertising after pairing was done.</title><link>https://devzone.nordicsemi.com/thread/2380?ContentTypeID=1</link><pubDate>Thu, 19 Sep 2013 09:16:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cd0e6b7b-4abc-4270-bc59-06c63a75ca4d</guid><dc:creator>Ole Morten</dc:creator><description>&lt;p&gt;The encryption keys are handled by the bond manager, and written to flash once a bond has been successfully established. You should therefore look at the ble_bondmngr.c file to see how it&amp;#39;s stored. Encryption keys are generated when a bond is first established, and then reused on all subsequent connections.&lt;/p&gt;
&lt;p&gt;What you want to do is not trivial, and as I said, I&amp;#39;d normally not recommend anyone going down this path.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [nRF51822] Connectable Indirected advertising after pairing was done.</title><link>https://devzone.nordicsemi.com/thread/2379?ContentTypeID=1</link><pubDate>Wed, 18 Sep 2013 01:14:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:144882f1-9ffa-4fc2-a394-14079f4a81ca</guid><dc:creator>Jeffery</dc:creator><description>&lt;p&gt;So, you mentioned besides the same device address, I also need same ecryption key. For Desktop 2, where did you set encryption key? Could we read it out? It is a random number? Would it also be stored in flash after bonding done? Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [nRF51822] Connectable Indirected advertising after pairing was done.</title><link>https://devzone.nordicsemi.com/thread/2378?ContentTypeID=1</link><pubDate>Tue, 17 Sep 2013 11:27:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8cd58485-0fe1-467f-9af3-6007b386855e</guid><dc:creator>Ole Morten</dc:creator><description>&lt;p&gt;Connecting with Master Emulator will not make the device appear as a regular HID device, so you will not be able to control anything with it. If wanted, I guess you could in principle parse the data in the application to know whether it makes sense or not, or else you&amp;#39;ll have to just assume that everything is good if you actually get data.&lt;/p&gt;
&lt;p&gt;Doing tricks to make multiple devices appear as the same device to Windows is not easy to solve, and I&amp;#39;m not sure I&amp;#39;d recommend trying that. Remember that you&amp;#39;d also have to make sure that all devices have the same encryption key for this to work; it is not sufficient that they have the same address. This would therefore require modifications to your program.&lt;/p&gt;
&lt;p&gt;Most customers seems to be using the Master Emulator to do production testing.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [nRF51822] Connectable Indirected advertising after pairing was done.</title><link>https://devzone.nordicsemi.com/thread/2377?ContentTypeID=1</link><pubDate>Tue, 17 Sep 2013 00:34:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f639ac9c-5f79-4d4f-af09-d7327b813dd2</guid><dc:creator>Jeffery</dc:creator><description>&lt;p&gt;Dears
I am thinking the vendors will not accept Master Emulator to do function test. For instance, mouse was only gotten X-Y prameters , button value,  and scroll value at Master Emulator. These values are no use in product line. Operators tested visible testing items at real Windows 8, such as drawing cricles, report rates and so on. So, the best way is to bond with BTLE real host. Or, after bonding with dongle with Master Emulator, mouse or keyboard can really work as they suppose to act at Windows 8? Besides, my initial question is used Connectable Indirected ADV to a already bonded BTLE host. The all mouse or keyboard set the same device address in product line. Could it be possible?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [nRF51822] Connectable Indirected advertising after pairing was done.</title><link>https://devzone.nordicsemi.com/thread/2375?ContentTypeID=1</link><pubDate>Mon, 16 Sep 2013 05:34:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a4029159-b9a3-4b28-aa73-735df4160ddc</guid><dc:creator>Ole Morten</dc:creator><description>&lt;p&gt;If you&amp;#39;re looking at developing a test for mass production, I&amp;#39;d recommend you to have a look at nAN-34: &lt;a target="_blank" href="https://www.nordicsemi.com/eng/nordic/download_resource/20648/5/85114866" rel="nofollow"&gt;https://www.nordicsemi.com/eng/nordic/download_resource/20648/5/85114866&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;An alternative to the setup that is proposed there is to make a Master Emulator application to do the test, instead of relying on the built-in Windows features to do the bonding. This will make it easy to create and remove bonds from the code, removing the need for operators to manually do any deletion except for on the device.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [nRF51822] Connectable Indirected advertising after pairing was done.</title><link>https://devzone.nordicsemi.com/thread/2376?ContentTypeID=1</link><pubDate>Fri, 13 Sep 2013 23:22:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:030506c3-856e-4497-bbe0-2943c886fb1f</guid><dc:creator>Jeffery</dc:creator><description>&lt;p&gt;Continue...&lt;/p&gt;
&lt;p&gt;As to the device address, I know each sample has unique device address. So, there is a trick to overwrite their device address same as the first sample has. This constant device address only be implemented in product line.
So, adverstising packet got same device address.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [nRF51822] Connectable Indirected advertising after pairing was done.</title><link>https://devzone.nordicsemi.com/thread/2374?ContentTypeID=1</link><pubDate>Fri, 13 Sep 2013 23:17:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c7006977-ee3f-4203-ac53-7d027a21f571</guid><dc:creator>Jeffery</dc:creator><description>&lt;p&gt;Hi dears&lt;/p&gt;
&lt;p&gt;Actually, this application is a testing kit used in MP. I don&amp;#39;t want to do pairing for everey sample in a single PC since operators will got mad to repeat it. Besides, the performace of PC will become worse after a lot of bonding records were accumulated.&lt;/p&gt;
&lt;p&gt;So, my idea is only to pair for the first sample. Then, the bonding record will exist in the PC. Then, for other samples that they didn&amp;#39;t have whitelist anyhow, just advertise by Connectable Indirected advertising. However, it seems not work.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [nRF51822] Connectable Indirected advertising after pairing was done.</title><link>https://devzone.nordicsemi.com/thread/2373?ContentTypeID=1</link><pubDate>Fri, 13 Sep 2013 12:01:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:74e0dee7-723c-40b9-a4cd-68a5c95fc285</guid><dc:creator>Ole Morten</dc:creator><description>&lt;p&gt;Yes, this is most definitely possible, it&amp;#39;s just a matter of editing the code used when starting advertising. If you already have a bond, and does not want to initiate a new one, I&amp;#39;d recommend you to use advertising with whitelisting.&lt;/p&gt;
&lt;p&gt;When using the bond manager, you can get hold of a whitelist by calling the ble_bondmngr_whitelist_get() function. The following two code snippets should show what&amp;#39;s needed:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
static void advertising_init(void)
{
    uint32_t      err_code;
    ble_advdata_t advdata;
    uint8_t       flags = BLE_GAP_ADV_FLAG_BR_EDR_NOT_SUPPORTED;
    static ble_gap_whitelist_t whitelist;
    
    ble_uuid_t adv_uuids[] = 
    {
        {BLE_UUID_GLUCOSE_SERVICE,            BLE_UUID_TYPE_BLE},
        {BLE_UUID_BATTERY_SERVICE,            BLE_UUID_TYPE_BLE}, 
        {BLE_UUID_DEVICE_INFORMATION_SERVICE, BLE_UUID_TYPE_BLE}
    };

    // Build and set advertising data
    memset(&amp;amp;advdata, 0, sizeof(advdata));
    
    advdata.name_type               = BLE_ADVDATA_FULL_NAME;
    advdata.include_appearance      = false;
    advdata.flags.size              = sizeof(flags);
    advdata.flags.p_data            = &amp;amp;flags;
    advdata.uuids_complete.uuid_cnt = sizeof(adv_uuids) / sizeof(adv_uuids[0]);
    advdata.uuids_complete.p_uuids  = adv_uuids;
    
    err_code = ble_advdata_set(&amp;amp;advdata, NULL);
    APP_ERROR_CHECK(err_code);

    // Initialise advertising parameters (used when starting advertising)
    err_code = ble_bondmngr_whitelist_get(&amp;amp;whitelist);
    APP_ERROR_CHECK(err_code);
    
    memset(&amp;amp;m_adv_params, 0, sizeof(m_adv_params));
    
    m_adv_params.type        = BLE_GAP_ADV_TYPE_ADV_IND;
    m_adv_params.p_peer_addr = NULL;                           // Undirected advertisement
    
    if ((whitelist.addr_count &amp;gt; 0) || (whitelist.irk_count &amp;gt; 0))
    {
        m_adv_params.fp          = BLE_GAP_ADV_FP_FILTER_BOTH;
        m_adv_params.p_whitelist = &amp;amp;whitelist;
    }
    else
    {
        m_adv_params.fp = BLE_GAP_ADV_FP_ANY;
    }
    m_adv_params.interval    = APP_ADV_INTERVAL;
    m_adv_params.timeout     = APP_ADV_TIMEOUT_IN_SECONDS;
}

...

static void advertising_start(void)
{
    uint32_t err_code;
    
    err_code = sd_ble_gap_adv_start(&amp;amp;m_adv_params);
    APP_ERROR_CHECK(err_code);
    
    nrf_gpio_pin_set(ADVERTISING_LED_PIN_NO);
}

&lt;/code&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>