<?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>Questions about s132 scheduler. (Collision avoidance &amp;amp; rescheduling)</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/36291/questions-about-s132-scheduler-collision-avoidance-rescheduling</link><description>I&amp;#39;m developing a peripheral with s132 v5.1.0 that supports multiple concurrent connections. I&amp;#39;ve looked at section 15 of the SoftDevice Spec and I have a couple of questions. 
 
 Section 15 of the SoftDevice Spec says &amp;quot;Activity B will be blocked and its</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 16 Jul 2018 14:24:52 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/36291/questions-about-s132-scheduler-collision-avoidance-rescheduling" /><item><title>RE: Questions about s132 scheduler. (Collision avoidance &amp; rescheduling)</title><link>https://devzone.nordicsemi.com/thread/140244?ContentTypeID=1</link><pubDate>Mon, 16 Jul 2018 14:24:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5e10fd73-3c1d-4991-9db0-c83b03537f2c</guid><dc:creator>Elias</dc:creator><description>&lt;p&gt;Test answering. The question was updated.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Questions about s132 scheduler. (Collision avoidance &amp; rescheduling)</title><link>https://devzone.nordicsemi.com/thread/140008?ContentTypeID=1</link><pubDate>Fri, 13 Jul 2018 07:03:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7053d9ff-739c-467d-993d-4483b18b9ce6</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Unfortunately no calback, the softdevice manages the collision and the re-request everything by itself and the application cannot influence this. That is the reason, the application is not notified either.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Questions about s132 scheduler. (Collision avoidance &amp; rescheduling)</title><link>https://devzone.nordicsemi.com/thread/139999?ContentTypeID=1</link><pubDate>Fri, 13 Jul 2018 06:10:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:75379b1d-3acc-45d3-bccb-5d9b613c3063</guid><dc:creator>Elias</dc:creator><description>&lt;p&gt;And there is no callback or anything for collisions, correct? I&amp;#39;m not sure&amp;nbsp;how we would use them in my application, but it would be &amp;quot;nice to know&amp;quot;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Questions about s132 scheduler. (Collision avoidance &amp; rescheduling)</title><link>https://devzone.nordicsemi.com/thread/139997?ContentTypeID=1</link><pubDate>Fri, 13 Jul 2018 05:46:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e3edbf3b-775b-4b18-89ce-6adb9ab25b40</guid><dc:creator>Susheel Nuguru</dc:creator><description>[quote user=""]Section 15 of the SoftDevice Spec says &amp;quot;Activity B will be blocked and its timing-event will be rescheduled for a later time&amp;quot;. What will this &amp;quot;later time&amp;quot; be?[/quote]
&lt;p&gt;OK, I see your doubt here. When two roles are participating in a scheduling, they normally ask the scheduler for the timeslot. For example if the&lt;/p&gt;
&lt;p&gt;scanner with scan window = 10ms , scan interval = 50ms&amp;nbsp; and&lt;/p&gt;
&lt;p&gt;an existing connection with connection interval of 500 ms are participating in the scheduling asking for the time at the exact timeslot (collision), then for example the scheduler gives that time slot to the scanner (connection looses that round with the scheduler).Here due to the specifications, the connection will not participate in the next round of scheduling after the scanner is finished after 10ms. This is because the connection event would not like to start at a delay of 10ms. It would rather miss that slot but request a timeslot after 490 ms which it most likely would get. This is ok as there is supervision timeout and slave latency that alows a device to miss few connection events. When the role looses many time in scheduling and then the supervision timeout of the connection is about to expire, then the scheduler gives highest priority to the role so that it does not disconnect.&lt;/p&gt;
&lt;p&gt;In short.&lt;/p&gt;
&lt;p&gt;connection and adv roles if loses in the scheduling , they would be participating for&amp;nbsp;the next interval of this respective role.&lt;/p&gt;
&lt;p&gt;scanner if it looses in the scheduling, would be participating for the next available timeslot after the lost round.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Questions about s132 scheduler. (Collision avoidance &amp; rescheduling)</title><link>https://devzone.nordicsemi.com/thread/139961?ContentTypeID=1</link><pubDate>Thu, 12 Jul 2018 18:24:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5321c28c-b2f3-4477-88e8-44d621767f3b</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;There is no event that participates in the scheduling, only roles participate and the role that doesn&amp;#39;t win the current round participates in the next time slot scheduling.&lt;/p&gt;
&lt;p&gt;What exactly do you mean by events here? in terms of softdevice, events are generated after a radio activity, maybe there is a little confusion between us regarding terminology.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Questions about s132 scheduler. (Collision avoidance &amp; rescheduling)</title><link>https://devzone.nordicsemi.com/thread/139944?ContentTypeID=1</link><pubDate>Thu, 12 Jul 2018 16:20:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4fce8e27-b885-4130-8153-94246a6ba9a3</guid><dc:creator>Elias</dc:creator><description>&lt;p&gt;You didn&amp;#39;t answer any of my questions. I understand priority. I&amp;#39;m asking about what happens to the event that doesn&amp;#39;t &amp;quot;win&amp;quot; i.e. the one that gets rescheduled.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Questions about s132 scheduler. (Collision avoidance &amp; rescheduling)</title><link>https://devzone.nordicsemi.com/thread/139817?ContentTypeID=1</link><pubDate>Thu, 12 Jul 2018 06:27:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9135d1d4-9f41-47d6-a32f-c1ced8eb4d62</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Hi Elias,&lt;/p&gt;
&lt;p&gt;Softdevice has a Radio Event Manager (REM) that is a scheduler to manage Radio timeslot. When softdevice mentions scheduler, then it means a scheduler for Radio and not the CPU.&lt;/p&gt;
&lt;p&gt;Since there is only one radio, there will be only one event at a time that would get the radio access. In your question, if the device has a connection and also is a advertiser (for example), then the REM (scheduler) makes sure that only one get the radio access based on the &lt;a href="http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.s132.sds%2Fdita%2Fsoftdevices%2Fs130%2Fmultilink_scheduling%2Fpriorities_and_events_intro.html"&gt;priority&lt;/a&gt;. Little confusing part is that the flash access uses the same REM scheduler since radio activity affects flash access, so they need to mutually exclusive. The easiest way to fix this problem was to give a radio time slot for flash access. That is while flash access, it is made sure that radio is off.&lt;/p&gt;
&lt;p&gt;There could be collisions when both a connection and the advertising role requests REM a timeslot, at this time, the above mentioned priority is taken into affect and the one that wins is given radio access.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>