<?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 close can timeslots be scheduled?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/66028/how-close-can-timeslots-be-scheduled</link><description>Hi, 
 I want to schedule timeslots back-to-back, or as close as possible. Question is how close to eachother timeslots can be scheduled? 
 I read the following about sd_radio_request() at https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 21 Sep 2020 10:22:02 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/66028/how-close-can-timeslots-be-scheduled" /><item><title>RE: How close can timeslots be scheduled?</title><link>https://devzone.nordicsemi.com/thread/270539?ContentTypeID=1</link><pubDate>Mon, 21 Sep 2020 10:22:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:35c3bbbb-d2ba-46e3-a796-d2507f747ad6</guid><dc:creator>Bjorn191023</dc:creator><description>&lt;p&gt;Hi Simon,&lt;/p&gt;
&lt;p&gt;Sorry, we cant use earliest since we need exact timing on micro-sec level between BIS-events. So normal is required.&lt;/p&gt;
&lt;p&gt;I understand your response so that it&amp;#39;s not possible to schedule separate timeslots with 150 us between. Thanks, then I know, even if I was hoping for another answer ;-)&lt;/p&gt;
&lt;p&gt;BR / Bj&amp;ouml;rn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How close can timeslots be scheduled?</title><link>https://devzone.nordicsemi.com/thread/270511?ContentTypeID=1</link><pubDate>Mon, 21 Sep 2020 09:14:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1cee677c-9d92-4e9a-9c97-173eaf897c1c</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi again Björn&lt;/p&gt;
&lt;p&gt;I&amp;nbsp;discussed this with&amp;nbsp;one of our &amp;quot;timeslot experts&amp;quot;, and in order to get the next timeslot event as close as possible to the last one, we suggest using&amp;nbsp;the &lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s140.api.v7.2.0/structnrf__radio__request__earliest__t.html"&gt;nrf_radio_request_earliest&lt;/a&gt;&amp;nbsp;call to get the next timeslot as early as possible. Unfortunately, it doesn&amp;#39;t seem like we have any definition on how short this is, and we can&amp;#39;t guarantee any shorter intervals than what you are already seeing for&amp;nbsp;&lt;span&gt;NRF_RADIO_HFCLK_CFG_NO_GUARANTEE or&amp;nbsp;NRF_RADIO_HFCLK_CFG_XTAL_GUARANTEED.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Our expert also suggest using a combination of this &amp;quot;earliest&amp;quot; call between timeslots and extending them for the best behavior. I don&amp;#39;t see why the separately requested timeslots would &amp;quot;give TX its own timeslot sub-sequent events&amp;quot;, as I think the SoftDevice won&amp;#39;t stop in the middle of an extended timeslot to get the radio back once requested either way.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Simon&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How close can timeslots be scheduled?</title><link>https://devzone.nordicsemi.com/thread/270240?ContentTypeID=1</link><pubDate>Fri, 18 Sep 2020 07:44:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c85a1904-2b16-4030-baa1-61709206aac8</guid><dc:creator>Bjorn191023</dc:creator><description>&lt;p&gt;Hi Simon,&lt;/p&gt;
&lt;p&gt;I&amp;#39;m glad to explain if that helps you help me ;-)&lt;/p&gt;
&lt;p&gt;We have a number of sequential TX events, T_IFS apart, so very close to eachother. Envision a BIG, consisting of a number of BIS events, each in turn consisting of a number of sub-events. This shall co-exist with the nRF BLE stack in the SoftDevice. We want to minimze the number of lost TX events due to scheduling conflicts.&lt;/p&gt;
&lt;p&gt;There are three strategies to handle this with your timeslot mechanism (please let me know if there are more):&lt;/p&gt;
&lt;p&gt;1) One&amp;nbsp;long timeslot containing all events&lt;br /&gt;Pros: simple and full control over timing&lt;br /&gt;Cons: Sched conflicts more likely and all events lost in case of conflict&lt;/p&gt;
&lt;p&gt;2) An initial short timeslot that is extended for each TX event (what you propose)&lt;br /&gt;Pros:&amp;nbsp;&lt;span&gt;Sched conflicts less likely and not all events are lost in case of conflict&lt;br /&gt;Cons: In case of conflict all sub-sequent events are lost&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;3) One short timeslot per TX event (what I&amp;#39;m trying to do)&lt;br /&gt;Pros:&amp;nbsp;Sched conflicts less likely and not all events are lost in case of conflict. The advantage over 2 is that since each TX event has it&amp;#39;s own timeslot sub-sequent events can be scheduled even in case of a conflict. So in my mind, this approach gives maximum probability that I can schedule a TX event.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I attach the example project containing my scheduler setup. You find it ts_sample_b2b.c. It toggles all LEDs. By tuning the following constants you can make it work or fail.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;//#define HFCLK_CONFIG NRF_RADIO_HFCLK_CFG_NO_GUARANTEE
//#define TIMER_LENGTH_US (320)

#define HFCLK_CONFIG NRF_RADIO_HFCLK_CFG_XTAL_GUARANTEED
#define TIMER_LENGTH_US (200)
&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Hope this helps understanding my need. I&amp;#39;m awaiting your response.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;BR / Bj&amp;ouml;rn&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/2072.ble_5F00_app_5F00_beacon_5F00_ts.zip"&gt;devzone.nordicsemi.com/.../2072.ble_5F00_app_5F00_beacon_5F00_ts.zip&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How close can timeslots be scheduled?</title><link>https://devzone.nordicsemi.com/thread/270093?ContentTypeID=1</link><pubDate>Thu, 17 Sep 2020 12:37:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:26d46b23-1d65-4547-8535-25405b793ffc</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi Björn&lt;/p&gt;
&lt;p&gt;Would you mind explaining a bit more about your application? What would be the advantage in closing and opening a timeslot again and again over just extending one single timeslot when/if you need more time? Could you also explain how your scheduler is set up? I suggest taking a look at our &lt;a href="https://devzone.nordicsemi.com/nordic/short-range-guides/b/software-development-kit/posts/setting-up-the-timeslot-api"&gt;Timeslot API set-up guide here&lt;/a&gt; for some more details on timeslots and timeslot usage.&lt;/p&gt;
&lt;p&gt;As for the numbers between timeslots, I haven&amp;#39;t been able to track them down yet, but I&amp;#39;ll keep digging and come back to you when I find something.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>