<?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>How to reduce the time to reduce the time to establish Periodic sync in direction finding ?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/78850/how-to-reduce-the-time-to-reduce-the-time-to-establish-periodic-sync-in-direction-finding</link><description>Hi, I am Marcous. 
 Currently I am doing multiple beacons (transmitters) in direction finding demos. Since I found that there is no way to simultaneously receive the CTE containing IQ values. I just map the order of transmitters and receive IQ values</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 27 Oct 2021 10:31:57 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/78850/how-to-reduce-the-time-to-reduce-the-time-to-establish-periodic-sync-in-direction-finding" /><item><title>RE: How to reduce the time to reduce the time to establish Periodic sync in direction finding ?</title><link>https://devzone.nordicsemi.com/thread/336160?ContentTypeID=1</link><pubDate>Wed, 27 Oct 2021 10:31:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d6197cb1-ef1d-43dc-8f61-19dbaa91a07b</guid><dc:creator>Marcous</dc:creator><description>&lt;p&gt;Hi Elfving,&lt;/p&gt;
&lt;p&gt;I tried to tinker with the code as you wrote and eventually I can implement the multi synchronization + multiple cte ! Thanks a lot! I will continue to work on my project in this demo.&amp;nbsp; And I may come back to you with further questions, since my project may require multi-sync with about over ten beacons. I am afraid that I will counter more bugs during the process.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Anyway, this is a big jump! Thanks ！&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Zitong&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reduce the time to reduce the time to establish Periodic sync in direction finding ?</title><link>https://devzone.nordicsemi.com/thread/335887?ContentTypeID=1</link><pubDate>Tue, 26 Oct 2021 09:01:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9d131d2b-01b6-4132-aafc-d7850b7e7981</guid><dc:creator>Elfving</dc:creator><description>&lt;p&gt;Hey Zltong!&lt;/p&gt;
&lt;p&gt;I believe I am seeing the same error as you.&lt;/p&gt;
&lt;p&gt;So it seems that you also saw that adding a bit of a time delay between creating the two syncs would make a difference? If I replaced your for loop with a&amp;nbsp;k_msleep(1000);&amp;nbsp;With that I can sometimes lose the error.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;But a better solution would be to use the semaphore:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;printk(&amp;quot;starting sync creation usually resulting in err EBUSY...\n&amp;quot;);
err = k_sem_take(&amp;amp;sem_per_sync, TIMEOUT_SYNC_CREATE);
if (err) {
        printk(&amp;quot;failed semaphore with err: (err %d)\n&amp;quot;, err);
        return;
}
err1 = bt_le_per_adv_sync_create(&amp;amp;sync_create_param1, &amp;amp;sync1); 
k_sem_give(&amp;amp;sem_per_sync);
printk(&amp;quot;sync creation done!\n&amp;quot;); &lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Does this work for you?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Elfving&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reduce the time to reduce the time to establish Periodic sync in direction finding ?</title><link>https://devzone.nordicsemi.com/thread/335564?ContentTypeID=1</link><pubDate>Sat, 23 Oct 2021 11:24:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8ebbf487-c71f-4ebb-ab65-45324b2eaff6</guid><dc:creator>Marcous</dc:creator><description>&lt;p&gt;From my understanding, scan_recv function only provides the per_addr information of the beacons. Though this information is random, it is fixed since the locator first detect the beacons. Besides, in create_sync function, I see that the only variable to consider is just per_addr. So I supposed that we can just record two Bluetooth devices&amp;#39; addresses and then create synchronization with them one by one.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I actually see a variable something like xxx_pool[&lt;span&gt;BT_PER_ADV_SYNC_MAX&lt;/span&gt;] in a C header file. I think you officially support&amp;nbsp;synchronous connections with multiple beacons but just failed.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reduce the time to reduce the time to establish Periodic sync in direction finding ?</title><link>https://devzone.nordicsemi.com/thread/335321?ContentTypeID=1</link><pubDate>Thu, 21 Oct 2021 13:05:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:81ebfd78-b4e5-4c14-87bd-5ab12ab3387a</guid><dc:creator>Marcous</dc:creator><description>[quote userid="103347" url="~/f/nordic-q-a/78850/how-to-reduce-the-time-to-reduce-the-time-to-establish-periodic-sync-in-direction-finding/334818#334818"]I tried [/quote]
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;static void scan_recv(const struct bt_le_scan_recv_info *info,
		      struct net_buf_simple *buf)
{
	char le_addr[BT_ADDR_LE_STR_LEN];
	char name[PEER_NAME_LEN_MAX];

	(void)memset(name, 0, sizeof(name));

	bt_data_parse(buf, data_cb, name);

	bt_addr_le_to_str(info-&amp;gt;addr, le_addr, sizeof(le_addr));

	printk(&amp;quot;[DEVICE]: %s, AD evt type %u, Tx Pwr: %i, RSSI %i %s C:%u S:%u &amp;quot;
	       &amp;quot;D:%u SR:%u E:%u Prim: %s, Secn: %s, Interval: 0x%04x (%u ms), &amp;quot;
	       &amp;quot;SID: %u\n&amp;quot;,
	       le_addr, info-&amp;gt;adv_type, info-&amp;gt;tx_power, info-&amp;gt;rssi, name,
	       (info-&amp;gt;adv_props &amp;amp; BT_GAP_ADV_PROP_CONNECTABLE) != 0,
	       (info-&amp;gt;adv_props &amp;amp; BT_GAP_ADV_PROP_SCANNABLE) != 0,
	       (info-&amp;gt;adv_props &amp;amp; BT_GAP_ADV_PROP_DIRECTED) != 0,
	       (info-&amp;gt;adv_props &amp;amp; BT_GAP_ADV_PROP_SCAN_RESPONSE) != 0,
	       (info-&amp;gt;adv_props &amp;amp; BT_GAP_ADV_PROP_EXT_ADV) != 0,
	       phy2str(info-&amp;gt;primary_phy), phy2str(info-&amp;gt;secondary_phy),
	       info-&amp;gt;interval, adv_interval_to_ms(info-&amp;gt;interval), info-&amp;gt;sid);

	if (!per_adv_found &amp;amp;&amp;amp; info-&amp;gt;interval &amp;amp;&amp;amp; device_number == 0) {
		bt_addr_le_copy(&amp;amp;per_addr, info-&amp;gt;addr);
		printk(&amp;quot;1 [DEVICE]: %s\n&amp;quot;, le_addr);
                per_sid = info-&amp;gt;sid;
		device_number++;
		return;
	}
	//if (!per_adv_found &amp;amp;&amp;amp; info-&amp;gt;interval) {
	if (!per_adv_found &amp;amp;&amp;amp; info-&amp;gt;interval &amp;amp;&amp;amp; device_number == 1) {
		per_adv_found = true;
		per_sid1 = info-&amp;gt;sid;
		strcpy(name_all, name);
		bt_addr_le_copy(&amp;amp;per_addr1, info-&amp;gt;addr);
		printk(&amp;quot;2 [DEVICE]: %s\n&amp;quot;, le_addr);
		device_number = 0;
		k_sem_give(&amp;amp;sem_per_adv);
	}
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;This is what I do with the scan_rec function, where I added one more global variable&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;static bt_addr_le_t per_addr1&lt;/strong&gt;&amp;nbsp;together with per_addr&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;to record the address of two broadcasting devices with cte extensions.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;After that, in create_sync function&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;pre class="ui-code" data-mode="text"&gt;static void create_sync(void)
{
	struct bt_le_per_adv_sync_param sync_create_param;
	struct bt_le_per_adv_sync_param sync_create_param1;
	int err;
	int err1;
	printk(&amp;quot;Creating Periodic Advertising Sync...&amp;quot;);
	bt_addr_le_copy(&amp;amp;sync_create_param1.addr, &amp;amp;per_addr1);
	bt_addr_le_copy(&amp;amp;sync_create_param.addr, &amp;amp;per_addr);

	sync_create_param.options = 0;
	sync_create_param.sid = per_sid;
	sync_create_param.skip = 0;
	sync_create_param.timeout = 0xa;

	sync_create_param1.options = 0;
	sync_create_param1.sid = per_sid1;
	sync_create_param1.skip = 0;
	sync_create_param1.timeout = 0xa;

	err1 = bt_le_per_adv_sync_create(&amp;amp;sync_create_param1, &amp;amp;sync1);
        for(int j=1;j&amp;lt;10000;++j)
        j=j;
	err = bt_le_per_adv_sync_create(&amp;amp;sync_create_param, &amp;amp;sync);
	if (err) {
		printk(&amp;quot;err failed (err %d)\n&amp;quot;, err);
		return;
	}
	if (err1) {
		printk(&amp;quot;err1 failed (err1 %d)\n&amp;quot;, err1);
                return;
	}
	printk(&amp;quot;success.\n&amp;quot;);
}&lt;/pre&gt;&lt;/div&gt;
&lt;div&gt;I tried to create 2 synchronizations with such two devices using the per_addr and per_addr1. My question is: it will always get error messages in the second times to do&amp;nbsp;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;bt_le_per_adv_sync_create &lt;/strong&gt;function.&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reduce the time to reduce the time to establish Periodic sync in direction finding ?</title><link>https://devzone.nordicsemi.com/thread/334818?ContentTypeID=1</link><pubDate>Tue, 19 Oct 2021 10:40:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e90dfa38-d285-4c76-861b-0ad91631810d</guid><dc:creator>Elfving</dc:creator><description>&lt;p&gt;Hey again Zltong!&lt;/p&gt;
&lt;p&gt;Once again, I am sorry it has taken this long. Our direction finding&amp;nbsp;expertise has been very busy lately.&lt;/p&gt;
&lt;p&gt;I will take more of a look at it myself. Any more updates on how far you have gotten in the debugging on your side?&amp;nbsp;&lt;/p&gt;
[quote user="Marcous"]Hence I tried to get and record two &lt;strong&gt;per_addr(&lt;/strong&gt;which is &lt;strong&gt;per_addr&lt;/strong&gt; and &lt;strong&gt;per_addr1&amp;nbsp;)&lt;/strong&gt;[/quote]
&lt;p&gt;Would you mind showing me how you&amp;#39;ve modified the scan_recv function? I&amp;#39;ll see if I can recreate your issue.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Elfving&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reduce the time to reduce the time to establish Periodic sync in direction finding ?</title><link>https://devzone.nordicsemi.com/thread/331176?ContentTypeID=1</link><pubDate>Sun, 26 Sep 2021 03:12:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ec3e2602-cfa4-4c24-8071-94e3a92ac35f</guid><dc:creator>Marcous</dc:creator><description>&lt;p&gt;Hi, Elfving.&lt;/p&gt;
&lt;p&gt;Providing more debug details:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/1040x240/__key/communityserver-discussions-components-files/4/QQ_2A62FE56_20210926110334.png" /&gt;&lt;/p&gt;
&lt;p&gt;In the&lt;strong&gt; scan.c&lt;/strong&gt; -&amp;gt; &lt;strong&gt;bt_le_per_adv_sync_create&lt;/strong&gt; -&amp;gt; &lt;strong&gt;get_pending_per_adv_sync&lt;/strong&gt; function, I added some printk cmd to just show the error message.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Noting that I add one more&lt;strong&gt;&amp;nbsp;bt_le_per_adv_sync_create&lt;/strong&gt; to create_sync function in main. And the log information is like this:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/379x240/__key/communityserver-discussions-components-files/4/QQ_2A62FE56_20210926110414.png" /&gt;&lt;/p&gt;
&lt;p&gt;I have set the parameter CONFIG_BT_PER_ADV_SYNC_MAX to 3. And the code goes well in the first &lt;strong&gt;bt_le_per_adv_sync_create,&amp;nbsp;&lt;/strong&gt;and does not enter the if judgement. However, in the second&amp;nbsp;&lt;strong&gt;bt_le_per_adv_sync_create,&amp;nbsp;&lt;/strong&gt;it goes wrong with per_adv_sync_pool[0].flag = 536873404 and SYNC_SYNCING = 2&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reduce the time to reduce the time to establish Periodic sync in direction finding ?</title><link>https://devzone.nordicsemi.com/thread/330775?ContentTypeID=1</link><pubDate>Thu, 23 Sep 2021 09:04:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2aa4211c-9899-41b0-a096-e7d1cad8a380</guid><dc:creator>Elfving</dc:creator><description>&lt;p&gt;Yes, hopefully we will!&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve had a talk with the expert about your case, and what you have done should in theory be working. He is planning on taking a closer look.&lt;/p&gt;
&lt;p&gt;Thank you for your patience. I&amp;#39;ll get back to you when I have more information.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Elfving&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reduce the time to reduce the time to establish Periodic sync in direction finding ?</title><link>https://devzone.nordicsemi.com/thread/330553?ContentTypeID=1</link><pubDate>Wed, 22 Sep 2021 01:00:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d218b15e-b2e8-4197-b9a5-38cf483d0d7f</guid><dc:creator>Marcous</dc:creator><description>&lt;p&gt;Hi, Elfving.&lt;/p&gt;
&lt;p&gt;It is already sometime after 20th. Hopefully we will deal with this problem soon!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reduce the time to reduce the time to establish Periodic sync in direction finding ?</title><link>https://devzone.nordicsemi.com/thread/328370?ContentTypeID=1</link><pubDate>Tue, 07 Sep 2021 11:30:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fbdc7304-5fdc-4e2d-9a1f-499a23df7b5c</guid><dc:creator>Marcous</dc:creator><description>&lt;p&gt;Hi, Elfving,&lt;/p&gt;
&lt;p&gt;Glad to see you again, since the feature of multiple sync is every important in my current project, I am looking forward to your updates!&lt;/p&gt;
&lt;p&gt;Hope the problem would be solved!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reduce the time to reduce the time to establish Periodic sync in direction finding ?</title><link>https://devzone.nordicsemi.com/thread/328363?ContentTypeID=1</link><pubDate>Tue, 07 Sep 2021 11:13:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b32d4bb2-30d8-42d0-be89-7d9099c79668</guid><dc:creator>Elfving</dc:creator><description>&lt;p&gt;Hey again&amp;nbsp;&lt;span&gt;Marcous!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;This is getting a bit technical. Our expert on direction finding is out of office until&amp;nbsp;the 20th, so I will have to get back to you sometime after that.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Elfving&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reduce the time to reduce the time to establish Periodic sync in direction finding ?</title><link>https://devzone.nordicsemi.com/thread/328103?ContentTypeID=1</link><pubDate>Mon, 06 Sep 2021 07:36:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:40884baf-7377-4096-b84a-150ab4cca5de</guid><dc:creator>Marcous</dc:creator><description>&lt;p&gt;Hi, Elfving.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Updates:&lt;/p&gt;
&lt;p&gt;&lt;span&gt;From my debugging process, the code always encounters problems when traversing sync_pool, causing the problem of not generating a new sync. Do you have a solution?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/1040x240/__key/communityserver-discussions-components-files/4/QQ_2A62FE56_20210906153430.png" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reduce the time to reduce the time to establish Periodic sync in direction finding ?</title><link>https://devzone.nordicsemi.com/thread/327930?ContentTypeID=1</link><pubDate>Fri, 03 Sep 2021 09:22:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bca15c0b-3f33-4ea0-afba-3f25fe74e25c</guid><dc:creator>Marcous</dc:creator><description>&lt;p&gt;Hi Elfving,&lt;/p&gt;
&lt;p&gt;I have been trying to tinker the code as you said. And followings are what I have done.&lt;/p&gt;
&lt;p&gt;-I tried to add extended advertising points to &lt;strong&gt;scan_recv&lt;/strong&gt; but got no idea how to deal with it. Hence I tried to get and record two &lt;strong&gt;per_addr(&lt;/strong&gt;which is &lt;strong&gt;per_addr&lt;/strong&gt; and &lt;strong&gt;per_addr1&amp;nbsp;)&lt;/strong&gt; in &lt;strong&gt;scan_recv&lt;/strong&gt; in order successfully and then jump out the&amp;nbsp;&lt;strong&gt;k_sem&lt;/strong&gt;&lt;span&gt;&lt;strong&gt;(&amp;amp;sem_per_adv)&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;- Next I tried to create two synchronizations in &lt;strong&gt;create_sync(),&amp;nbsp;&lt;/strong&gt;the code is as followed:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static void create_sync(void)
{
	struct bt_le_per_adv_sync_param sync_create_param;
	struct bt_le_per_adv_sync_param sync_create_param1;
	int err;
	int err1;
	printk(&amp;quot;Creating Periodic Advertising Sync...&amp;quot;);
	bt_addr_le_copy(&amp;amp;sync_create_param1.addr, &amp;amp;per_addr1);
	bt_addr_le_copy(&amp;amp;sync_create_param.addr, &amp;amp;per_addr);

	sync_create_param.options = 0;
	sync_create_param.sid = per_sid;
	sync_create_param.skip = 0;
	sync_create_param.timeout = 0xa;

	sync_create_param1.options = 0;
	sync_create_param1.sid = per_sid1;
	sync_create_param1.skip = 0;
	sync_create_param1.timeout = 0xa;

	err1 = bt_le_per_adv_sync_create(&amp;amp;sync_create_param1, &amp;amp;sync1);
	err = bt_le_per_adv_sync_create(&amp;amp;sync_create_param, &amp;amp;sync);
	if (err) 
	{
		printk(&amp;quot;err failed (err %d)\n&amp;quot;, err);
		return;
	}
	if (err1) 
	{
		printk(&amp;quot;err1 failed (err1 %d)\n&amp;quot;, err1);
		return;
	}
	printk(&amp;quot;success.\n&amp;quot;);
}&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;This code goes wrong when it run at the line of&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;strong&gt;err&amp;nbsp;=&amp;nbsp;bt_le_per_adv_sync_create(&amp;amp;sync_create_param,&amp;nbsp;&amp;amp;sync);&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;and the wrong information is &lt;strong&gt;err = -16(EBUSY&lt;/strong&gt;&amp;nbsp;in the errno.h).&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;Actually I added the&amp;nbsp;&lt;strong&gt;CONFIG_BT_PER_ADV_SYNC_MAX = 3&amp;nbsp;&lt;/strong&gt;to prj.conf file and this parameter in the code is changed to 3.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;Just as a reminder, If I chang the order of&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;err1 = bt_le_per_adv_sync_create(&amp;amp;sync_create_param1, &amp;amp;sync1);
err = bt_le_per_adv_sync_create(&amp;amp;sync_create_param, &amp;amp;sync);&lt;/pre&gt;&lt;/div&gt;
&lt;div&gt;to&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;err = bt_le_per_adv_sync_create(&amp;amp;sync_create_param, &amp;amp;sync);
err1 = bt_le_per_adv_sync_create(&amp;amp;sync_create_param1, &amp;amp;sync1);&lt;/pre&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;The error information becomes&amp;nbsp;&lt;strong&gt;err1 = -16,&lt;/strong&gt; which means it always meets trouble in the latter one.&lt;/div&gt;
&lt;div&gt;Can you help me to create multile sync? Thx a lot !!!&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reduce the time to reduce the time to establish Periodic sync in direction finding ?</title><link>https://devzone.nordicsemi.com/thread/327137?ContentTypeID=1</link><pubDate>Mon, 30 Aug 2021 08:53:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:07569137-2380-4e9a-9c6f-caefa7d69b33</guid><dc:creator>Elfving</dc:creator><description>&lt;p&gt;In the prj.conf or Kconfig file of the project.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Open the project folder of the demo, then find prj.conf, then add the line&amp;nbsp;&lt;span&gt;CONFIG_BT_PER_ADV_SYNC_MAX = 3.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Elfving&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reduce the time to reduce the time to establish Periodic sync in direction finding ?</title><link>https://devzone.nordicsemi.com/thread/327102?ContentTypeID=1</link><pubDate>Mon, 30 Aug 2021 06:19:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0e59aea1-0ed8-4cfa-92d3-62567f7c20ce</guid><dc:creator>Marcous</dc:creator><description>&lt;p&gt;Thanks for your reply, but How do I change the parameter CONFIG_BT_PER_ADV_SYNC_MAX to two or more in nrf connect sdk demos?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reduce the time to reduce the time to establish Periodic sync in direction finding ?</title><link>https://devzone.nordicsemi.com/thread/326336?ContentTypeID=1</link><pubDate>Tue, 24 Aug 2021 11:08:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b871e433-2dcb-4b55-84cf-31afe3fe4975</guid><dc:creator>Elfving</dc:creator><description>&lt;p&gt;Hey &lt;span&gt;Marcous&lt;/span&gt;!&lt;/p&gt;
&lt;p&gt;I would advise you to use multiple advertising streams instead of having to resync. The zephyr controller allows you to have several so that you don&amp;#39;t need to switch between beacons.&amp;nbsp;The config is called &lt;a href="https://docs.zephyrproject.org/latest/reference/kconfig/CONFIG_BT_PER_ADV_SYNC_MAX.html?highlight=config_bt_per_adv_sync_max"&gt;CONFIG_BT_PER_ADV_SYNC_MAX&lt;/a&gt;, it is set to 1 by default.&lt;/p&gt;
&lt;p&gt;You might have to tinker a bit more with it in order to get it to work though. For instance:&lt;/p&gt;
&lt;p&gt;- When scanning callback in scan_recv you have to check for extended advertising points, then call the API to create a new sync if that is the case, and enable CTE sampling for that sync.&lt;/p&gt;
&lt;p&gt;- Create_sync needs to be updated too, it uses globals for sync establishment.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;cte_recv_cb must match IQ report to appropriate sync instance.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Elfving&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>