<?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>Advertisement in time slot API at 100ms with connection handling in softdevice</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/44136/advertisement-in-time-slot-api-at-100ms-with-connection-handling-in-softdevice</link><description>I am using an nRF52 DK to build a prototype for a product. The device needs to have a connectable advertisement (as peripheral with multiples connections possible) and at the same time advertise a non-connectable iBeacon. In order to do that, I am using</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 26 Feb 2019 17:23:50 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/44136/advertisement-in-time-slot-api-at-100ms-with-connection-handling-in-softdevice" /><item><title>RE: Advertisement in time slot API at 100ms with connection handling in softdevice</title><link>https://devzone.nordicsemi.com/thread/173109?ContentTypeID=1</link><pubDate>Tue, 26 Feb 2019 17:23:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b155471f-e68d-4c1d-b088-7ec44fcd5bff</guid><dc:creator>Dmitry</dc:creator><description>&lt;p&gt;You can count required length by yourself - for example, if your advertising data takes 28 bytes, one packet takes (16:header + 28:data + 3:crc) * 8 =&amp;nbsp; 376 usec, and full 3-channel cycle will take 376+400+376+400+376 = 1928 usec.&amp;nbsp; Here is another point - since you don&amp;#39;t expect any response from host, you can decrease interval between packets to 150 us (NRF_TIMER0-&amp;gt;CC[0] = 150) and maybe even more. The shorter your slot, the better chance that it won&amp;#39;t be blocked by SoftDevice.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Advertisement in time slot API at 100ms with connection handling in softdevice</title><link>https://devzone.nordicsemi.com/thread/173100?ContentTypeID=1</link><pubDate>Tue, 26 Feb 2019 16:52:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ac9354a1-0397-4161-a31a-27578070b3a2</guid><dc:creator>NO69124</dc:creator><description>&lt;p&gt;I have set up two different addresses so that the two advertisements show as two devices in nrf Connect.&lt;/p&gt;
&lt;p&gt;Do you think I should try to reduce the length of the windows in order to avoid being interrupted by the stack ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Advertisement in time slot API at 100ms with connection handling in softdevice</title><link>https://devzone.nordicsemi.com/thread/173099?ContentTypeID=1</link><pubDate>Tue, 26 Feb 2019 16:49:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fd33d352-6632-4620-8f04-e1c014bdac24</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Do you have the same address on the connectable and the non-connectable advertising packets. If you do, this maybe just the distance between them not the distance between each non-connectable advertising packets.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;It depends on the size of the advertising packet and the number of channel, I think 5.5ms should be enough, especially when you don&amp;#39;t have any RX window to listen to any request.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Advertisement in time slot API at 100ms with connection handling in softdevice</title><link>https://devzone.nordicsemi.com/thread/173095?ContentTypeID=1</link><pubDate>Tue, 26 Feb 2019 16:06:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d12d56a3-276d-43b0-89d7-0203a6d0b248</guid><dc:creator>NO69124</dc:creator><description>&lt;p&gt;Here is what nrfConnect shows me some messages with 100ms and some with &amp;lt;5ms. See below :&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/1040x720/__key/communityserver-discussions-components-files/4/Screenshot_5F00_20190226_2D00_170231_5F00_nRF-Connect.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Thanks for the responses. I see now that those errors might be normal.&lt;/p&gt;
&lt;p&gt;I will try tomorrow to check with a logic analyzer. &lt;/p&gt;
&lt;p&gt;Do you know by any chance if the length of the time slot I have configured (5500us) is enough or maybe too big a single advertisement packet ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Advertisement in time slot API at 100ms with connection handling in softdevice</title><link>https://devzone.nordicsemi.com/thread/173081?ContentTypeID=1</link><pubDate>Tue, 26 Feb 2019 15:09:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5d2be024-cf8a-40de-8cbf-e1db216dd661</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I&amp;#39;m not really sure why you have 5ms between two messages. Isn&amp;#39;t it the interval you plan to have is 100ms ?&amp;nbsp;&lt;br /&gt;One trick to show how the timeslot is being scheduled is to toggle a pin when you are inside a timeslot. Then using the logic analyzer to visualize it. It would be very useful if you can provide one.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Advertisement in time slot API at 100ms with connection handling in softdevice</title><link>https://devzone.nordicsemi.com/thread/173056?ContentTypeID=1</link><pubDate>Tue, 26 Feb 2019 14:06:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:01306dcf-50f9-43e9-a1e4-2c633d41bd1c</guid><dc:creator>Dmitry</dc:creator><description>&lt;p&gt;As you can see in the code, in case of conflict it schedules earliest timeslot. You have two ways: instead, schedule next slot in double adv_interval (blocked advertisement is lost in this case), or set some flag on error to skip radio activity in earliest slot, just schedule next one right in NRF_RADIO_CALLBACK_SIGNAL_TYPE_START (sometimes interval will be a bit larger than 100 ms). Anyway SoftDevice should have a priority over a beacon packets - broken connection is much worse thing than lost advertisement, and you have no way to get stable 100 ms interval while any connection is active. Again, I don&amp;#39;t see any issue with that.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Advertisement in time slot API at 100ms with connection handling in softdevice</title><link>https://devzone.nordicsemi.com/thread/173037?ContentTypeID=1</link><pubDate>Tue, 26 Feb 2019 13:07:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9dec6d29-bb88-43c2-99f2-2198f81a116c</guid><dc:creator>NO69124</dc:creator><description>&lt;p&gt;OK. I see the &amp;quot;TODO: A proper solution should try again&amp;quot; in the evt_handler. Is there a better way to handle those errors ?&lt;/p&gt;
&lt;p&gt;When I look at the iBeacon advertisement packets in nrf Connect, it seems that the advertisement interval is not very stable. Sometimes I have about 100ms between two messages, and sometimes, I end up with less than 5ms between two messages. Is there a way to get a stable interval and avoid these &amp;lt;5ms interval packets ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Advertisement in time slot API at 100ms with connection handling in softdevice</title><link>https://devzone.nordicsemi.com/thread/173027?ContentTypeID=1</link><pubDate>Tue, 26 Feb 2019 12:53:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fd7a9a07-592b-4267-aa4a-46709cbc7763</guid><dc:creator>Dmitry</dc:creator><description>&lt;p&gt;You get radio errors because your advertisements sometimes overlap with SoftDevice ones. This might be an issue when you&amp;#39;re implementing a connection over a timeslot. But in case of advertisements, there&amp;#39;s no strict timing requirements, so just ignore these errors - they&amp;#39;re handled in&amp;nbsp; app_beacon_on_sys_evt().&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>