<?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>Advertise event lost</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/85015/advertise-event-lost</link><description>Hello. We scan the surrounding Advertiser (nRF52832) with the prototype Central device (nRF52832). SCAN_WINDOW = SCAN_INTERVAL = 120ms. There is one problem. The Central device is not receiving enough Advertise signals. 
 Advertiser has a button implemented</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Sun, 27 Feb 2022 23:49:31 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/85015/advertise-event-lost" /><item><title>RE: Advertise event lost</title><link>https://devzone.nordicsemi.com/thread/355154?ContentTypeID=1</link><pubDate>Sun, 27 Feb 2022 23:49:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cf36aee1-dd20-4257-9210-1a8e461ae19c</guid><dc:creator>suke</dc:creator><description>&lt;p&gt;tesc-san&lt;/p&gt;
&lt;p&gt;Thank you !&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Advertise event lost</title><link>https://devzone.nordicsemi.com/thread/354833?ContentTypeID=1</link><pubDate>Thu, 24 Feb 2022 13:19:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:efbe7ce1-d2e0-4047-a1df-7afeddd8c41c</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;If you use both central and peripheral roles, then the SoftDevice scheduler will not be able to schedule a 100 % duty cycle scanning. It will also have to schedule peripheral activity such as advertising and connection events. If you act as central in a connection in addition to the scanning, then central connection events will also be scheduled. Only one type of radio event can be scheduled for any single point in time. When multiple roles are used concurrently, only one role gets the radio at a given time, and the different roles alternates on who gets the radio.&lt;/p&gt;
&lt;p&gt;The SoftDevice schedules events by checking if they overlap with already scheduled events. If they overlap, there is a priority system for which event to schedule and which event to drop. Events will always either fully run, or they will be fully dropped. If the same device have 120 ms scan windows with 120 ms scan interval AND 100 ms interval advertising, then all scan events and all advertising events will collide with at least one event of the other type. I would therefore expect around half of the events to be dropped, both for advertisements and for scans.&lt;/p&gt;
&lt;p&gt;You can read more about the &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsds_s140%2FSDS%2Fs1xx%2Fmultilink_scheduling%2Fmultilink_scheduling.html"&gt;SoftDevice scheduling&lt;/a&gt; in general, and &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsds_s140%2FSDS%2Fs1xx%2Fmultilink_scheduling%2Fpriorities_and_events_intro.html"&gt;SoftDevice timing-activities and priorities&lt;/a&gt; in particular, in the SoftDevice Specification.&lt;/p&gt;
&lt;p&gt;Regarding event filtering, the usual method in the SDK is to filter on e.g. address after receiving the event. This should usually work fine. There is an option of using a whitelist in order for the BLE stack (SoftDevice) to do the filtering, but it does add some complexity and there should not be much overhead in doing the filtering in the application (if any overhead at all.) Printing could take some more time, but that should also have very little impact. What you see is most likely that the SoftDevice is told to schedule more than 100 % of radio time for various roles, and therefore a high number of radio events dropped as it is impossible to schedule them.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Terje&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Advertise event lost</title><link>https://devzone.nordicsemi.com/thread/354701?ContentTypeID=1</link><pubDate>Thu, 24 Feb 2022 01:04:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:54b45bb9-f67d-498e-abe8-069b5173173d</guid><dc:creator>suke</dc:creator><description>&lt;p&gt;tesc-san&lt;br /&gt;SDK is 15.3.0 / softdevice is s132 v6.1.1.&lt;br /&gt;I used Flont line&amp;#39;s Bluetooth Low Energy Protocol Analyzer to verify that the Advertise signal is okay. Analyzer was able to receive Advertises almost 10 times out of 10.&lt;br /&gt;Scanner also works with Central and Peripheral multirole.&lt;br /&gt;This Scanner also advertises at 100ms intervals.&lt;br /&gt;Does multirole have a big impact on the Scan function?&lt;br /&gt;(We plan to remove the peripheral function and check it.)&lt;/p&gt;
&lt;p&gt;In the Advertise reception event, the minimum processing (BD address confirmation and print ()) is performed.&lt;br /&gt;However, I understand that if there are a lot of Advertisers around the Scanner, a lot of receive events can cause the desired Advertise to be lost. For example, is it possible to raise an event only when an Advertise with a specific BD address is received?&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: Advertise event lost</title><link>https://devzone.nordicsemi.com/thread/354351?ContentTypeID=1</link><pubDate>Tue, 22 Feb 2022 12:52:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dc437f0d-17f4-4efc-8f3b-2d28ce7f52aa</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;There might be a small potential for unlucky timings when scan window and advertising interval is close to each other, but 20 ms difference should be OK in theory. It could be an issue if one was close to a multiple of the other, or if the difference was 10 ms or less.&lt;/p&gt;
&lt;p&gt;There are three advertising channels. All three channels are used in rapid succession for each advertising event. For the scanner, one scan window uses one channel, the next scan window uses another channel, and so on. This means if only one of the advertising channels are good, then you should expect to receive advertisements only from one out of three scan windows.&lt;/p&gt;
&lt;p&gt;One way to investigate might be to use the &lt;a href="https://www.nordicsemi.com/Products/Development-tools/nRF-Sniffer-for-Bluetooth-LE"&gt;nRF Sniffer&lt;/a&gt;. It lets you use a DK or Dongle as a BLE sniffer. Then you can see if the issue of receiving advertisements is specific to your scanner or if it is also seen by the sniffer.&lt;/p&gt;
&lt;p&gt;Regarding the handling of the scanned advertisements, it may depend on the stack and SDK used, but if you use a lot of time handling them e.g. in an interrupt or eventhandler, if scanning needs to be restarted afterwards, you may miss a lot of time during the interrupt or event handling. What SDK are you using, and what example (if any) have you built your scanner on?&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Terje&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>